为什么没有更多的游戏是64位可执行文件?[关闭]


10

到目前为止,尽管目前将近50%的Windows用户使用64位操作系统,但我仍然看到许多游戏仍采用32位体系结构编译?为什么是这样?

如果原因是要吸引更多的受众(因为32位应用程序可以在64位上运行),为什么不制作两个版本,因为它或多或少地涉及重新编译,而运行64位应用程序则可能会带来更多性能提升。可用的CPU寄存器和其他功能。


魔兽世界刚刚开始交付64位可执行文件,我相信Source游戏(至少是Valves)具有64位版本。这样看来,人们正在追赶潮流。
凯尔2012年

Answers:


13

这个MSDN博客介绍了为什么没有64位Visual Studio版本,解决了许多也会影响游戏的问题。其要点是,在许多情况下,由于对处理器缓存的影响(使用64位的数据更多,但缓存大小相同),转到64位实际上可能会损害性能。

额外的可寻址内存可能会有所帮助,但是很少有消费类计算机具有超过4 gigs的内存。再加上为Windows分发两个二进制文件的痛苦,很容易就可以确定该时间不适用于64位游戏(尚未)。


5
我认为您的第二段在2年前是正确的,但今天不是。
Bart van Heukelom

5

在我之前的工作中,我们将整个引擎(MMO)移植到64位,并最终在开发管道的一部分位置运行了64位客户端以预处理数据。但是,我们绝不会将64位客户端交付给最终用户。

首先,性能提升很小,无论如何,大多数PC游戏最终都会受到GPU的限制。

其次,极少的最终用户具有足够的内存来利用64位可执行文件,并且甚至对于控制台模糊设计的任何引擎(记住最大为512mb)也不会针对大的可用内存进行优化。

最后,在分发管道中有2个可执行文件是一个巨大的难题。您不能只发布64位可执行文件,因为这样有30%的观众无法运行它。因此,您必须同时提供64位和32位可执行文件,以及运行正确包装的某种包装。如果您是在线游戏,则意味着每次更改任何代码时都要打补丁一个额外的兆字节文件,以及确保将正确的版本提供给正确的玩家的额外复杂性。为次要利益付出努力是不值得的。


2

如果仅仅是重新编译的问题,我们将拥有所有游戏的64位版本。

不幸的是,这并不是那么容易,特别是对于具有较旧代码库的游戏引擎而言。

在这种情况下,移植到64位将花费很多精力。简而言之,目前的优势还不足以使之值得。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.