微软的Windows 10今年夏天就可以发布了,除了界面和操作上的改进之外,Win10最让游戏玩家动心的部分莫过于DirectX 12(以下简称DX12)了,这是新一代的图形API规范,那么它到底能为我们带来什么样的变化呢?为了及早用上DX12,我们又该做些什么准备呢?
DX12将带来3D游戏性能、画质上的提升
对于DX12,我们说起来并不算陌生,超能网前前后后曝光DX12消息的新闻和评测有几十篇了,大家对DX12相对DX11的性能提升印象很深刻 吧,不过另一方面,DX12对我们来说还是“熟悉的陌生人”,我们了解其中的一部分,但是更多的人还没有最好迎接DX12的准备,今天这篇文章将详细介绍 DX12到底带来了哪些变化,又有哪些显卡和平台将会支持DX12。
1、DX12带来的新变化
我们都知道微软会在今年的Windows 10系统带来DX12,也从之前超能网连篇累牍的报道与测试中知道了DX12改善了底层硬件效率,多线程支持更好,游戏性能更强。但大家对DX12的完整 印象依然很模糊,它到底能为我们带来什么新变化,使用DX12 API的游戏会在画质、性能等方面有质的提升吗?
DX12可以分为三个层次
就像之前的DirectX规范一样,DX12实际上也可以分为多个功能不同的功能层(Feature Level),不过DX12这次还多了一个底层优化,所以DX12规范可以视作三个不同层级:
·D3D 12 Low Level API:这部分实际上是见诸报道最多的一部分,DX12相比DX11性能大提升就是底层优化的功劳,这也是DX12最吸引人的一点,不论是对游戏开发者还是对游戏玩家来说都是如此。
底层优化部分包括Low Overhead(低开销)、更多的控制及异步计算(Async Compute)等多个部分,低开销类似AMD提出的Mantle优化,后者也是大幅改善了游戏的多线程效率,降低了驱动层开销,现在这部分已经可以使用 3DMark的Driver Overhead做测试了,详情可以参考我们之前做过的两篇测试:
·DX12 Feature Level 12_0:前面的底层优化部分实际上是帮助DX12打通了“经脉”, 提高了开发者的潜力,但那些并不涉及具体的招式——Feature Level 12_0这部分开始涉及更新的3D渲染方法,包括平铺资源(Tiled Resoure)、归类UAV访问、无绑定(Bindless)等等,其中多项功能实际上DX11.1中就有了,不过DX11中多是T1级别的,现在的则 是T2级别的。
·DX12高级功能Feature Level 12_1:跟以往的DX11.1/11.2一样,DX12还有 比Feature Level 12_0更高级的Feature Level 12_1功能,包括立体平铺资源(Volume Tiled Resources)、保守光栅(Conservative Rasterization)、光栅顺序视图(Raster Order Views)等,这些功能通常属于可选支持,但它们可以更好地提升开发者的效率或者游戏画质,同时对显卡的要求也更高。
以上三部分是DX12规范的主要内容,但这些还不是DX12的全部功能,还记得之前曝光过的DX12黑科技——A、N显卡混合交火吗?微软确实在 DX12中尝试了不同显卡的混搭技术,该技术名为Muti-Adapter(多显卡适配器),它就可以把不同架构的GPU联合起来渲染。
DX12的多GPU混合渲染演示
微软的Build大会上做过一个多显卡的演示,分别使用独显及独显+集显两种方式渲染635帧的UE引擎,其中独显渲染帧速35.9fps,支持 Muti-Adapter的集显+独显平台成绩为39.7fps,小幅优势领先了独显平台。(提升不大的原因主要是独显与集显的性能差距通常很大,并行运 算的时候不会有CF/SLI这样的接近2倍提升,之前Lucid的Virtu技术也是如此。)
Muti-Adapter技术另一个好处就是多卡下对GPU显存的利用率更高,以往不论是CF还是SLI技术,DX只能将其中一个显卡的显存存储数 据,另一个显卡的显存就浪费了,比如GTX 980 Ti显卡双卡SLI时,其总的显存容量还是4GB,多卡互联时其GPU容量并不能翻倍。
现在有了Muti-Adapter技术,它就可以合并所有的显存而利用了,显存容量可以翻倍了。(微软的WDDM 2.0模型还支持了GPU虚拟内存,猜测跟这个也有关系)
总之,微软的DX12最重要的变化就是带来了底层硬件优化,它改善了多线程效率,降低了驱动开销,这对游戏玩家和开发者来说都是大有裨益的。3D渲 染技术上DX12也有更新,而在多卡互联上,DX12有可能成为黑马,如果最终对AMD、NVIDIA及Intel核显异构运算支持到位,那么游戏玩家届 时就不会受CF或者SLI的限制了。
2、DX12显卡兼容列表
巧妇难为无米之炊,不过在解决米之前我们得先解决做饭用锅问题——那些显卡才能支持DX12,或者说完整支持DX12,从前面的介绍来看,支持和完整支持还是有些不同的。
对于DX12支持,我们之前听到的最多的就是AMD、NVIDIA各自宣称他们的GCN架构、Fermi及之后的架构都会支持DX12,Intel也是自第四代智能处理器、也就是Haswell开始的核显开始支持DX12。
这方面,AMD之前公布了具体的DX12兼容列表了,NVIDIA前不久也公布了自家的DX12兼容名单,不过NVIDAI还趁机“黑”了AMD一 把,因为AMD的显卡目前并不完整支持DX12规范,但N家的GTX 980/980 Ti等GM2xx核心的GPU可以完整支持DX12_1。要知道在DX11时代,AMD的显卡能完整DX11.1及DX11.2规范,而NVIDIA的显 卡只能支持到DX11.0,现在只能说是风水轮流转了。