我正在构建一个实时GI、水物理学、阴影、块生成等的 voxel 引擎。

性能已经到了生成新块会严重影响FPS的程度,但项目已经足够大,我onestly 并不知道从哪里开始寻找。

所以我修改了一个代码分析系统(正常用于bug & 漏洞检测/架构分析),并指向引擎来寻找优化机会。

我预计也许会有几项有用的建议。

然而它找到了一个堆积的让人尴尬的问题,它们正在压制性能。

经过几轮清洁后,引擎几乎能够跑2倍的速度。

令人惊讶的是,最大的胜利几乎与渲染架构无关。

很多都是:

  • 我可以使用更简单的数学的地方使用除法和向量数学
    -冗余工作
  • 坏的内存管理

我在这个视频中详细记录了整个过程:https://youtu.be/5mayFhgIpQY

感兴趣的是看看人们对这个话题的看法,是否值得进一步探索作为游戏开发工具。