Chrome开发工具框架时间轴中的大"空闲"栏

end*_*mic 12 javascript performance canvas google-chrome-devtools requestanimationframe

我正在绘制一些形状(弧形,线条等)requestAnimationFrame.没有什么太花哨,但我注意到一些偶尔的动画片.我在Chrome开发工具中使用时间轴检查器进行了分析,并且每帧看到大量的空闲时间,其中一些将FPS降至60以下(见截图).是否有已知原因或解决方案?

有很多空闲时间的帧

end*_*mic 5

在画布上绘制形状显然在计算上很昂贵,并且必须属于“未由 DevTools 检测的活动”。我通过首先将形状绘制到屏幕外画布缓存,然后使用drawImage复制回主画布来解决我的性能问题。