Почему моему веб-сайту нужно так много времени для рендеринга? - PullRequest
1 голос
/ 15 апреля 2009

При кэшировании моей стартовой странице требуется загрузить только один элемент («корневой документ»), но затем потребуется некоторое время, пока он полностью не будет отрисован:

альтернативный текст http://www.walkner.biz/_temp/firebug_net.png

Следующие элементы загружаются асинхронно через JavaScript.

Два вопроса:

  1. Почему загрузка корневого документа занимает так много времени до события DomContentLoaded?
  2. Имеет ли смысл загружать некоторые не столь важные вещи асинхронно? Важно ли иметь событие DmoContentLoaded как можно раньше? К сожалению, документации об этом событии немного, но я не думаю, что это тот момент, когда страница отображается, не так ли?

1 Ответ

2 голосов
/ 15 апреля 2009

Я не уверен, что YSlow поможет ему, так как он загрузит все элементы для страницы и запустит на них тесты производительности, в то время как проблема swalkner заключается в том, сколько времени требуется для рендеринга самой HTML-страницы, когда все другие элементы (изображения) , CSS и т. Д.) Кэшируются.

По крайней мере, я так думаю, что он говорит.

В исходном вопросе вы сказали: «Следующие элементы загружаются асинхронно через JavaScript». но потом ничего не перечислил. Что загружается?

Я бы предложил сначала проверить наличие ошибок Javascript. Затем попробуйте удалить некоторые из ваших асинхронных вызовов загрузки по одному, пока не достигнете узкого места. Фактически, удалите их все, сколько времени занимает загруженный HTML, чтобы сделать? Возьми это время и работай оттуда.

Ваш HTML-документ очень большой? Использует ли он много встроенных стилей, которые могут быть в файле CSS?

Возможно, если вы разместите ссылку на сайт, люди будут смотреть на нее.

...