【发布时间】:2017-05-23 01:21:56
【问题描述】:
据我了解,您的动画需要 60fps 才能使动画看起来流畅。基本上我要做的是在帧开始时进行繁重的计算,所以到渲染实际发生时,已经没有太多工作要做了。
我知道您可以在重绘屏幕之前使用 window.requestAnimationFrame 来运行一个函数。但是,如果该功能需要很长时间,那将导致抽搐效果。有没有办法在屏幕重绘后立即运行函数?
我尝试过这样的事情,但它失败了:
window.requestAnimationFrame(do_before);
do_before(){
window.setTimeout(do_after, 1);
}
do_after(){
//code to execute after animation frame
}
正如您在下图中看到的那样,do_after 代码仍在同一帧中执行,因此我有时会出现长帧:
有没有办法让 do_after() 在屏幕完成绘制后运行?
提前致谢
【问题讨论】:
标签: javascript html css google-chrome animation