PHP Флеш: Как часто и лучшие практики

голоса
23

Я только что закончил читать этот пост: https://developer.yahoo.com/performance/rules.html#flush и уже реализовал флеш после верхней части моей страницы нагрузок (голова, CSS, верхний баннер / поиск / СЧ) ,

Есть ли производительность удар в промывке? Есть ли такая вещь, как делать это слишком часто? Каковы лучшие практики?

Если я ударю внешний API для данных, будет ли смысл промывать перед рукой, так что пользователь не ждет на этих данных, чтобы вернуться, и может по крайней мере, получить некоторые данные, прежде чем руки?

Задан 09/12/2008 в 14:51
источник пользователем
На других языках...                            


4 ответов

голоса
19

Описанная методика выглядит красиво, но есть несколько подводных камней:

1) время между началом и концом сценария РНР мал по сравнению с временем передачи; Кроме того, это позволяет пользователю сэкономить около 0,5 секунд, в зависимости от источника. Это значительное количество времени для вас?

2) этот метод не работает с выходной буферизацией GZip

3) если вы смывать слишком часто, вы будете посылать почти пустой пакет на флеш, который фактически может увеличить время загрузки (на медленных, шумных соединений).

4) один раз промывать, вы не можете посылать дополнительные заголовки

5) (незначительный вопрос) ответ сервера придет в фрагментированной кодировке, что означает, что клиент не будет знать размер заранее (поэтому не будет отображаться «х% сделано» при загрузке файла).

С другой стороны, если вы ожидаете, что ваш сценарий для запуска для займет слишком много времени (20+ секунд), это может быть необходимо отправить некоторые данные (пробелы, например), чтобы браузер от времени на связь.

Ответил 09/12/2008 в 15:10
источник пользователем

голоса
5

Вниз сторона в том, что вы не можете GZIP содержание, а также смыв AFAIK, поэтому я всегда предпочитал GZIP, а не смыв.

Некоторые версии Microsoft Internet Explorer будет только начать, чтобы отобразить страницу после того, как они получили 256 байт вывода, поэтому вам может понадобиться отправить дополнительные пробелы перед промывкой, чтобы получить эти браузеры, чтобы отобразить страницу.

Это делает это не идея, как это кажется обивка больше данных не очень полезно.

Ответил 09/12/2008 в 14:58
источник пользователем

голоса
3

Я думаю, что вровень действительно прекрасный механизм настройки. Браузеры используют только около 8 потоков для загрузки контента (зависит от браузера). Если у вас есть 15 изображений, браузер начнет загрузку 8 изображений и ничего другого не будет загружать, пока один из них завершает, то он начнет загрузку следующего изображения и т.д. При промывке после заголовка, вы в основном говорите браузеру, что он может начать загрузку. К тому времени, остальная часть страницы доставляется (т.е. .5 секунд), браузер, возможно, уже закончили загрузку CSS и JavaScript файлов. Это высвободит скачать темы для другого контента.

Вы, вероятно, не хотите использовать флеш в любом другом месте, чем сразу после заголовка. Браузер обычно не будет оказывать незакрытые теги HTML, так доставки частичной страницы не будет отображаться вещами любыми быстрее. Более старые версии IE ничего не отображаются на всех, пока определенное количество данных не получено, или доставка страницы завершена.

Ответил 30/03/2010 в 14:11
источник пользователем

голоса
2

После точки Piskvor - если вы ждете 20s + ждать, вы можете быть лучше обеспечивая основную страницу (которая может быть сжат GZIP) и с помощью Ajax для обновления страницы, когда медленный процесс завершен. Вы начинаете нарушать основную полезность статического HTML, хотя.

Ответил 09/12/2008 в 15:17
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more