【发布时间】:2016-01-01 11:22:57
【问题描述】:
有什么方法可以在 css 动画中获得平滑的 60fps,尤其是当您为某些元素宽度设置动画时?
我尝试了 3 种方法,仅使用 css transform: scale() 获得了 60fps,但这种方法不是很有用,因为所有子元素都使用父容器进行拉伸。我为子元素添加了 scale(0.5) 并且取消了拉伸,但是我遇到了绝对定位元素的一些问题。
当我使用简单的宽度动画时,在大着陆页中,我得到了每秒 60 到 17 帧的回撤。
随着当前 div 的 flex-graw 变化,fps 为 3-4。
Here is a simple example with low fps:https://jsfiddle.net/ucgwfetq/14/
在每个块中包含大量元素的大型着陆页中,fps 要低得多。
【问题讨论】:
-
FPS 也取决于硬件,如果它下降不是因为您的尝试失败而是因为硬件拒绝处理它
-
你如何测量 fps?
-
@MrLister 与 Chrome fps 计数器。
-
尝试使用更多控制选项的 javascript 动画库。我怀疑你的战斗内部 css 优化。尝试关闭硬件加速。
-
@Vince 在 Firefox 中检查了你的小提琴,第四代 corei7 并获得了 57.63 的平均 FPS
标签: javascript html css css-animations