找回密码
 立即注册
搜索
查看: 1667|回复: 0
打印 上一主题 下一主题
收起左侧

[玩家交流] 微软DirectX 12性能测试[30P]

[复制链接]

原创版主 - 原创版主

绿金v1_01紫银v2_02紫铜v1_05紫银v1_01灰铜v1_05灰金v1_05

跳转到指定楼层
楼主
发表于 2015-2-10 11:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

作为Windows系统最重要的功能之一,DirectX标准(以下简称DX)停留在DX11时代已经过去5年多了,虽然期间有过DX11.1、DX11.2的小修小补,但总体上依然没什么变化,这点升级不痛不痒。

5年多的时间足够硬件升级一两代了,DX11标准在某些方面已经落后了,所以AMD期间自己搞起了Mantle API,相比DX11规范效率更高,最终微软也在去年3月份的GDC大会上公布了DX12规范,同样大幅提升了底层硬件效率。



今年月份的Windows 10技术预览版发布会上,微软同样也提到了DX12规范,最新的9926 Build上已经开始支持DX12,现在DX12的大门已经打开了,这样一个新时代DX规范是否真的能给我们带来惊喜呢?

Anandtech网站日前在微软、NVIDIA及AMD的帮助下做了DX12性能测试,尽管只是一个初步的预览测试,而且问题还比较多,但这毕竟是首个DX12的实际测试,心急的玩家不妨先来一睹为快。



去年GDC大会上公布的DX12与DX11渲染时间对比

目前的DX12支持情况及WDDM 2.0

尽管Windows 10系统上已经有DX12支持了,不过DX12依然还在开发中,即便是Windows 10自身其实也没有完成,依然在完善中,所以这里的测试只是早期的预览,还有很多问题,但足够我们一窥DX12的惊艳。

从技术角度来看,DX12其实只是微软计划中的一部分,跟之前的DX11升级一样,DX12也需要全新的WDDM(Windows显示驱动模型),这里就是WDDM 2.0,实际上WDDM 2.0可以说是微软自从Vista系统上首次引入WDDM以来最大的一次变化,而DX12则是Windows GPU生态系统上的一次大翻修。



R9 290X显卡的WDDM 2.0状态



GTX 980显卡的WDDM状态

微软没有公布WDDM 2.0的具体细节——相关内容要在3月份的GDC 2015大会上才公布,不过WDDM 2.0是开启DX12的基础,内核及显示驱动会增添新的功能以便支持DX12 API必需的功能。与WDDM 2.0相关的就是DX12中的外显内存管理、动态资源索引等功能,这些功能是目前WDDM 1.3所没有的。

WDDM 2.0大动干戈意味着OS上的驱动要受影响,除了微软之外,AMD、NVIDIA现在也在准备WDDM 2.0驱动,目前还在开发中,而且也不是所有的显卡都支持新驱动,支持的硬件目前也依然存在很多问题。



AMD/NVIDIA硬件的DX12支持情况

总的来说,最新的硬件都可以支持WDDM 2.0,但不是所有的早期硬件产品都可以。AMD的GCN 1.0架构(HD 7000及Rx 200系列)虽然支持WDDM 2.0,但在StarWorm中遇到了问题,但之后的产品就没问题。NVIDIA的驱动目前只支持Kepler、Maxwell 1和2代架构,早期的Fermi不支持WDDM 2.0。不过AMD和NVIDIA都在致力于向早期的GCN 1.0和Fermi架构产品提供DX12(以及WDDM 2.0)支持,只不过不是现在,等到DX12上市了再说吧。



DX12的软件平台支持

软件平台的支持就好说了,微软之前已经表态了,DX12是Windows 10专属,Windows 7/8/8.1用户就不要想了,唯一的选择就是升级到Windows 10平台,还好微软提供免费升级的机会。

Star Sworm及DX12测试说明

目前还没有哪个游戏是正式支持DX12的,不过微软跟Oxide Games给Anandtech提供了一个新版本的Star Sworm星际虫群demo,这个游戏原本是支持DX11和Mantle的,现在也可以支持DX12了。这个游戏其实之前针对Mantle的特性做了很多优化,比如支持100K个绘制命令(draw call),原文还有个视频,可以爬墙去看看。



测试平台配置及说明

这次的测试使用了AMD、NVIDIA提供的支持WDDM 2.0的驱动,N卡是349.56,A卡是15.200。此外,由于DX12和驱动都还不是最终状态,所以测试中也有很多问题,微软建议他们使用3GB及以上的显卡,不过Aandtech表示他们使用了2GB显存的显卡,也没发现什么问题。

本次的测试使用了GTX 980(Maxwell 2)、GTX 750 Ti(Maxwell 1)和GTX 680(Kepler)显卡,AMD阵营的则是R9 290X(GCN 1.1)、R9 285(GCN 1.2)及R9 260X(GCN 1.1),Fermi和GCN 1.0架构的显卡因为驱动还不支持就没测了。

CPU方面使用了Core i7-5960X,但通过降低核心和线程数模拟了Core i5以及Core i3处理器的情况,如下图所示:






测试平台配置

首先来回答大家最关心的一个问题:DX12是否真如之前宣传中那样很强力呢?答案是绝对地,如下图所示,DX12的性能远远胜过DX11(不过这个项目里略输Mantle)



DX12测试之CPU并行性能

首先来看DX12规范下不同显卡对CPU并行能力的测试。



GTX 980搭配2、4、6核下的DX12性能



R9 290X搭配2、4、6核下的DX12性能

DX11规范下基本是单线程限制,多核性能提升并不明显,DX12对多线程的利用就好得多了,可并行利用2-4核,不过再多的核心之后提升也不大了。不过这里的测试主要受限于设置,如果设置成100K Draw calls,那么所有CPU其实都受制于GPU瓶颈了。

在CPU不受限制的情况,任何超过4核的处理器都有些浪费了,不过这也意味着DX12不需要太高的多线程处理器。

对比AMD和NVIDIA,DX11下二者的性能差别也非常大,这里的测试中A/N两家都是CPU瓶颈而非GPU瓶颈,但AMD驱动下的R9 290X性能只有NVIDIA的三分之一,考虑到这个游戏中AMD把重心放在了Mantle API上,不知道是不是AMD没什么动力再去优化DX11了。



DX12下双核及四核CPU配置下不同显卡的性能



批处理时间,越低越好



GTX 980在DX11下的的CPU占用率



GTX 980在DX12下的的CPU占用率



R9 290X在DX11下的的CPU占用率



R9 290X在DX12下的的CPU占用率



R9 290X在Mantle下的的CPU占用率

DX12测试之GPU并行能力

前面的CPU并行能力测试之后再来看看Star Sworm在不同显卡下的GPU并行能力。



4核处理器下的GPU并行能力

这里的测试中CPU瓶颈开始变成GPU瓶颈了,Star Swarm开始青睐NVIDIA显卡了(AMD情何以堪),GTX 980性能领先R9 290X显卡50%以上,GTX 680也领先R9 285显卡25%,而真实游戏性能上差距可没么大。

与此同时,由于AMD显卡在DX11下性能差劲,所以AMD显卡在DX12下提升非常明显,GTX 980从DX11到DX12只提升了150%,但R9 290X提升了416%,至于Mantle性能,我们之后再来详细说下。



2核处理器下的GPU并行能力

搭配GTX 980的情况下,双核CPU也足够喂饱这个游戏,GTX 980显卡在双核与四核配置下从DX12获得的性能提升是一致的,可以说即便是搭配较弱的CPU,DX12依然能从中受益,至少在搭配强力显卡的情况下是这样的。

DX12、Mantle的对比及功耗测试

前面提到了AMD显卡的Mantle及DX12性能,这里就来单独对比下吧。



搭配四核处理器的情况下,AMD的Mantle性能比DX12更高,虽然差距不是很大,但多个测试中都是要比DX12高一些。造成这个现象的原因可能有很多——Mantle驱动优化的更好、应用程序开发的更好或者是在已知平台上双方合作的更好,到底是哪个原因还不好确定,不过可以说在AMD硬件上,Mantle的性能比DX12还要好一些。



双核配置下的Mantle与DX12性能

另一方面,如果搭配双核处理器,Mantle似乎就不能保持更好的性能了,R9 290X甚至在Mantle下比DX12性能更差一些,虽然差距同样很小。



批处理时间,越低越好

如果深入分析下draw calls的批处理时间,DX12的性能也比Mantle API更好,Mantle批处理平均用时要比DX12多一半以上。



mantle、DX11及DX12功耗测试

功耗测试中DX12及Mantle下的功耗都要比DX11要高,差距其实还是很明显的,在DX12及Mantle的支持下,CPU不再是瓶颈,GPU则有更多机会全速运行,功耗自然要升高。

中等画质下的测试

之前测试的结果都是Exrteme画质下的,这里测试的是Mid中等画质。



双核配置下,GTX 980依然是唯一一个受到双核瓶颈影响的GPU



四核下性能测试



DX12与Mantle、DX11的对比

DX12的帧时间测试及总结

最后的测试是记录DX12、DX11及Mantle下的帧时间对比。



GTX 980在四核CPU下的帧时间



R9 290X在四核CPU下的帧时间对比

不论是GTX 980还是R9 290X显卡,DX11下的帧时间都要高于DX12下的,这意味着DX12性能比DX11高得多。而在AMD显卡上,Mantle的帧时间表现跟DX12基本一致。

原文这里也制作了多个视频,不过还是需要爬墙,有兴趣的读者自行去观看吧。

总结:

总结这里就长话短说,DX12还没有最终完成,相关的功能、开发者支持等还要等微软在GDC 2015大会上公布,这里的测试还是初步的,是DX12的开始而非结束。

微软和合作伙伴们希望设计一种跨硬件平台但依然底层的全新API,最终他们做到了,DX12在CPU效率及多线程上有着惊人的提升。

插件设计:zasq.net

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( Q群323389227 )

GMT+8, 2024-12-8 22:06 , Processed in 1.966744 second(s), 48 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表