Аппаратное ускорение Webkit вливается в другие элементы на странице? - PullRequest
1 голос
/ 30 марта 2011

У меня есть страница, которая состоит из нескольких <article> элементов подряд. Внизу элемента <article> находится маленький <div>, использующий трехмерное CSS-преобразование. Странная вещь в том, что, хотя в исходном <article> не включено аппаратное ускорение, этот маленький <div> вызывает остальное в <article> элементах также аппаратное ускорение (я использую описанный здесь метод: http://mir.aculo.us/2011/02/08/visualizing-webkits-hardware-acceleration/),, хотя это нужно только маленькому <div>.

Когда я скрываю первый <div>, аппаратное ускорение отключается для последующего <article>.

<article> <-- Does not have HW acceleration
[other divs and content]
<div></div> <-- Has HW acceleration
</article>

<article> <-- Has HW acceleration
[other divs and content]
<div></div>
</article>

<article> <-- Has HW acceleration
[other divs and content]
<div></div>
</article>

становится

<article> <-- Does not have HW acceleration
[other divs and content]
<div style="display:none"></div>
</article>

<article> <-- Does not have HW acceleration
[other divs and content]
<div></div> <-- Has HW acceleration
</article>

<article> <-- Has HW acceleration
[other divs and content]
<div></div>
</article>

Поскольку весь тег <article> получает аппаратное ускорение, субпиксельное сглаживание отключено, и весь текст в <article> является зернистым.

Есть ли что-то простое, что может помешать последующим элементам <article> получить аппаратное ускорение?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Ну, я ответил на свой вопрос. Это ошибка в Webkit (которая была исправлена ​​в ночных еженедельниках Webkit), когда элемент с аппаратным ускорением будет запускать аппаратное ускорение в последующих элементах, которые имеют position:relative;.

Чтобы исправить это, вы можете удалить position:relative; или использовать -webkit-font-smoothing:antialiased;

Я написал небольшую статью об этом на моем сайте: http://singy.posterous.com/hardware-acceleration-bleeding-into-subsequen

0 голосов
/ 30 марта 2011

Я думаю, что это сделано для предотвращения включения / выключения ускорения HW по всей странице.Он включен "вовремя" и затем включен.На мой взгляд, это не то, с чем вам следует связываться (или надо связываться).Поставщик браузера может что-то изменить или обновить (или правильно документировать).

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

...