Вопрос: Почему мой процессор зарегистрировать ~ 30% когда размытие применяется против ~ 6%, когда нет размытости не применяется к анимированному объекту?GPU ускорение анимированных и размыто содержание
Деталь:
У меня есть набор случайно сгенерированные элементы на странице, которые имеют CSS анимацию, назначенную (в файле CSS) и случайным образом сгенерированных значения ширины, высоты, а главное, размытие, применяются в очереди.
стилей CSS файл выглядит следующим образом:
animation-name: rise;
animation-fill-mode: forwards;
animation-timing-function: linear;
animation-iteration-count: 1;
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
-webkit-transform: translate3d(0,0,0);
transform: translateZ(0);
ширина, высота и размытие применяется рядный с помощью style
атрибута.
<div class="foo" style="width:99px;height:99px;
filter:blur(2px);
-webkit-filter:blur(2px) opacity(0.918866247870028);
-moz-filter:blur(2px) opacity(0.918866247870028);
-o-filter:blur(2px) opacity(0.918866247870028);
-ms-filter:blur(2px) opacity(0.918866247870028);"></div>
С размытым включением использование моего процессора составляет ~ 30%. Когда я отключу размытие, загрузка процессора снижается до ~ 6%.
Что здесь происходит? Является ли хром только способным ускорять GPU, когда не применяется размытие? Если да, то почему?
Update 1:
анимация rise
выглядит следующим образом:
@keyframes rise {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-1000px);
}
}
Ненужные, но у вас есть опечатка в 'фильтр размытия (2) px' – Chris
Хорошее место Крис. Благодарю. –
Я удивлен. Я бы ожидал высокой загрузки процессора при использовании размытия и ** NOT ** аппаратного ускорения. Размытие - дорогостоящая операция. Вы проверили в инструментах dev с параметром 'show layer border' под' rendering', что он находится на графическом процессоре? –