虽然搜索了一段时间,我不能找到任何明确的答案,有什么好处编译64位程序超过32位。我在SO上发现了许多关于如何为32位或64位编译的问题,以及关于64位版本的opengl的一些问题,但它们没有解决为什么的基本问题。
从我发现,很难使用64位的MinGW编译器,因为似乎没有QT的官方发布,目前我使用32位的MinGW来制作一个3d opengl应用程序,主要集中在大集合顶点的速度上(使用VBO来处理它)。我想我会在windows版本上切换到visual studio,可能在其他平台上使用64位的非官方版本。
由于我还没有找到一个编译后的32位版本不能工作的操作系统,但由于我的应用程序的目标部署主要是在研究环境中的高端计算机上,我很高兴发布64位版本。
如果代码相同,对于使用Qt 5和OpenGL的应用程序,将编译器从32位切换到64位是否有明显的优势?
您需要确保您的依赖库是为64位编译的,但在此之后,优势主要是诸如访问更多RAM(单个进程中4+gig)和可能更快的数据访问时间(由于更大的字长)。第二个问题在很大程度上取决于您的数据访问模式和预测缓存的帮助程度,因此很难知道它是否有很大帮助。对于大多数随机访问模式,它无法以可测量的方式提供帮助,并且通常被您对数据所做的所抵消。
对于OpenGL,这不会有太大的区别。