MCPLive > 杂志文章 > N/A之战新领地 DirectX 12初窥解析

N/A之战新领地 DirectX 12初窥解析

2015-12-09《微型计算机》评测室《微型计算机》2015年12月上

Tips:英伟达显卡对异步计算的支持

近有一件事情闹得沸沸扬扬,就是英伟达支持DirectX 12的显卡对异步计算支持的问题。一些消息称(主要消息来源是游戏开发商),英伟达旗下Maxwell架构显卡不能支持DirectX 12中很重要的异步计算功能。

从驱动以及游戏开发角度来看,Maxwell架构可能对异步计算支持不够完善,因为新消息显示,在开发过程中Maxwell架构并不能直接开启异步计算功能并实现完整的支持,而是建议游戏开发商使用传统模式(虽然这样对性能也没有太大影响)。反观AMD,GCN架构对异步计算支持很到位,硬件和软件都完全符合DirectX 12规范,程序员可以直接调用。对这个问题,目前英伟达官方没有明确的回应,只是说硬件架构上Maxwell完全支持异步计算,驱动方面尚未做好准备。这样的解释其实并没有什么用处,因为即使硬件支持也意义不大,反正还是用不了,唯一留下了就是驱动未来增强或者“修复”的可能,算是希望。

从另一个角度来看,异步计算是DirectX 12中比较重要的功能了,按理说应该早就支持完善才是,现在出现这样一个大问题,还要等未来的驱动修复—当然我们承认英伟达驱动的确很棒,但未来能否及时修复或者是会等一段时间风平浪静新显卡业上市了,那个时候再一并“修复”,就不得而知了。

英伟达和AMD显卡对DirectX 12的支持情况

大概了解了DirectX 12的相关技术改进后,我们再来看看显卡对DirectX 12的支持情况。

目前DirectX 12有两个支持等级,分别是DirectX 12 Feature Level 12_1和DirectX 12 Feature Level 12_0。其中前者支持DirectX 12全部特效,后者支持部分特效。需要注意的是,每个等级中每个支持的特效又有等级之分。比如资源绑定有Tier 1、Tier 2和Tier 3之分,等级越高肯定越好,比如Feature Level 12_0就需要资源绑定的Tier 2、平铺资源的Tier 2以及归类UAV访问的Tier 1。Feature Level 12_1需要光栅的Tier 1和光栅顺序贴图的支持,后者是为VR时代所准备的。

从显卡角度来说,由于DirectX 12核心的底层渲染只是软件架构上的改进,因此只要GPU支持DirectX 11基本上就可以完整支持,这也是能够带来性能提升主要的部分。但是对一些特殊的内容则支持情况各异。实际上,大家不必太过于在乎DirectX 12显卡的功能支持问题,因为DirectX 12中很多功能内容都是可选支持,并且只是改善性项目,并非强制支持和功能性项目,这就意味着无论显卡支持还是不支持,理论上来说对终呈现的游戏画面并没有太大影响,当然,如果游戏引擎或者开发商做出了特殊的选择,那就很难预计了。

下表列出了英伟达和AMD架构对DirectX 12不同等级和功能的支持情况。我们可以根据显卡图形核心的分类等级来判断自己的显卡是否支持DirectX 12。

从下表中可以看出,目前,对DirectX 12支持等级高、完善的显卡只有Maxwell 2.0架构的诸如GTX 980 Ti、TITAN X、GTX 960等显卡了,其支持等级为DirectX 12 Feature Level 12_1,其余的显卡包括Maxwel 1.0、GCN 2.0都只能支持到DirectX 12 Feature Level 12_0,再老旧一些的显卡包括Fermi、Kepler、GCN 1.0等,都只能支持DirectX 12 Feature Level 11_1。不过也不要小看GCN 1.0架构,它完整支持11_1,也就意味着,这些相对老旧的显卡事实上也能完整支持底层渲染,也就是说,这些显卡在运行DirectX 12游戏时,整体效率上会有很大提升。

DirectX 12离我们还有多远?N卡/A卡实战DX12游戏Demo《Ashes of the Singularity》

虽然DirectX 12看起来足够美好,在微软和众多上游厂商的强势力推之下也必然会成为未来的主流图形API。但是,现在是不是已经是到了我们享受DirectX 12的时候了呢?现在的主流图形显卡是不是能够完美地支持DirectX 12的各种特效呢?稍后让我们用一个详细的测试来为你答疑。

遗憾的是,目前市面上公开发售的游戏中,尚没有任何一款能真正支持DirectX 12,包括公认权威的图形性能测试软件3DMark也没有单独针对GPU的DirectX 12性能进行测试的补丁包(仅有CPU的DirectX 12计算性能测试补丁)。还好,游戏厂商联合图形芯片厂商,还是为我们放出了一个用于DirectX 12图形性能测试的游戏Demo,它就是《Ashes of the Singularity》(翻译过来就是《奇点灰烬》)。

目前的《Ashes of the Singularity》还是一个基于DirectX 11及DirectX 12的双API配置测试用Demo,通过它可以直观地测试图形核心的DirectX 11及DirectX 12性能。而在显卡的选择上,考虑到目前的图形芯片对DirectX 12的支持情况,我们选择了AMD Radeon R9 Fury X、Fury以及NVIDIA GeForce GTX 980Ti、GTX 980这四款分别对位的高端显卡作为测试对象,以此可以通过测试明确地看到目前主流显卡对DirectX 12 API的支持情况。

测试分别选择AMD CATALYST 15.11 Beta和NVIDIA GeForce 358.91 Beta这两个目前官网新的驱动版本作为主要测试驱动,以便消除可能存在的老版本驱动对DirectX 12支持力度不够的隐患。同时,为了考察AMD和NVIDIA是否一直以来都在为DirectX 12进行了特别的驱动优化,我们还特别加入了两个相对较老的驱动版本作为参考对比。

《Ashes of the Singularity》的测试Demo包含有DX 11和DX 12两个程序,在本次测试中我们将分别针对这四款支持DirectX 12的显卡进行测试,以考察它们各自在DX 11和DX 12下的表现。

分享到:

用户评论

用户名:

密码: