Как стать автором
Обновить

EXT js Grid — проблемы с производительностью

Время на прочтение1 мин
Количество просмотров1.6K
Библиотека EXT js мне очень нравится. В первую очередь своей объектно-ориентированной структурой. Основные нарекания вызывает производительность.

Столкнулся с проблемой, которая заключается в том, что при создании GridEditor c большим количеством колонок (у меня 20 — бизнес требование) это все дело начинает жутко тормозить. При чем эти тормоза наблюдаются при загрузке страницы, т.е. при отрисовке грида.

Профайлинг подсказал, что много времени тратиться на функцию updateRule (CSS). Эта функция изменяет стили элементов с определенным классом. Вскрытие показало, что GridView создает пустые css классы для каждой колонки, а после изменяет стиль width для всех элементов, которые помечены созданными пустыми классами.

Workaround:

Я получил улучшение производительности, когда заменил стандартный метод GridView generateRules (который генерит пустые классы) так, чтобы он выдавал готовые классы с уже заданной шириной колонок, что позволило избежать изменений стилей элементов таблицы сразу после ее создания.

See groups.google.com/group/ru-extjs/files файл GridView.zip

Теги:
Хабы:
Всего голосов 8: ↑6 и ↓2+4
Комментарии3

Публикации