Как улучшить производительность в igGrid от Infragistics Ignite-UI? - PullRequest
0 голосов
/ 17 февраля 2019

Я начну с описания моей ситуации.

  1. Я использую нумерацию страниц.В самой сложной ситуации моя сетка имеет 100 строк и 120 столбцов.

  2. Я использую такие функции, как: сортировка, группировка, выборка строк, скрытие столбцов, перемещение столбцов, удаленный и локальный пейджинг, исправление столбцов (замораживание).

Я не имею влияния на эти требования - это требует бизнес, и я не могу его изменить.Проблема в том, что производительность не приемлема, мне нужно ее улучшить.На самом деле я не знаю, как мне этого добиться.

Производительность отрисованной сетки довольно хорошая, но время, необходимое для рендеринга сетки, абсолютно неприемлемо.

В Chrome это занимает около 40 секунд.визуализировать сетку.В Internet Explorer (который я должен поддерживать) рендеринг сетки длится около 2 минут.Это время для 100 строк и 120 столбцов с 4 фиксированными столбцами (я обнаружил, что исправление столбцов оказывает огромное влияние на производительность - без фиксирования рендеринга последние 19 секунд, с 4 фиксированными столбцами - 40 секунд в Chrome).Это время необходимо только для рендеринга сетки, когда вычисляется конфигурация - другими словами, это время от момента, когда я выполняю igGrid (config_object) с готовой функцией configuration_object, до момента, когда сетка рендерится.

У меня естьЧитайте о виртуализации сетки, но это немного помогает, потому что я не могу использовать виртуализацию столбцов с необходимыми функциями.Если честно, с этими ограничениями есть небольшая разница между сеткой и простой таблицей с виртуальными свитками.Добавление виртуализации строк немного помогает, но этого недостаточно, и из-за количества строк снижается производительность при использовании сетки - она ​​запаздывает при прокрутке.

Мои вопросы:

  • Как я могу улучшить эту производительность, возможно ли это вообще с помощью Igniete UI?

  • Сколько времени я могу достичь с помощью идеально оптимизированных конфигураций сетки с 100 строками, 120столбцы и прикладные функции, которые я перечислил?

  • Как уменьшить влияние функции исправления на производительность?

  • Также я узнал, что спри виртуализации строк в DOM создается около 70 строк, если на странице 100 строк.Может быть, есть способ уменьшить скорость, чтобы ускорить рендеринг?

  • Может быть, есть способ отобразить сетку, например, с 20 строками и 20 столбцами, сделать сетку пригодной для использования и визуализироватьотдохнуть потом?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

В последней версии IgniteUI for JavaScript - версия 18.2 с указанными настройками я не смог получить те же результаты при тестировании начальной загрузки.Вот jsFiddle с примененными настройками для вашей справки:

$("#grid").igGrid({...});

http://jsfiddle.net/ojpydtwm/

Начальное время рендеринга, которое я наблюдал, выглядит следующим образом:

  • В Chrome с изначально фиксированными столбцами - около 3,5 секунд
  • В Chrome без изначально фиксированных столбцов - около 2,5 секунд
  • В IE с изначально фиксированными столбцами - около 9,5 секунд
  • В IEбез изначально фиксированных столбцов - около 6 секунд
0 голосов
/ 18 февраля 2019

Увеличение производительности связано с отображением 120 столбцов.По умолчанию igGrid не виртуализируется по горизонтали, и даже если вы включите виртуализацию, она не совместима с некоторыми функциями, которые вы должны включить в своем требовании.Тем не менее, времена, которые вы получаете для Chrome, не такие, какими они должны быть, и я бы посоветовал обратиться в службу поддержки Infragistics.

Между тем в справке содержится эта статья , в которой приведены рекомендации по оптимальной производительности с igGrid.

.
...