决战性能之巅!NV双芯旗舰GTX590评测
从多重材质到T&L,从Shader programe到Unified Shader,在DirectX的影响下,图形API走向了光栅化过程,实时演算图像效果得以完善,有效的平衡了图形运算和虚拟现实的两者之间供需矛盾。
5.2 号称实现“一切图形特效”的DX9C
现在来看决定整个DirectX发展命运的转折点有两个,一个是DirectX 7中T&L的引入,一个是DirectX 8中shader的引入。T&L的引入第一次将显卡从一个单纯的打印机变成了有主动操作功能的图形处理器,而shader的引入则将运算能力这个无限可能的大门放置在了显卡面前,透过运算能力,人们终于可以比较准确并且实时的操作纹理上像素的色彩,虽然这些色彩离真实还相去甚远,但在当时已经是达到了桌面图形效果的极限。不过这两个划时代的API都无法与DirectX 9.0C进行比较,因为直到DirectX 9.0C,光栅化的众多特效才得以最终实现。
但是这样就完美了么?不是的。每次DirectX从应用程序那里接收到一条命令,它就需要先对这条命令进行分析和处理,再向图形硬件发送相对应的硬件命令。由于这个分析和处理的过程是在CPU上完成的,这就意味着每一条3D绘图命令都会带来CPU的负载。这种负载给3D图象带来两个负面影响:限制了画面中可以同时绘制的物体数量;限制了可以在一个场景中使用的独立的特效的数量。这就使得游戏画面中的细节数量受到了很大的限制。而使图像具有真实感的重要因素,偏偏是细节量。
虽然DX9C号称可以显然仅仅能够实现所有特效是远远不够的,随着图形技术和硬件规格的快速发展,看似完美的DX9C很多矛盾逐渐显露,程序员开始抱怨拮据的资源和不兼容的接口,更为让人无法接受的是,更高阶的特效实现往往需要成千上万行的代码,很多实例已经趋于无法完成的危险边缘。