有关应用程序速度的最佳C ++编译器和Windows构建选项?

时间:2010-09-04 18:17:07

标签: c++ optimization compiler-construction

我正在为windows,mac和GNU制作游戏,我可以在已经使用MSVC和MingW的Windows上构建它......

但我没有找到有关编制者优化程度的好信息。

那么编译器和编译器上的选项,我可以使用什么来使我的Windows版本快速发展?

目前,分析人员正在显示一些令人担忧的结果,例如CPU时间的大部分,例如浪费在进行简单的浮点数学运算,以及在lua垃圾收集器上。

编辑:我也在做其他的事情......我特意问这个问题关于编译器,因为问题应该是一回事,而不是几回事:)

此外,任何小的速度提升都很好,特别是在VSync打开的情况下,每秒1帧的速度下降到60 FPS足以使游戏以30 FPS的速度运行以保持同步。

2 个答案:

答案 0 :(得分:3)

首先,不要指望编译器优化会产生巨大的差异。您很少能够在编译器之间预期超过15或可能 20%的差异(只要您不尝试将所有优化与一个优化完全比较,并且完全禁用优化的那个优化)。

那就是说,最好的(特别是F.P.数学)往往是英特尔的。这几乎是其他人试图匹配的标准(通常,事实上,这个尝试失败了)。获得最佳性能的确切选项各不相同 - 如果有一组始终最佳,它们可能不会包含其他可能性。

但是,我强调,要获得真正重大的差异,您可能需要重写一些代码,而不仅仅是重新编译。

答案 1 :(得分:1)

虽然说编译器无法提供足够的帮助,但您可能需要考虑定点运算。我已经看到了固定点,在FP数学上对X86和POWERPC进行了合理的改进。幸运的是,我可以在这个主题上找到SO discussion