单页上的HTML5多个画布

Nit*_*esh 40 html html5 canvas

如果我们<canvas>在单个html页面上使用多个,是否会妨碍正在开发的应用程序的性能,并且代码是否变得非常笨重并且需要更多时间来加载页面?

Sim*_*ris 44

有时,多个画布会带来更好的性能.最好测试你是否能负担得起时间.

假设您正在制作一个程序,其中包含屏幕上的项目并允许用户绘制选择框.

使用一个画布,要绘制选择框,您必须反复重绘所有元素以更新用户看到的选择框,因为它们都在同一个画布上.

或者,您可以拥有两个画布,一个包含对象,另一个在前面用于"工具"(如选择框图形).这两幅画布可能更有效.

其他时候,您可能希望背景变化很少,前景对象会一直变化.您可以制作背景画布和前景画布,而不是以每秒60帧的速度重新绘制所有画布,并且只能以快速重绘前景的对象.这里有两个画布应该比一个画布效率更高,但将背景画布"缓存"为图像并在每帧首先绘制图像可能更为理想.

  • 在极大的画布上,简单地重绘简单的背景和前景场景(或将它们保存到图像)可能比拥有3个以上的大画布更好. (3认同)

Bra*_*ace 5

我在同一页面上使用了几十个画布,使用javascript图形库显示不同的图形.这些图表非常快,它们收集的数据在我们的情况下有点慢.

如果你想要,你可以等待完成所有绘图,直到页面的其余部分加载,方法是从onLoad函数中取出它.