DirectX12相较旧版DirectX而言,能提供开发者更底层的API(类似AMD的Mantle)以有效减轻CPU/GPU的过载,再就是优化了对多线程硬件的支持等。并宣布支持移动nyt次世代游戏主机Xbox One。在过去,从最早的DX1.0到目前的DX11.2,它们都曾带来不少革命性的里程碑,而DX12加入了对核显、多核的优化同时兼容非常多的显卡型号,实际效果的提升会有多少呢?国外网友在升级到Win10最新的Build 10122版本后,拿了已经拼杀三年的GTX 670显卡和SNB平台Intel i7 2600K进行了DX12绘图对比测试,成绩很震撼。
dx11与dx12对比:
从图中可以看到,DX11下的绘图调用数量(Draw Call)是单线程约150万,多线程250万,而在换为DX12后,绘图调用数猛增到850万,整整提高到330%的水平。
对此,我们不禁可以期待,在DX12的帮助下,今后的游戏开发者可以比以往更加接近底层API,可以更深入GPU和处理器的底层对游戏进行优化,从而使得PC达到游戏主机调用效率的高度。
Direct3D 11
Direct3D 12
附DX12 GPU支持列表:
NVIDIA:开普勒、费米、麦克斯韦架构全部都支持DX12。
AMD:GCN架构的所有显卡均支持DX12,也就是Radeon HD 7000、Radeon R200系列。
Intel:第四代Haswell可以支持DX12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。
虽然之前DirectX系列API一直都是非常出色的产品,但是最新的DirectX 12依然解决了上一代DirectX 11长期以来一直存在的提问。
DirectX12 API向后兼容大部分DirectX11显卡(这是否意味DirectX 12其实就是DirectX 11的特性强化扩展呢:),比如开普勒、费米、麦克斯韦架构的NVIDIA显卡以及GCN架构的所有AMD显卡,此外,在移动芯片领域占据了大部分市场的高通也宣布其会支持DirectX 12。
DirectX12和Direct3D 12其实是一个非常重要的API更新。现在对于开发人员来说最重要的是如何将已有游戏和新游戏更好的将它们同步。因此,我们将在现有的硬件上得到更好的运行体验,而游戏开发者们也会花更少的时间在API上,而用更多的时间来优化和创建游戏本身。同时从主机或PC移植作品去移动设备也会变得比过去更简单。而在PC这边,游戏开发者也能更容易地做好显示效果
DirectX 12是微软旗下的多媒体编程接口directx的最新版本。directx 12在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。DirectX 包括安全和性能更新程序,以及许多涵盖所有技术的新功能。应用程序可以通过使用DirectX API 来访问这些新功能。支持32位和64位操作系统。
Directx12功能特点:
1、新的特性
DX12最重要的变化就是更底层API,这一点很像AMD Mantle,在硬件抽象层上走得比以往更深入,能够同时减轻CPU、GPU的过载(overload)。
具体包括:应用可追踪GPU流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的API和驱动跟踪,可预判属性,等等。
另外,DX12大大提高了多线程效率,可以充分发挥多线程硬件的潜力。DX11在这方面受CPU性能的严重制约,主要是因为不能有效利用多核心。
微软宣称,微软对多核心CPU的利用几乎是完美线性增长的,也就是说四核心能接近单核心的四倍。
此外还有渲染流水线、渲染特性、资源管理、命令列表与绑定、描述符跳跃等等方面的改进,因为主要是关于开发的,也比较深晦,这里就先不说太多了。
2、硬件支持
NVIDIA确认说,开普勒、费米、麦克斯韦架构全部都支持DX12,也就是GeForce GTX 400系列以来的型号都可以,DX11的都行。
AMD则确认,GCN架构的所有显卡均支持DX12,也就是Radeon HD 7000、Radeon R200系列。
Intel确认称,第四代Haswell可以支持DX12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。
目前还不知道它们是100% API支持还是仅仅特性集上的支持,但至少有一点,那就是DX12并不需要新的硬件才能实现,现有的就可以,因此它更像是DX11的一个扩展。
3、高通与移动
之所以把高通单独列出来,是因为这是它首次与微软DX联手合作,也是微软DX首次正式面向移动领域。
按照高通的说法,DX12可以大大提升能效,改进移动设备性能,而且在扩展性、移植性方面都非常好。
4、Xbox One
AMD已经说了DX12会完全导向Xbox One,微软则表示,他们只花了四个月的精力,就把Xbox One的核心渲染引擎从DX11.1转向了DX12。
在此之前,已经有一些属于DX12的特性存在于Xbox One(看来谋划已久),其他的也已经移植过来。
另外,Epic Games也表示正在与微软、NVIDIA紧密合作,让新发布的虚幻引擎4完美支持DX12——没提AMD,看来虚幻4的游戏会很倾向于N卡。