cancelAnimationFrame是否清除排队动画逻辑?不同调用时机效果答疑
关于
cancelAnimationFrame的执行逻辑疑问 请问cancelAnimationFrame是否会完全移除所有已排队的动画逻辑?
举例说明:
- 假设动画逻辑复杂,屏幕帧率为60FPS,每帧完成全部逻辑耗时50ms,这远高于维持60FPS所需的最低耗时16.66667ms。
- 若总共有60帧,每帧耗时50ms,动画逻辑队列会出现堆积,对吗?
- 正常情况下,60FPS下60帧的动画总时长应为1秒,对吗?
- 但在上述动画逻辑下,总耗时将达到3秒。
场景假设:
- 假设在t0时刻启动动画,待动画执行至t1.5时刻时调用
cancelAnimationFrame函数,动画会立即停止,还是会继续执行至3秒完成全部动画? - 如果在t0.5时刻调用
cancelAnimationFrame函数呢?动画会立即停止,还是会继续执行至1.5秒完成半程动画?
后续补充(供未来读者参考):是的,
cancelAnimationFrame调用后确实会立即停止动画,上述两个假设场景的答案都是肯定的。
内容的提问来源于stack exchange,提问作者xtyy
相关产品推荐
相关产品推荐

