首页 > 解决方案 > 为什么总是重绘整个画布?

问题描述

我在这里浏览了一个演示基本 io 游戏的教程:https ://victorzhou.com/blog/build-an-io-game-part-1/并遇到了一个关于在每一帧渲染整个画布的问题。再搜索一下,建议在每一帧重新绘制整个画布。我试图理解为什么总是重绘整个画布而不是只更新我们感兴趣的形状/区域?有人可以指出什么是最好的方法,以及相同的优点和缺点。

另外,如果我们需要一些粒子,比如短动画,或者任何类型的随机动画(例如:fireworks.js),在特定区域,当我们渲染整个帧时如何实现呢?

谢谢。

标签: javascripthtmlhtml5-canvas

解决方案


严格来说,您可以在不清除画布的情况下“修补”画布,但在您的情况下,我不确定它是否是您想要的。

这是关于此事的一些很棒的文章https://www.html5rocks.com/en/tutorials/canvas/performance/https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/教程/Basic_animations


推荐阅读