Самый быстрый? ClientBundle против простых изображений URL - PullRequest
1 голос
/ 20 июня 2011

Сейчас большое приложение, над которым я работаю, загружает все маленькие изображения отдельно и обычно по требованию.Около 1000 изображений размером от 20 байт до 40 кбайт.Я пытаюсь выяснить, будут ли какие-либо улучшения производительности клиента с помощью ClientBundle для самых маленьких из них.Сейчас я ставлю проблему «много соединений с высокой задержкой» для стороны и просто сконцентрируюсь на производительности javascript / css / browser.Некоторые изображения используются непосредственно в CSS.Есть ли какие-либо улучшения в производительности, если они "спрайтируют" их, а не используют как обычно?Некоторые изображения создаются как новые изображения (URL).Лучше оставить их таким образом, переместить их в CSS и динамически применять стили или загружать из ClientBundle?Некоторые действия приводят к появлению setURL на изображении.Я видел, что тот же код можно сделать с помощью ClientBundle, и он, вероятно, установит dataURI для этого изображения.Будет ли повышение производительности или это будет быстрее?

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

1 Ответ

1 голос
/ 21 июня 2011

Короткий ответ не совсем (для FF, Chrome, Safari, Opera), НО иногда для IE (<9) !!! </p>

Давайте посмотрим, что делает клиентский пакет

Клиентский пакет упаковывает каждое изображение в один ... пакет ... так что все, что вам нужно, - это одно http-соединение, чтобы получить их все ... и для этого потребуется только один поиск свежести при следующей загрузке приложения. (а не n раз, n это число ваших крошечных изображений ... действительно расточительно.)

Итак, очевидно, что клиентский пакет значительно сокращает время загрузки ваших приложений.

Производительность во время выполнения

Возможно, в некоторых случаях одно конкретное изображение не загружается или теряется через Интернет. Если вы сделаете 1000 подключений, вероятность того, что что-то пойдет не так, увеличится (хотя и будет немного). FF, Chrome, Safari, Opera просто поместите изображение не найденного логотипа и перейдите к бегу. IE <9, однако, будет продолжать пытаться получить эти конкретные изображения, используя одно соединение из двух, что разрешено. Это действительно влияет на производительность в IE. </p>

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

Jai

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