performance - HTML5 Canvas 性能 : Loading Images vs Drawing

标签 performance html canvas

我正计划使用 javascript/canvas 编写游戏,我只有一个问题:关于加载图像与仅使用 canvas 的方法绘图相比,我应该考虑什么样的性能考虑因素。因为我的游戏将使用非常简单的几何图形(圆形、正方形、直线),所以这两种方法都易于使用。我还计划在游戏中实现一个简单的粒子引擎,所以我希望能够在不影响性能的情况下绘制很多小物体。

想法?

最佳答案

如果您正在绘制带有实心填充的简单形状,那么程序化绘制它们是最适合您的方法。

如果您要使用笔触、渐变填充和其他对性能敏感的化妆品绘制更详细的实体,您最好使用图像 Sprite 。程序生成图形并不总是高效的。

两者兼而有之。当您的应用程序启动时,在 Canvas 上按程序绘制图形实体一次。之后,您可以通过绘制它们的副本来重复使用相同的 Sprite ,而不是重复生成相同的阴影、渐变和笔触。

如果您选择绘制 Sprite ,您应该阅读一些 tips and optimization techniques on this thread .

我个人的建议是只画形状。我了解到,如果您打算改用图像,那么您使用得越多,速度就越慢,并且您最终需要进行离屏渲染的可能性就越大。

关于performance - HTML5 Canvas 性能 : Loading Images vs Drawing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488441/

相关文章:

MySQL:很多表还是很多数据库?

performance - Spring Cloud 微服务内存使用情况

javascript - 为什么硬件加速 CSS 动画在主线程中花费了太多 "composite layer"次?

html - 为什么 HTML5 表单验证允许没有点的电子邮件?

javascript - 如何在 html 5 Canvas 上旋转单个对象?

python - Pandas performance : loc vs using . head(x) in first x rows using Sorted Data

php - 如何选中/取消选中单个单选按钮

html - bootstrap 4 和 input-group-prepend 全宽输入

javascript - 有没有办法使用 Canvas 或其他方法在 HTML 中制作圆形图像?

javascript - 将 HTML5 Canvas (视频)元素分割成多个部分