HTML5 RequestAnimationFrame是在CPU还是GPU上运行?

时间:2017-05-01 16:43:32

标签: html5 gpu cpu requestanimationframe

这个答案不容易找到。我在HTML5中搜索了RequestAnimationFrame上的许多权威文档,似乎从未指定它在GPU中运行。有时会推断出GPU,但引用似乎是推论。

所以我认为RequestAnimationFrame是CPU,只是从未明确说明。

有没有人在CPU或GPU上找到明确的分类?

我想如果它是GPU,它将无处不在。感谢。

1 个答案:

答案 0 :(得分:6)

严格来说,它总是在CPU上运行,就像所有JavaScript一样。但它不是" CPU vs GPU"对动画很重要的区别。

重要的是你在回调中开始的操作类型是否会加速GPU加速。这与启动它们的方式无关,因此对于GPU加速requestAnimationFrame根本不会改变任何内容。如果浏览器能够GPU加速操作,则会(例如,如果您为opacitytransform制作动画)。如果它不能(例如,如果您为widthheight制作动画),则表示不会。

不过,最好使用requestAnimationFrame而不是setTimeout / setInterval,因为它允许浏览器选择最佳的回调时间和频率(例如节省电池电量)减慢隐形标签中的动画速度。)