微软的Windows10今年夏天就可以发布了,除了界面和操作上的改进之外,Win10最让游戏玩家动心的部分莫过于DirectX 12(以下简称DX12)了,这是新一代的图形API规范,那么它到底能为我们带来什么样的变化呢?为了及早用上DX12,我们又该做些什么准备呢?
DX12将带来3D游戏性能、画质上的提升
对于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有可能成为
本文来源:不详 作者:佚名