在上期的CBS探索与发现节目中,我们已经揭示了AMD和NVIDIA双方自统一构架出现以来所推出的每一代桌面硬件构架与API的关系。从中不难发现,单纯以硬件设计的角度出发,NVIDIA的每一代构架都更加符合微软在对应的API中所提出的要求。在适应的API环境下,NVIDIA的硬件执行效率应该更高才对。实际上在微软推出的每一代DirectX SDK的runtime测试中,NVIDIA确实在各种场合大幅领先竞争对手。
然而,当场合一旦转移到游戏领域,情况就变了。事实上除了个别情况之外,我们并没有看到NVIDIA在大多数游戏中取得DirectX SDK测试上的领先幅度,这究竟是为什么呢?遵循CBS之眼的原则,本期CBS探索与发现节目将继续为您展现其中的奥秘,带您领略现象背后的真实。
● 多边形,像素,纹理,流水线
要了解事情的真相,我们首先要带大家回顾一些最基本的东西,比如游戏画面和程序的构成。
作为最基本的要素,画面的构成其实很简单——覆盖在多边形表面的材质,以及构成材质颜色的像素。画面的形成过程要说复杂确实非常复杂,但如果以通俗的“人类语言”来解释其实也很简单——先用多边形搭好物体的“架子”,然后在上面蒙上一层作为“表皮”的纹理材质,最后用像素刷好颜色,mission accomplished。
没错,我们每天都能看到的经由无数人以千万甚至亿为单位记得美元编写出来的,运行在以亿甚至十亿为单位记得美元开发出来的硬件上的游戏过程,其实就这么简单。很多事情就是这样,过程表面上看起来复杂无比,但实际上本质却简单的要命。
这里的本质甚至还不止您想象的那样只是游戏图形生成的本质,这还是图形流水线工作过程的基本描述。那些滚滚美元流淌所汇合成的极为复杂的过程,本质上的工作顺序也是这样的。
OK,既然已经基本上了解了游戏渲染的基本过程,那就让我们深入到过程之中,一边进一步了解为什么NVIDIA比AMD的构架更贴近API需求,一边看看这些过程跟所谓的真实有什么联系吧。
顾杰所写过的其他相关文章:《谁是微软忠实随从 A/N统一构架历史回顾》
《曝你不知道的DX11 解析GPU通用计算妙用》