GWT и IE8 вызывают очень медленное поведение таблиц - PullRequest
1 голос
/ 20 сентября 2010

У меня есть еще один вопрос. Я работаю с GWT 2.0.4 и IE8, а также FireFox (последний только для сравнения). Мое приложение должно загрузить данные и показать их в таблице. Есть около 60 столбцов и 150 строк для показа.

Так как загрузка динамическая - как только набор данных был выбран, он добавляется в таблицу - я в порядке с замедлениями во время процесса загрузки. Однако: когда таблица полностью загружена, я ожидаю, что она будет довольно быстрой и позволю мне прокручивать ее без особых задержек.

Хотя загруженная таблица реагирует в FireFox довольно хорошо - она ​​остается очень отзывчивой - Internet Explorer 8 вызывает у меня много головной боли. В частности: как только таблица завершит загрузку, и я попытаюсь прокрутить или выделить строку, IE8 становится ОЧЕНЬ запаздывающим, а выделение строки заставляет IE8 потреблять 50 +% мощности ЦП.

Я не использую сторонние библиотеки и даже отображение пустых ячеек в FlexTable по-прежнему вызывает ту же проблему.

Здесь я обнаружил, вероятно, связанную с этим проблему: SmartGWT ListGrid работает медленно, но только в Internet Explorer . К сожалению, ни проблема, ни предоставленные ссылки для SmartGWT не решили мою проблему, так как я не использую SmartGWT. Я верю, однако, что проблема связана.

Я был бы рад попробовать любые предложения.

Ответы [ 2 ]

1 голос
/ 20 сентября 2010

Если это возможно (и ваше описание проблемы предполагает это), используйте Grid вместо:

прямоугольная сетка, которая может содержать текст, HTML или дочерний виджет в его клетки. Размер должен быть изменен явно на желаемое количество строки и столбцы.

Взгляните на средства визуализации больших таблиц @ Инкубатор GWT для сравнения этих подходов (оно немного устарело, но точка, в которой FlexTable медленнее, чем Grid все еще держит;)). Таблицы «массового рендеринга» из инкубатора также являются опцией, однако имейте в виду, что эти виджеты могут больше не поддерживаться (и, например, содержать ошибки) - или быстро поддерживаются: D Но просмотр источника может по крайней мере Направьте вас в правильном направлении, если вы хотите найти собственное решение этой проблемы.

0 голосов
/ 20 сентября 2010

выделение строки приводит к тому, что IE8 потребляет 50 +% мощности ЦП.

Возможно, это связано с тем, что вы добавили прослушиватели мыши в каждую строку таблицы.Если это так, вы можете использовать :hover -pseudo-class в ваших css-файлах.

Эта статья может быть полезна, если вам нужно обрабатывать события из группы виджетов в вашей таблице: http://code.google.com/intl/en/webtoolkit/doc/latest/FAQ_UI.html#As_the_application_grows,_event_handlers_seem_to_fire_more_slowl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...