星期六, 九月 01, 2007

微软新补丁解决 Vista 显存溢出问题

      "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位操作系统。

微软新补丁解决 Vista 显存溢出问题

      补丁下载地址:http://support.microsoft.com/kb/940105

没有评论: