"Out of Memory"的提示经常会让我们回忆起DOS时代640KB内存的限制,不过这并不完全是DOS的专利,Windows Vista系统用户在玩一些新游戏时也会遇到这种提示。追究硬件原因则是因为在Windows平台上应用程序2G寻址范围的限制,另外Vista系统对显卡虚拟显存的处理方法也存在疏漏。
微软近期针对此问题发布了一个hotfix补丁,虽然仍处于测试阶段,但据媒体测试确实已经解决了"Out of Memory"错误。由于此补丁仍处于测试期,所以并不会出现在Windows Update中,是否会被包含于Vita SP1中目前亦未可知。
Windows显示驱动模式(WDDM)是Windows Vista系统所带来的新特性之一,WDDM可以通过显卡支持实现一些特别的桌面效果,比如说玻璃效果。WDDM对Vista系统带来的另外一大好处是支持虚拟化显存管理,因为WDDM的介入,其它应用程序可以无须担心显卡的显存是否够用,能否存下程序和游戏所需要的纹理贴图或者其它一些信息。
不过和Windows下的程序一样,虚拟化显存管理程序一样受到2GB寻址的制约,当应用程序和显存管理程序发生冲突时,就有可能用完2GB寻址空间。微软发布的补丁程序试图减轻这一问题的影响,当某个应用程序对显存特别需求时,通过建立一个虚拟的显存空间来解决上述的冲突问题。微软把这个流程称为"lockable",打过补丁之后,只有lockable的程序才能建立一块虚拟的显存空间。
AnandTech网站的测试显示这一补丁确实显著的降低内存对游戏的影响,通过一块768MB GeForce 8800 GTX的实测证明,每款游戏的内存占用量大概在400MB左右。不过,即使是打过补丁之后,Vista系统下的游戏平均内存占用率也比同硬件情况下的XP系统多出180MB。通过补丁程序可以让大多数游戏处于2GB的安全线以下,不过仍有游戏例如《Supreme Commander》达到了1580MB内存空间占用,我们不知道新一代的游戏是否会再次突破这一限制,导致问题重新出现,除非人们都使用上64位操作系统。
标签: