Какие точные части CSS3 ускоряются?

Я читал несколько ссылок, таких как "X - ускоренный GPU", а "Y не GPU ускоряется", но я не могу найти полный список. Какие точные части CSS3 ускорены GPU?

Ответ 1

Правильно, это интересная тема, и она действительно зависит от браузера + видеокарты. Я хотел бы некоторое время исследовать это, поэтому здесь краткое описание.

Webkit (Safari, Chrome, iOS, Android)

В Webkit AnimationBase.cpp используется, чтобы указать его, но, похоже, он переместился! Doh! Ну, в любом случае, если вы выполните поиск кода ACCELERATED_COMPOSITING, вы найдете его.

В частности, если что-то соответствует одному из них, то его можно ускорить (по крайней мере, в Chromium):

  • Слой имеет свойства CSS или 3D-преобразования перспективы.
  • Слой используется элементом с использованием ускоренного декодирования видео
  • Слой используется элементом с трехмерным контекстом или ускоренным 2D-контекстом.
  • Слой используется для композитного плагина
  • Layer использует анимацию CSS для своей непрозрачности или использует анимированное преобразование webkit
  • Слой использует ускоренные фильтры CSS
  • У слоя есть потомок, который является слоем компоновки
  • У слоя есть брат с более низким z-индексом, который имеет слой композиции (другими словами, слой отображается поверх композитного слоя).

Источник


Gecko (Firefox)

В Gecko https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration объясняет их план/реализацию, как и IE, на XP параметры более ограничены, но каждая другая ОС получает некоторое ускорение, если графическая карта поддерживается должным образом. Firefox 4 (я думаю!) Добавил ускорение для текста, холста и преобразований.


Trident (IE)

В IE10, похоже, почти все, что HW ускорилось. http://blogs.msdn.com/b/ie/archive/2011/04/26/understanding-differences-in-hardware-acceleration-through-paintball.aspx

Это довольно быстро, поэтому я не сомневаюсь в их претензии!

Ответ 2

Нет спецификации CSS3, которая обсуждает что-либо о ускорении GPU. Вместо этого каждый производитель браузера или компания, которая реализует браузер на определенном оборудовании, может решить, в каких частях CSS3 они будут использовать GPU. И это может легко измениться с одного устройства на другое.

Например, примерно год назад (у меня больше нет текущей информации), 3D-преобразования были ускорены GPU на iPhone3, но не 2d-преобразования. Но я бы ожидал, что эта информация может быть совершенно иной для iPhone3 или iPhone4 или будущего iPhone5.