Hasty Briefsbeta

双语

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稳定。
  • 经验教训:需掌握更高性能的框架和引擎以避免未来开发瓶颈。