-1
A
回答
2
第一步是分析您的游戏。你可以在这里找到一个很好的教程:http://nicolahibbert.com/optimising-html5-canvas-games/和一些关于HTML游戏优化的必备规则。
2
尽管您的问题并不十分具体,但我通过使用多个相互重叠的画布对我的画布应用/游戏进行了改进。
这样,您可以避免对画布的未更改部分进行不必要的重绘。
假设你的游戏中有20名玩家。如果其中一个移动,您应该只更新它的图层(它是自己的画布),而不是更新整个图片。
这是许多画布库使用的技术,包括kinetick.js,它确实提高了您的应用程序的速度。
此外,您应该将您的游戏循环与浏览器的重绘事件同步:使用request animation frame而不是普通的“setinterval
”。
0
有很多事情可以做,以优化您的游戏。通常情况下,只是很多小小的改进都可以改变。
有些事情需要注意的
使用多个画布(前面已经提到)
垃圾收集:JS的垃圾收集真的可以让你的游戏震荡。这本身就是一个主题,但您可以做的一件事就是尽可能限制对象的创建并重新使用您的对象。
例
// This...
test = [];
// ...Is better than this
test = new array()
- 循环:您可以通过使用反向加速你的循环而循环,就像这样:
EG
var i = nodes.length();
while (i--) {
// ...do stuff...
}
对象嵌套:如果可能的话,不要嵌套超过3级的对象。它需要JS一段时间来找到它们。
绘制:DrawImage是昂贵的。谨慎使用。
相关问题
- 1. 如何加快我的游戏fps?
- 2. 如何更快地测试libGDX游戏?
- 3. 如何加快HTML5游戏
- 4. 让我的游戏承认游戏中心?
- 5. 将游戏实现为快速游戏
- 6. 如何从我的游戏
- 7. 如何让我的对象在我的游戏中更平滑地旋转?
- 8. 让游戏出现在游戏列表
- 9. 快速触摸崩溃我的游戏
- 10. 我应该如何让我的游戏以exe格式工作?
- 11. 游戏Screeps - 快照
- 12. 如何让exe如蒸汽游戏?
- 13. 让我的游戏可以修改
- 14. 如何加快sandbox lwjgl游戏?
- 15. 如何让我的python集成更快?
- 16. Python。如何让我的代码更快?
- 17. 如何让我的Python脚本更快?
- 18. 如何加快我的Java游戏的FPS?
- 19. 的JavaScript,试图让我的游戏更OOPey,把它弄坏了
- 20. 如何让游戏中真实的自然照片更真实?
- 21. 如何让谷歌玩游戏可选?
- 22. 如何让love2d游戏兼容
- 23. 如何让房间游戏逃生
- 24. 设置sktexture为零将帮助我的游戏更快?
- 25. 如何保存游戏数据为我的iOS的Cocos2D游戏?
- 26. 如何让我的JavaScript滑块更快速响应(更快)?
- 27. 更改游戏中的游戏控制
- 28. 更新到iOS 8让我的SpriteKit游戏超级慢
- 29. 如何让我的Cocod2d游戏具有通用性?
- 30. 如何让对象重置我的游戏?
虽然我认为这可能是一个非常有趣的讨论,你可能将不得不提供有关您如何使用画布上,并在您的瓶颈是为了在这里得到答案的具体问题。你使用任何库或只是HTML5和Javascript? – kbelder
每秒钟帧数取决于游戏结构并取决于正在播放的计算机 –