编/蓝色
据不完全统计,微软大型免费“公测”系统Windows 10的装机量目前已经达到3亿台,市场份额则达到14.5%,成为全球使用人数第二多的操作系统,距离10亿台的目标指日可待。毫无疑问,已经有越来越多的游戏玩家转向Windows 10系统,其中缘由不言而喻,毕竟微软新一代图形API——DirectX 12(以下简称DX12)是Windows 10专属的,那么想玩新游戏,体验最精彩的3D特效,非Windows 10莫属。
Windows 10巨大的装机量也推动了DX12游戏的蓬勃发展,今年以来已经有越来越多的游戏支持DX12,或者是在游戏正 去年最惊艳的DX12 Demo《Witch》中人物角色式发售后通过补丁升级了对DX12的支持,想要找一款DX12的游戏仔细体验一番已不再是件难事。不过,对于D X12带来的诸多变化以及AMD、NVIDIA和Intel对DX12的支持情况,很多读者还是一头雾水,那么,D X12里到底都有什么新东西?支持DX12的游戏又有哪些呢?
有关D X12带来的技术革新,我们在去年已经做过一次全面解析,着重介绍了DirectX 12到底带来了什么,在本文中,虽然我们还聚焦于DX12,但与上次的侧重点有所不同,DX12的一些技术介绍、功能等级之前已经说过了,这次我们的着眼点则是AMD、NVIDIA和Intel最新显卡对DX12的支持情况以及它们之间的主要区别,另外,我们还会提及一些已上市或者即将上市的可支持DX12的游戏。
DX12到底带来了什么新功能?
尽管本文不会再长篇赘述D X12的新特性,但我们还是有必要重温一个话题:DX12带来了什么新功能?去年我们说过,这次还会再说一次,因为即便Windows 10装机量超过3亿了,这个问题对不少用户来说仍是个困惑——自己使用的显卡到底支持什么DX12功能。
从最初曝光的类似AMD Mantle那样的底层优化,再到支持AMD、NVIDIA显卡混合工作,微软的DX12确实带来了不少新技术和新功能,而就A P I层面来说,D X12的新功能可分为三个层级:
首先是底层的优化,DX12降低了系统开销(Low Overhead),给予开发者更多的控制(More Control),并支持异步运算(Asynchronous Compute)。其中,对用户来说,低开销这一项是最重要的,我们此前见过的DX12优势特性展示大多基于这一点,它跟AMD的Mantel优化很相似,可以提高游戏性能,有效利用多核处理器。另外,异步运算也值得一提,AMD与NVIDIA在这一点上有分歧,产生过不少争议,后面我们还会重点谈到。
D X 1 2带来的渲染功能主要是平铺资源(T i l e d R e s o u r e)、归类U A V访问、无绑定(B i n d l e s s),这属于D X12 F e a t u r e L e v e l 12_0级的要求。一般来说,支持DX12 Feature Level 12_0已经算是完整支持D X12了,不过类似此前的DX10.1、DX11.1一样,DX12还有个更高级的Feature Level 12_1,其中有保守光栅(Conservative Rasterization)、光栅顺序视图(Raster Order Views)等新功能。
参考前面那张NVIDIA的PPT,需要留意的是,N V I D I A在这里“耍”了一点小花招——从图中的结构划分来看,我们很容易误认为立体平铺资源(Volume Tiled Resources,简称VTR)也是Feature Level 12_1的要求,但实际上它并不是,V T R是DX11.3里的功能了,在DX12中并不是必备要求。
实际上,微软对DX API的支持定义了多个级别,上述很多技术其实并不是DX12中才出现的,此前的DX11及DX11.1中就被列为可选功能了,在DX12中只是把平铺资源、无绑定等特性变成了必备或者提升了功能级别。
具体到每个技术上,它实际上也是分为多个等级,可分为Tier 1(简称T1,玩魔兽的玩家对这种称呼应该不会陌生)到T2再到T3,不过,本文并不会详细介绍T1到T3的区别,也不会详细介绍上述技术在图形渲染中具体的作用,因为这些东西说清楚不容易,而且内容太枯燥,非专业人士不会对此感兴趣的。
我们只要知道的是,微软在D X F L 12_0、D X F L 12_1上的定义比较宽松,反倒是N V I D I A、A M D这两家厂商私下里争得异常激烈,就和之前的D X10.1及DX11.1/11.2完整支持一样,只不过这一次是NVIDIA占“上风”,他们的显卡可以支持到DX FL 12_1,而AMD的GCN架构只支持到DX FL 12_0,对可选的保守光栅、光栅顺序视图等技术并不热心。
微软DX12_1、DX12_0与DX11_1、DX11_0的区别