CSS缩放变换使用CPU进行重绘

时间:2017-07-24 10:19:49

标签: javascript html css transform

我必须以非常快的速率(使用GPU)上下调整div,但除了Safari之外,所有浏览器都试图通过CPU重绘来“改善”视觉质量。但是我的任务非常缓慢,它甚至可以在非常便宜的Android手机上工作。

我做了一个样本:

div {
    position: absolute;
}
.scaled {
    transform: translateZ(0px) translate(0px, 30px) scale(10, 10);
    transform-origin: 0 0;
}

<div>FUUUU</div>
<div class="scaled">FUUUU</div>

Safari(正确,GPU):

Safari (correct, GPU)

Firefox(不正确,CPU):

Firefox (incorrect, CPU)

如何防止CPU重新绘制?

ADD:文本只是一个例子,它是相当复杂的div框,重绘速度很慢。

2 个答案:

答案 0 :(得分:0)

我真的不明白你的截图,但无论如何都会回答:

简单地说,你不能。只要您编写网页而不是互联网浏览器本身,就无法修改这种行为。

AFAIK,Mozilla Firefox也正在努力开始使用GPU进行此类流程,并将于2017年9月推出新引擎(Firefox 57)。我不知道Chrome / Chromium或其他人。

嗯,实际上还有另一个选择:获取代码并自行编写一个具有该功能的新互联网浏览器,Firefox和Chromium都是开源的。

答案 1 :(得分:0)

我终于意识到它不是在使用CPU,而是仅支持GPU,并且启用了硬件加速光栅化。