首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不关闭硬件加速的情况下优化CSS3动画会让它在图形处理器上运行得更快吗?

在不关闭硬件加速的情况下优化CSS3动画会让它在图形处理器上运行得更快吗?
EN

Stack Overflow用户
提问于 2012-07-27 22:55:16
回答 1查看 475关注 0票数 1

这听起来像是一个奇怪的问题--但请耐心听我说。

我写了一个基于setTimeout的基准测试(类似于stats.js) -其想法是有一些东西来比较动画在不同条件下的表现(比如添加不同的CSS3属性)。举个简单的例子,我会设置一些旋转和长方体阴影的动画,然后我会在第二次运行中移除旋转,在第三次运行中移除长方体阴影。之后,我会有3个基准数字来比较每个动画的表现。

只要动画不是GPU加速的(原因很明显,即硬件加速会将动画从页面的单进程结构中移除),这种方法就能很好地工作。

但这也给我带来了一个百万美元的问题--如果我优化了一些东西,在没有GPU加速的情况下运行得更好,这是否意味着相同的优化动画在打开GPU加速的情况下会运行得更好(或者更快,或者使用更少的内存)?或者适用不同的规则?

让我给你举一个更简单的例子。在几乎任何动画中,CSS3长方体阴影都会降低性能。在更简单的情况下,您可以通过用光栅化的(PNG?)替换CSS3框阴影来增强性能。类似阴影的图像。然而,使用GPU-on的好处对于肉眼来说并不明显,因为这两个动画的运行速度几乎一样快(因为再次-我无法跟踪GPU-on的性能变化)。那么,同样的规则也适用于GPU-on和-off吗?

我最初的想法是--一旦某些东西被优化了--不管是GPU-on还是-off,它都能运行得更好。但就像我在下面的评论中提到的(如果我理解错了,请纠正我),但是硬件加速的元素在GPU上被缓存为预先渲染的光栅纹理。如果这是真的,那么为什么我的阴影是CSS3长方体阴影还是基于图像的PNG阴影会有什么不同?我的意思是,这两个元素都会在GPU-on上变成一个光栅化的纹理,对吧?所以我的优化不会在GPU-on上更有意义?(除非在内存使用上再次有不同之处...)

EN

回答 1

Stack Overflow用户

发布于 2012-07-27 23:04:53

是的,完全正确。看看here,了解一下GPU加速能做什么,不会影响什么。但是一般的想法是,是的,它将保留你的大部分优化。现在,在相对意义上,在GPU卸载后,给定的优化会对性能产生多大的影响。这是一个很难回答的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11690344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档