HTML5 在单个页面上显示多个 Canvas

标签 html canvas

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

最佳答案

有时多个 Canvas 会带来更好的性能。最好测试一下您是否有时间。

假设您正在编写一个程序,该程序在屏幕上显示项目并允许用户绘制选择框。

使用一张 Canvas ,要绘制选择框,您必须一遍又一遍地重绘所有元素,以更新用户看到的选择框,因为它们都在同一 Canvas 上。

或者,您可以有两个 Canvas ,一个带有对象,然后另一个在前面用于诸如“工具”之类的东西(例如选择框图形)。这里两个 Canvas 可能会更有效。

其他时候,您可能希望背景很​​少变化,而前景对象始终变化。您无需以每秒 60 帧的速度重绘所有对象,而是制作背景 Canvas 和前景 Canvas ,并且仅以较快的速度重绘前景对象。这里两个 Canvas 应该比一个 Canvas 更有效,但将背景 Canvas “缓存”为图像并在每帧首先绘制图像可能更优化。

关于HTML5 在单个页面上显示多个 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8945505/

相关文章:

javascript - 应用显示 :none in mobile/tablet view in html/css

javascript - 在 fabric js 中删除突出显示的蓝色矩形以供选择

javascript - 函数内的函数?

c# - AvaloniaUI - 如何直接在 Canvas 上绘制

html - 如何在水平子导航中居中元素

javascript - 如何通过 AJAX 调用插入 IE 8 中的 "enable"HTML5 元素?

python - 如何解决网站上的 html5_webcam 问题?

javascript - 如何在网络上创建可移动菜单或链接..?

javascript - 在 Leaflet v0.8-dev 之上添加蒙版叠加层

javascript - 为什么 HTML Canvas getImageData() 不返回刚刚设置的完全相同的值?