内容导航 写入 32-bit color+ 写入 32-bit Z =8bytes,或者总共16bytes
材质贴图和深度复杂性会使每个像素渲染所需要的带宽加倍。当前大部分游戏都使用了多重贴图(在每个像素上应用两层或者更多的纹理)以及双线性或者三线性过滤来达到丰富的图象细节和逼真度。纹理数据也是从同时放有像素颜色和Z缓冲区的内存中读取。为了了解纹理读取所需带宽的近似值,我们可以假设每个像素应用了两层纹理,同时还采用了三线性过滤。每个像素的每个纹理在三线性过滤时会使用8个纹理样本,每个样本都是32位(4字节)。显然,这意味着每个纹理一次会读取32个字节或者在假定每个像素有两个纹理的情况下每个像素一次会读取64个字节纹理数据。因为所有的GPU都会采用某种形式的高速纹理缓存,倘若高速缓存可以将必须从外部显示内存读取的纹理数据量平均减少一半(具体的情况相当复杂而且是随时变化的,不过这个假设基本上还是合理的),那么我们可以认为在双纹理和采用三线性过滤的情况下,每个像素进行渲染的时候都会从显示内存中读取平均32个字节的数据。
这样,最终我们可以计算出在1024 x 768 x32dpp显示模式下每一帧需要的数据传输量:
水平分辨率x垂直分辨率x(基本渲染数据读写+纹理数据读取)=1024pixel/line x 768lines/frame x (16bytes/pixel+32bytes/pixel)=38MB/帧。
如果帧刷新速度为60帧/秒(速度越快,画面越流畅),则内存带宽需求为38MB x 60=2.3GB/秒,请注意,这仅仅是像素渲染所需的带宽,这还不包括更高的分辨率、更高的刷新率和使用全屏反锯齿设置等的带宽消耗。
由此可见,内存带宽是决定图形性能和速度最重要的一个因素之一。要得到精细(高分辨率)、色彩逼真(32位真彩)、和流畅(高刷新速度)的3D画面,显卡制造商应当尽可能提高显存带宽,来解决显卡性能瓶颈。
看来,购买显卡,不仅仅是要看“多少位”,显存带宽不够,位数再高也不会发挥出显卡的性能来,更谈不上实用了。大家在选购之时,千万要注意显存带宽的问题,要在保证高性能的基础之上追求实用,这才是最重要的。