What Caused Performance Issues in My Tiny RPG
6 months ago
- #performance optimization
- #game development
- #web technologies
- 使用网页技术开发的小型RPG游戏在打包为桌面应用后,相比Firefox浏览器运行时出现了性能问题。
- 通过KAPLAY Discord服务器、Substack和Hacker News等渠道收集的广泛用户反馈帮助定位了问题根源。
- 游戏最初使用NW.js和GemShell打包,选择GemShell是因它能快速生成跨平台可执行文件。
- 尽管KAPLAY在性能上不如Phaser或Excalibur等替代方案,但因其原型开发便捷性仍被采用。
- 问题1:KAPLAY设置最高FPS导致机器无法维持目标帧率时游戏卡顿,通过取消帧率限制解决。
- 问题2:Mac上性能较差源于Webkit相较Chromium的局限性,GemShell开发者可能提供修复方案。
- 问题3:Firefox性能优于Chrome和Safari,主因是低效文本渲染和缺乏对象池技术。
- 优化措施包括:在绘制循环直接渲染文本、批量处理绘制调用、为投射物实现对象池。
- 当前游戏在Chrome上运行流畅,Safari表现改善但仍不如Firefox稳定。
- 经验教训:需掌握更高性能的框架和引擎以避免未来开发瓶颈。