Стоит ли беспокоиться о производительности CSS-рендеринга? Или мы просто не будем беспокоиться об эффективности вообще с помощью CSS и просто сосредоточимся на написании элегантного или поддерживаемого CSS?
Этот вопрос предназначен для того, чтобы быть полезным ресурсом для разработчиков интерфейсов, на которых части CSS могут существенно влиять на производительность устройства и на какие устройства/браузеры или механизмы могут быть затронуты. Это не вопрос о том, как писать элегантный или поддерживаемый CSS, это чисто о производительности (хотя, надеюсь, написанное здесь может содержать более общие статьи о лучшей практике).
Существующие доказательства
Google и Mozilla написали рекомендации по написанию эффективных CSS и набор правил CSSLint включает в себя:
Избегайте селекторов, которые выглядят как регулярные выражения.. не используйте сложные операторы равенства, чтобы избежать штрафов за производительность
но ни один из них не дает каких-либо доказательств (которые я мог найти) о влиянии, которое они имеют.
A статья css-tricks.com об эффективном CSS утверждает (после изложения передовой практики эффективности), что мы должны not .. sacrifice semantics or maintainability for efficient CSS
эти дни.
A совершенство убивает сообщение в блоге, предположил, что border-radius
и box-shadow
оказываются на порядок медленнее, чем более простые правила CSS. Это было очень важно в Opera, но в Webkit было незначительным. Кроме того, smashing magazine CSS benchmark обнаружил, что время рендеринга для правил отображения CSS3 было незначительным и значительно быстрее, чем рендеринг эквивалентного эффекта с использованием изображений.
Знай свой мобильный протестировавший различные мобильные браузеры и обнаружил, что все они отображали CSS3 одинаково незначительно быстро (в 12 мс), но похоже, что они сделали тесты на ПК, поэтому мы ничего не можем сказать о том, как ручные устройства работают с CSS3 в целом.
Здесь many статьи в Интернете о том, как писать эффективный CSS. Тем не менее, мне еще предстоит найти исчерпывающее доказательство того, что плохо рассматриваемый CSS фактически оказывает значительное влияние на время рендеринга или привязанность сайта.
Фон
Я предложил щедрость для этого вопроса, чтобы попытаться использовать силу сообщества SO для создания полезного хорошо исследованного ресурса.