如果单从容量上看,4GB内存无疑是很多玩家都渴望得到的梦幻搭配,不少游戏发烧友也深信4GB内存能够进一步提高配置的游戏性能。然而很多已经购买了4GB内存的硬件玩家在实际使用中却遭遇到了一个非常尴尬的问题,那就是明明安装了4条1GB内存或者2条2GB内存,为什么在操作系统中能够使用的内存却只有3.7G甚至3GB?最初不少玩家都认为是内存和主板不兼容或存在质量问题,可是经过三番五次更换硬件后,内存容量“缩水”的情况丝毫没有得到改变,这究竟是什么原因呢?
其实问题的根源并非内存和主板的硬件原因,而是这些用户在使用4GB内存之前没有充分了解使用4GB内存所需要的软硬件支持,更没有对自己的配置进行认真评估,只是盲目地认为使用4GB内存能够带来更好的系统性能和游戏性能。事实上,尽管目前很多主板和主流操作系统都宣称能够支持4GB内存,但使用起来却远不如大家想象的那样简单。那么,究竟哪些主板和操作系统能够支持4GB内存?与2GB内存相比,4GB内存对于提高配置的游戏性能是否有帮助?在接下来的文章中,笔者将为大家详细回答这些问题。
导致4GB内存缩水的硬件原因
简单说来,造成4GB内存缩水的原因主要可以归结为硬件和软件两种,其中硬件原因指的就是主板。在很多人的印象中,主板能够支持多大容量的内存是由主板上的内存槽数量决定的,这样的想法虽然有一定的逻辑但并不正确。事实上,真正决定主板支持内存容量大小的因素是芯片组可支配地址空间大小。这里所说的地址空间就是系统中所有存储器的编码范围,这里面既包括有内存编码,也包括了主板BIOS、显卡BIOS、显存以及其他PCI设备的存储器编码。
以i945P主板为例,i945P芯片组只有32位地址总线,因此它对应的地址空间为4GB。表面上看似乎能够支持4GB容纳量的内存。但从下表中我们可以看到,芯片组支持的4GB地址空间中,有1MB分配给了DOS兼容存储区,1MB-2GB分配给了内存,而2GB-4GB的地址空间则优先分配给了PCI/PCI-E设备和BIOS、闪存区域,而这一区域也被Intel称作MMIO(存储器映射)区域。那么,内存容量缩水与地址空间、MMIO区域又有什么联系吗?
在i945P芯片组4GB的地址空间中,DOS兼容存储区占用的空间较小,对内存容量不会造成大的影响,但MMIO区域由于占用了大量的地址空间,势必会影响实际内存的使用――当用户使用3GB以下容量的内存时,内存地址与MMIO区域基本不会发生重叠,不会影响内存的正常使用;但用户使用4GB内存时,势必会与MMIO区域重叠,而此时系统会优先将空间分配给MMIO区域,那么重叠部分的内存将无法被系统正确识别,进而造成内存容量丢失。
说得再简单一点,假设芯片组的地址空间是一个4L的水缸,而内存、DOS兼容存储区和MMIO区域则是一定体积的水。只有当水的体积小于或等于4L时,这些水才能够被完全容纳在水缸中,一旦水的体积之和超过了4L的容积,那么溢出部分自然不能被利用。由于i945系列以及以前推出的Intel平台芯片组仅支持4GB地址空间,因此这些芯片组都不能顺利支持4GB内存。而在Intel平台上,nForce 550及以前推出的芯片组同样有类似的问题,不能解除4GB地址空间的限制。
经过以上介绍,相信大家已经基本了解了造成4GB内存缩水的硬件原因,那么,目前有哪些芯片组是能够顺利支持4GB内存的呢?在Intel平台上,Intel 965/975以及新推出的3系列芯片组都具有36位地址总线,地址空间达到了64GB,最大可支持8GB容量内存。而在AMD平台上,nForce 570/590以上级别的芯片组同样支持64GB地址空间和最大8GB内存。需要注意的是,虽然从规格上看这些芯片组似乎能够顺利支持4GB内存,但事实上在默认情况下,芯片组仍然不能解决MMIO区域占用系统内存的问题。这就需要借助到高端服务器领域的Memory Remapping(内存重映射)技术。
比如当用户在965P主板上使用4GB内存时,位于4GB地址以下的MMIO区域仍然会占用部分内存空间,此时4GB的内存容量无法得到充分利用。通过内存重映射技术,我们可以将MMIO区域重新影射到4GB地址以上的空间,此时4GB以下地址将完全留给内存使用,保证所有内存都能够被系统正确识别。那么,我们应该如何开启内存重映射技术呢?一般说来,基于Intel 965/975、nForce 570/590及以上级别芯片组的主板在BIOS中都提供了类似“Memory Remapping Feature”这样的选项,大家只需设置为“Enable”即可启用此项功能。
导致4GB内存缩水的软件原因
除了芯片组方面的原因外,不同版本的操作系统对内存容量的支持也不尽相同,这就是我们所提到的造成4GB内存缩水的软件原因。从下表中我们可以看到,虽然Windows XP系统号称最大可支持4GB容量的内存,但实际上即使在主板打开内存重映射技术的前提下,Windows XP系统仍然不能完全识别4GB容量的内存。毕竟Windows XP只是面向普通用户的操作系统,对服务器领域的内存重映射技术支持并不完善。只有当用户使用类似Windows Server 2003这类面向高端服务器平台的32位系统由或者64位的Windows XP/vista系统时,4GB内存的限制才会被完全解除。
经过前面的分析,相信大家对于4GB内存在实际使用中容量缩水的原因以及使用4GB内存时需要注意的问题已经有了初步的了解。看到这里,也许有网友会提出这样的观点:“虽然使用4GB内存需要大费周折,但如果能够明显提升配置的游戏性能,再麻烦我也认了。”那么,4GB内存在实际使用中相对于是否能够有效提升配置的游戏性能呢?下面笔者在结合评测数据和自己的使用体验为大家进行简要的对比分析。
以大家非常熟悉的《战地2》单机64人地图为例。当系统使用1GB内存时,游戏载入较为缓慢,进入游戏后较长一段时间内画面帧数不连续,游戏运行过程中有较为明显的停顿感。将系统内存升级至2GB以后,游戏载入时间明显缩短,进入游戏后仅有很短暂的时候会出现帧数不连贯的现象,游戏过程中始终能够保持较为流畅的速度。而在降系统内存容量增加至4GB后,此时在Windows XP系统中能够识别的内存容量只有3.25GB。运行同样的《战地2》单机64人地图,系统载入时间与2GB内存基本相当,进入游戏后同样有短暂的不连续感,游戏帧数与使用2GB内存时没有明显差别。随后笔者又以《*飞车10》作为测试对象,结果与《战地2》基本一致。
通过对上述现象进行分析我们可以清楚地看到,当内存容量从1GB升级至2GB时,系统的游戏性能得到了明显提升,载入时间和游戏速度都得到了很大的改善。不过在将内存容量增加至4GB以后,系统的游戏性能与2GB内存时基本持平。换句话说,使用4GB内存对于提升游戏性能的帮助微乎其微。事实上,从使用2GB内存时《战地2》画面仍然略有停顿感来看,笔者认为2GB内存或许无法对游戏提供完美的支持,但由于在Windows XP等32位操作系统中,单个程序可调用的内存只有2GB左右,所以4GB内存在游戏并没有被充分利用。
实际测试表明,只有在高端商用或专业设计等经常涉及多程序同时运行的复杂环境中,4GB内存在容量上的优势才能得到较好的发挥;而在运行单一程序时(包括游戏和其他应用程序),受32位操作系统的制约,4GB内存的性能表现与2GB内存基本处于同一水平。要解决单一程序访问内存容量的限制,用户只能选择更高级的32位或64操作系统。不过由于目前支持Windows 2003 Server以及64位操作系统的游戏少之又少,因此这种解决方案对游戏玩家来说显然是无法接受的。
综合以上分析,我们可以得出以下结论:由于Intel i945系列、NVIDIA nForce 550及以前推出的芯片组产品无法解决4GB地址空间的限制,因此正在使用这主板的用户使用4GB内存必然会造成部分内存容量无法被操作系统识别,损失的容量大约在256MB甚至1GB之间。另外,从软件来看,虽然目前主流的32位Windows XP/Vista系统从理论上能够支持4GB内存,但实际上他们仍然不能对4GB内存提供完美的支持,这同样会造成部分内存容量的“丢失”。因此,就目前的应用环境来看,还不是使用4GB内存的最佳时机。
另一方面,虽然我们可以通过使用新主板、更换操作系统等一系列手段让系统支持4GB内存,但主流游戏对大容量内存的利用也远不如我们想象的那样充分。在实际使用当中,1GB容量内存已经能够很好地满足大部分主流游戏的运行需要;即使是对《战地2》、《*飞车10》这类场景较大、模型较多的大型3D游戏而言,它们对内存的实际使用容量也只是在2GB左右。换句话说,就目前和未来一段时间的应用来看,2GB内存已经能够胜任各种游戏的实际需要。与超过2GB的内存容量相比,处理器、显卡的性能以及显存容量、显存带宽等因素才是影响游戏性能的瓶颈所在。
当然,实际测试表明4GB内存对于提高系统在复杂应用环境特中的性能还有一定帮助的。但大家在选择4GB内存之前必须要做好相应的心理准备:一、在现有的32位Windows XP/Vista系统中,4GB内存不可避会存在一些兼容性问题或者出现内存容量丢失的情况;二、与2GB内存相比,4GB内存对游戏的影响微乎其微。因此笔者认为,在64位操作系统及配套应用程序全面普及以前,4GB内存仅适用于商业用户和专业设计用户,对于游戏玩家和普通用户而言没有太大意义。
编辑总结:总而言之,从游戏应用的角度来看,如果大家希望通过升级内存容量来改善游戏体验,那么可以在现有512MB或1GB内存的基础上将内存容量扩展至2GB或3GB,这样既能够最大限度满足游戏对内存容量的需要,同时也没有造成内存容量和资金的浪费。而对于需要使用4GB内存的用户来说言,大家一定要首先确保自己的主板所采用的芯片组和操作系统是否支持4GB以上地址空间、BIOS是否支持内存重映射技术,从而解决4GB内存限制的问题。