我正在为 Windows、Mac 和 GNU 制作游戏,我可以使用 MSVC 和 MingW 在 Windows 上构建它...
但是我没有找到有关编译器优化程度的良好信息。
那么我可以使用什么编译器以及该编译器上的选项来使我的 Windows 版本速度极快?
目前,分析器显示了一些令人担忧的结果,例如大部分 CPU 时间被浪费在简单的浮点数学上,以及浪费在 lua 垃圾收集器上。
编辑:我也在做其他事情......我专门问这个关于编译器的问题,因为这个问题应该是一件事,而不是几件事:)
此外,任何微小的速度改进都是好的,特别是在打开垂直同步的情况下,60 FPS 时每秒下降 1 帧足以使游戏以 30 FPS 运行以保持同步。
首先,不要指望编译器优化会产生巨大的差异。您很少会期望编译器之间的差异超过 15% 或可能20%(只要您不尝试将所有优化都打开的编译器与完全禁用优化的另一个编译器进行比较)。
也就是说,最好的(尤其是 F.P. 数学)往往是英特尔的。这几乎是其他人(充其量)试图达到的标准(而且通常,说实话,这种尝试会失败)。获得最佳性能的确切选项各不相同——如果有一组始终是最佳的,它们可能不会包括其他可能性。
但是,我要强调的是,为了获得真正实质性的差异,您可能需要重写一些代码,而不仅仅是重新编译。