csatblogspotdotcom

Sunday, May 11, 2008

读《3D Benchmarking - Understanding Frame Rate Scores》[1]

这篇文章主要介绍了一些3D benchmarking的基础知识,例如帧率,填充率等等。

平台对3D性能的影响

首先是平台对3D性能的影响。这里的平台指的是带有芯片组的主板,内存,处理器,PCI或AGP插槽等这些部件组成的整体。平台先对图像进行一些处理,再将计算过后的图像的顶点和纹理通过PCI或AGP传送给显卡。平台的速度越快,单位时间内传送给显卡的帧数据就越多,如果平台不够快,就会让显卡闲着,帧率降低。

对平台来说,各种图像分辨率都一样,原因很简单:平台把顶点传送给3D芯片,顶点之间的相对坐标并没有因为图像分辨率的改变而改变。此外,系统对色彩深度也不感冒,内存和总线带宽对这个确实有一定影响,但对当今大多数3D benchmark来说,这些因素是可以忽略不计的。

如果平台是系统的瓶颈的话,不同分辨率和不同色彩深度对3D benchmark的影响微乎其微。因为3D芯片始终等着平台传送过来的3D数据。在这种情况下一个更好更快的3D芯片并不能使帧率提高。

填充率带来的影响

接下来是填充率对整体性能造成的影响。填充率是指在单位时间内被渲染的像素数(帧率被定义为在单位时间内被显示的帧的数量)。对于同样的帧率,更高分辨率比较低分辨率需要更好的渲染性能。现在的3D芯片都有几个渲染管道,能同时并行的工作。一个渲染管道通常能在一个时钟周期内渲染一个像素。最大像素填充率=3D芯片时钟频率*渲染管道数*3D卡内的3D芯片数。

当平台性能足够好时,瓶颈转移到显卡上,这时帧率随着图像分辨率的提高而下降。

32位色彩的图像和16位色彩的图像对于系统来说几乎是一样的,因为对系统来说渲染32位色彩的图像和渲染16位色彩的图像几乎完全一样,一个像素渲染时间完全一样,所以只要瓶颈是在纯的帧填充率上,16位色和32位色的帧率是一样的。

内存带宽的巨大影响

在以前显存带宽并不存在问题,但进入新千年以来,显存带宽也成为一个瓶颈。显卡对显存带宽有很高要求。首先是在帧缓冲区,每处理一个像素,渲染单元都要访问帧缓冲区几次。接下来是Z缓冲区,它的访问极其频繁以至于Intel在其集成显卡i810中专门加入了显示高速缓存(display cache)。然后是纹理缓存,对每一个像素,它也要被访问多次。T&L-unit(T&L单元?)也要耗带宽,至少有一个小小的影响。最后是RAMDAC(随机存储器数模转换器),他读取前端帧缓存并把图像显示到屏幕上。更高分辨率和更高刷新率都会使RAMDAC更频繁的访问帧缓存。

显存是如此被频繁访问以至于随着分辨率提高或色彩深度提高,内存带宽对帧率的影响越来越大。

小结

在较低分辨率时,平台的性能是整个系统瓶颈,显卡一直在等待CPU传送过来的3D数据,而在高分辨率时,存储器带宽的限制使填充率不会很高。总之,要在高分辨率情况下得到高的帧率,要么就提高存储器带宽,要么减小对存储器带宽的依赖。

1. 3D Benchmarking - Understanding Frame Rate Scores. http://www.tomshardware.com/reviews/3d-benchmarking,205.html

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home