По быстродействию(к опытным)
Пишите плиз только если уверены больше чем на 90% ))
Ситуация: сайт на фреймсете, что само по себе скорость загрузки и обработки грохает. Пишу под него букмарклет, который полностью переписывает структуру до xhtml-strict(на ифреймы). Чтобы избежать вопроса "зачем", допустим, что для будущего переписывания самого сайта =) После переформатирования в целом скорость повышается, но: на сайте встроен чат, который своими средствами чистится только вручную и полностью, а без присмотра через час браузер начинает дико тормозить на каждое обновление чата. Задумка: закинуть фрейм в див(дисплей: ноун или хидден), а из него уже выковыривать 5-10 последних записей. Вопрос(теперь ясны причины, надеюсь): больше ресурсов ест рендеринг ифрейма, либо же само сложение строк большого объема? Ну и вообще попутно, съедает ли больше отображение объекта либо операции с ним? Проверять просто так на себе влом, большой объем кода получится. |
Просто не показывайте сообщения, которые не видно на экране. Чтобы было понятно, о чем я, пример из Ext'а http://extjs.com/deploy/dev/examples/grid/buffer.html . Строки тут показываются, только после прокрутки к ним скрола. Причем неотрендеренные строки не просто спрятаны, а отсутствуют в дереве.
|
Спс большое, толькое такое дело - все, что накопилось в чате, должна быть возможность посмотреть, а при обновлении с сервера доставляются только последние 5-10 сообщений, т.е. в теле документа весь "лог" должен быть. Собственно, почему я и спросил: если хранится будет все, а отображаться только последние(или как в эксте), это на скорость обновления положительно повлияет?
UPD: Доступа к коду чата у меня нет, поэтому оперирую чем могу. При обновлении последние сообщения добавляются к имеющемуся тексту, т.е. примерно через час получается сложение строки в несколько килобайт со строкой в пару сотен байт. |
Пусть они просто хранятся в памяти, а рендерить только когда нужно показать. Чем сложнее DOM-дерево, тем больше тормоза с его рендером.
|
Ок, спасибо =)
|
Часовой пояс GMT +3, время: 16:40. |