Я читал несколько ссылок, таких как "X - ускоренный GPU", а "Y не GPU ускоряется", но я не могу найти полный список. Какие точные части CSS3 ускорены GPU?
Какие точные части CSS3 ускоряются?
Ответ 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.