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

Jac*_*one 2 cpu html5 gpu requestanimationframe

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

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

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

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

Kor*_*nel 7

严格来说,它总是在CPU上运行,就像所有JavaScript一样.但它不是"CPU与GPU"区别对于动画而言至关重要的部分.

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

不过,这是更好地使用requestAnimationFramesetTimeout/ setInterval,因为它可以让浏览器选择最佳的时间和回调的频率(例如在无形的标签放缓动画节省电池).