[显存容量的意义]
显存担负着系统与显卡之间数据交换以及显示芯片运算3D图形时的数据缓存,因此显存容量理论上决定了显示芯片能处理的数据量。
小知识:
我们先来算一下我们在平时应用时所需要的显存容量,当在进行2D应用时,显存容量=水平分辨率×垂直分辨率×颜色位数/8bit,比如在1024×768×32的显示模式下,那么需要的显存容量=1024x768x32bit/8bit=3145728 byte=3.072MB,这只是2D应用时,如果是使用3D应用时,那么需要的显存容量=水平分辨率×垂直分辨率×颜色位数×3/8bit= 1024x768x32bitx3/8bit=9437184byte=9.216MB,当然,这些都这是应用时的最低需求,因此还必须有一定的显存容量来专门存放纹理数据或Z-Buffer数据,否则当显存容量被显示资源完全占用时,系统会自动调用内存作为纹理显存使用,而在速度上内存是无法和显存相比的了,这样的二次调用自然会导致显示性能下降。
从上面的计算式看来,就算在1600×1200×32的显示模式下使用三维绘图比如3D Studio Max,它所需的显存也仅为1600×1200×32bit/8bit×3=23040000byte=22.5MB而已。但是现在的主流显存容量已经是128MB,256MB的显卡在市场也并不少见,我们从前面的式子可以知道理论上32MB的显存容量都绰绰有余了,那为什么显卡的显存容量还在不停的成倍增长呢?我们用得着这么大的显存容量吗?多出来的是浪费吗?
其实不尽然,现在的一些主流3D游戏,材质数据、顶点数据和其他数据所需的显存容量都已经越来越大了,像一些最新的游戏如DOOM III等,所需的材质数据十分惊人,被称为“显卡杀手”。
并且在显卡的同质化越来越严重的今天,显卡厂商急需寻找一些新的卖点,而在其他规格已经无法再做什么大文章的时候,显存容量也就成了厂商大肆宣传的目标,64MB已经过时,128MB凑合使用,256MB才够时髦!于是在一些中低端卡上出现了高端卡都未必会使用的256MB大容量显存。所以目前显卡的发展趋势,使得显存容量的地位开始水涨船高,每种核心的显卡可供选择的显存容量也就多了。那么面对市面上从64MB到256MB这么多可供选择的显存容量,我们究竟需要买多大的显存容量呢?
[显存容量的测试]
我们现在就使用了三块显存容量分别为64MB、128MB和256MB的FX 5600XT来进行测试,看看究竟显存容量会对显卡性能有多大的影响。
首先来看看DirectX 8上的比较:显存容量为128MB的显卡性能比64MB的有了一些提升,并随着分辨率的提高幅度也增大,但就算是1600*1200*32的分辨率,性能提升也才只有6%。而令人吃惊的是,显存容量为256MB的比128MB的显卡性能不仅没有增长,反而有了些许下降!就算是提高分辨率也依然如此。
你可能会说3DMark2001 SE太老了,对现在的显卡的运算和材质负担不够大,那么我们来看看3DMark03,而说到运算复杂度和材质大小,3DMark03的第四项游戏测试Mother Nature无疑是最要求显卡性能的项目了。
同前面的测试一样,128MB显存容量的显卡性能仍然比64MB显存容量的性能有了提高,并且提高的幅度比3DMark2001 SE的测试高了一些,随着分辨率的提升幅度也随之增大。但256MB显存容量的显卡在标准的1024*768*32模式下性能依然比不上128MB的显卡,增大分辨率后才与128MB的显卡持平。
在开启4X全屏抗锯齿后,256MB的显卡终于有了第一次领先,但也只是在把分辨率提高到1600*1200*32时。全屏抗锯齿的开启也使得128MB对64MB的显卡性能优势增大,而随着分辨率的提高,更是把64MB的显卡“虐待”得不成样,在1280*1024*32时已经只有128MB显卡的一半帧数,提升到1600*1200*32的分辨率时干脆就“崩溃”了,弹出一个“显存溢出”的错误对话框,根本无法运行3DMark03。
64MB的5600XT在1600*1200*32下开启4X全屏抗锯齿出现错误对话框