Сколько еще эффективный одно большое изображение, а не много маленьких изображений. Стиль Facebook

Если каждый слой стека просто повторно бросает тот же тип с той же информацией, не добавляя ничто нового, то это абсолютно абсурдно.

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

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

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

38
задан genesis 30 September 2011 в 23:07
поделиться

11 ответов

Это так называемые CSS-спрайты, и да, они более эффективны - пользователю нужно загрузить только один файл, что уменьшает количество HTTP-запросов для загрузки страницы. См. на этой странице для получения дополнительной информации.

39
ответ дан 27 November 2019 в 03:17
поделиться

Теория, лежащая в основе этого, объясняется здесь: http://css-tricks.com/css-sprites/ , также посмотрите здесь , поскольку он подчеркивает, зачем вам действительно нужно одно большое изображение. Еще скажу, что вся статья интересная :)

20
ответ дан 27 November 2019 в 03:17
поделиться

Проблема с точки зрения производительности состоит в том, что она всегда, кажется, представляет «Почему» (производительность), часто без «Как», и никогда не «Почему нет».

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

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

Тем не менее, влияние на производительность огромно , особенно когда вы используете ролловеры и хотите чтобы избежать этого эффекта при наведении курсора мыши на изображение, браузер уходит, чтобы запросить наведение. Уместно преобразовать ваши изображения в карту спрайтов, как только ваши требования будут удовлетворены - особенно, если ваш сайт будет иметь большой трафик (и, конечно же, большие примеры, которые люди вытаскивают - facebook, amazon, yahoo - все подходят для этого профиля

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

Если возможно, используйте инструмент и задокументируйте его использование, чтобы тот, кто должен был поддерживать ваши спрайты знает об этом. http://csssprites.org/ - единственный инструмент, который я изучил подробно, но http://spriteme.org/ выглядит действительно потрясающе.

19
ответ дан 27 November 2019 в 03:17
поделиться

Поскольку другие пользователи уже ответили на этот вопрос, вот как это сделать , а другой способ здесь.

4
ответ дан 27 November 2019 в 03:17
поделиться

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

2
ответ дан 27 November 2019 в 03:17
поделиться

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

1
ответ дан 27 November 2019 в 03:17
поделиться

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

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

0
ответ дан 27 November 2019 в 03:17
поделиться

Css Sprites tecnique - это метод уменьшения количества запросов изображений с использованием положения фона. Лучшие практики для ускорения вашего веб-сайта

CSS-спрайты: поцелуй смерти нарезки изображений

0
ответ дан 27 November 2019 в 03:17
поделиться

Google также делает это - я написал об этом сообщение в блоге здесь: http: // www. stevefenton.co.uk/Content/Blog/Date/200905/Blog/Google-Uses-Image-Sprites/

, но суть в том, что вы делаете один HTTP-запрос для одного большого изображения, а не 20 маленьких http запросов.

Если вы смотрите HTTP-запрос, они тратят больше времени на ожидание начала загрузки, чем на фактическую загрузку, поэтому гораздо быстрее сделать это одним обращением - короче, а не болтать!

0
ответ дан 27 November 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: