При работе с 10 000–20 000 задач, в зависимости от вашей конфигурации и используемых плагинов, вы можете заметить задержки при отрисовке Gantt на странице.
Вот несколько подходов для решения этой проблемы:
Related sample: Performance tweaks
Умная отрисовка значительно ускоряет отображение данных при работе с большими наборами данных. В этом режиме отрисовываются только те задачи и связи, которые видимы на экране.
Начиная с версии v6.2, умная отрисовка включена по умолчанию в основном файле dhtmlxgantt.js, поэтому подключать файл dhtmlxgantt_smart_rendering.js больше не требуется.
Если вы подключите старый файл dhtmlxgantt_smart_rendering.js, он перезапишет улучшения новой встроенной расширяемой smart_rendering.
Чтобы отключить умную отрисовку, установите параметр конфигурации в false:
gantt.config.smart_rendering = false;
Related sample: Working with 30000 tasks
Обычный процесс умной отрисовки проверяет, находится ли элемент Gantt в видимой области, и решает, отображать его или нет.
Однако умная отрисовка для кастомных слоёв по умолчанию поддерживает только вертикальную умную отрисовку. Это значит, что кастомные слои отрисовываются, когда строка задачи видима, но точная горизонтальная позиция кастомного элемента не вычисляется, поэтому вся строка задачи считается его позицией.
Подробнее о включении горизонтальной умной отрисовки для кастомных слоёв см. в статье addTaskLayer.
Эта функция доступна только в PRO-версии
Если ваш проект использует большой диапазон дат и вы используете версию Gantt до v6.3, вы можете включить опцию static_background вместе с умной отрисовкой, чтобы использовать фоновое изображение для области временной шкалы вместо отрисовки реальных линий.
gantt.config.static_background = true;
Для версий Gantt v6.3 и выше эта опция в основном помогает уменьшить размер запросов, отправляемых на сервер экспорта при экспорте данных.
К началу