从CPU架构和技术的演变看GPU未来发展
掐指一算,从GPU诞生至今双方都已推出了十代产品,每一代产品之间的对决都令无数玩家心动不已,而其中最精彩的战役往往在微软DirectX API版本更新时出现,几乎可以说是微软DirectX左右着GPU的发展,而历代DirectX版本更新时的核心内容,恰恰包含在了ShaderModel当中:
ShaderModel 1.0 → DirectX 8.0
ShaderModel 2.0 → DirectX 9.0b
ShaderModel 3.0 → DirectX 9.0c
ShaderModel 4.0 → DirectX 10
ShaderModel 5.0 → DirectX 11
Shader(译为渲染或着色)是一段能够针对3D对象进行操作、并被GPU所执行的程序,ShaderModel的含义就是“优化渲染引擎模式”,我们可以把它理解成是GPU的渲染指令集。
高版本的ShaderModel是一个包括了所有低版本特性的超集,对一些指令集加以扩充改进的同时,还加入了一些新的技术。可以说,GPU的ShaderModel指令集与CPU的MMX、SSE等扩展指令集十分相似。
随着ShaderModel指令集的扩充与改进,GPU的处理资源和计算精度与日俱增,于是就有能力渲染出更加精美的图像,并且不至于造成性能的大幅下降。就拿最近几个版本来讲,新指令集并没有带来太多新的特效,但却凭借优秀的算法提升了性能,是否支持DX10.1(ShaderModel 4.1)可能游戏画面上没有差别,但速度就很明显了。
此外,DX11中的关键技术DirectCompute通用计算技术就是通过调用ShaderModel 5.0中的新指令集来提高GPU的运算效率,很多基于DirectCompute技术的图形后处理渲染特效也都要用到SM5.0指令集来提高性能。