DirectX 12 官方最新版(32/64位)
2010.07.29
2013.05.06
2015.09.21
2013.04.24
2016.02.23
2013.03.05
微软在DirectX博客中正式公布DirectX API下一代DirectX 12延续了之前的产品代号,DirectX标识下方出现了AMD、英特尔、NVIDIA和高通,似乎暗示着未来DirectX 12将会同时兼容这些产品。如果真是这样,这将大大提高DirectX的可用性和实用性。
微软在2009年Windows 7发布的时候,带来了DirectX API的一个重要版本DirectX 11,而微软在随后连续发布了两个较小版本DirectX 11.1和DirectX 11.2,后者是在去年伴随Windows 8.1共同推出的。也就是说如果按照微软的发布规律,那么DirectX 12在发布之后很可能不会立即提供,如果要看到DirectX 12的话大家可能需要等到Windows 9了。
directx 12在使基于Windows 的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、3D 动画和丰富音频)的应用程序的理想平台。
DirectX 12包括安全和性能更新程序,以及许多涵盖所有技术的新功能。
DirectX 12是微软推出的的新一代API,集成在新的Win10系统中。DirectX 12有诸多改进和新特性,比如底层API、多线程、混合多显卡等,堪称革命性的版本,但可惜的是它只会集成在新的Windows 10系统之中,不向下支持Windows 7/8/8.1。
不过现在,国外某大神从Win10最新预览版中提取了Directx 12,全面兼容Win7/Win8.1系统以及GTX6/7/9系、AMD HD7000/R200系列显卡,游戏性能将提升60%以上!
支持显卡
NVIDIA开普勒、费米、麦克斯韦架构,也即是GeForce 200系列及更高型号;AMD GCN架构,也就是Radeon HD 7000、Radeon R200/300系列;Intel Haswell(GT3)、Broadwell、Skylake核芯显卡。
当然啦,DX支持分为不同的特性级别,而能够完整支持DX12最高级别的目前只有NVIDIA GTX 900、AMD Fury系列。
Directx 12新特性
1、新的特性
DX12最重要的变化就是更底层API,这一点很像AMD Mantle,在硬件抽象层上走得比以往更深入,能够同时减轻CPU、GPU的过载(overload)。
具体包括:应用可追踪GPU流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的API和驱动跟踪,可预判属性,等等。
另外,DX12大大提高了多线程效率,可以充分发挥多线程硬件的潜力。DX11在这方面受CPU性能的严重制约,主要是因为不能有效利用多核心。
微软宣称,微软对多核心CPU的利用几乎是完美线性增长的,也就是说四核心能接近单核心的四倍。
此外还有渲染流水线、渲染特性、资源管理、命令列表与绑定、描述符跳跃等等方面的改进,因为主要是关于开发的,也比较深,这里就先不说太多了。
2、硬件支持
NVIDIA确认说,开普勒、费米、麦克斯韦架构全部都支持DX12,也就是GeForce 200系列以来的型号都可以,DX11的都行。
AMD则确认,GCN架构的所有显卡均支持Directx 12,也就是Radeon HD 7000、Radeon R200系列。
Intel确认称,第四代Haswell可以支持Directx 12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。
目前还不知道它们是100% API支持还是仅仅特性集上的支持,但至少有一点,那就是DX12并不需要新的硬件才能实现,现有的就可以,因此它更像是DX11的一个扩展。
3、高通与移动
之所以把高通单独列出来,是因为这是它首次与微软DX联手合作,也是微软DX首次正式面向移动领域。
按照高通的说法,DX12可以大大提升能效,改进移动设备性能,而且在扩展性、移植性方面都非常好。
4、Xbox One
AMD刚才已经说了Directx 12会完全导向Xbox One,微软则表示,他们只花了四人月的精力,就把Xbox One的核心渲染引擎从DX11.1转向了DX12。
在此之前,已经有一些属于DX12的特性存在于Xbox One(看来谋划已久),其他的也已经移植过来。
另外,Epic Games也表示正在与微软、NVIDIA紧密合作,让新发布的虚幻引擎4完美支持DX12——没提AMD,看来虚幻4的游戏会很倾向于N卡。
软件测试
Directx 12 win7/win8/win8.1 实测效果
GTX 670显卡和Intel i7 2600K进行了DX12绘图对比测试
DX11下的绘图调用数量(Draw Call)是单线程约150万,多线程250万,而在换为DX12后,绘图调用数猛增到850万,整整提高到330%的水平。(并不代表Directx 12实际游戏性能)
在DX12的帮助下,今后的游戏开发者可以比以往更加接近底层API,可以更深入GPU和处理器的底层对游戏进行优化,从而使得PC达到游戏主机调用效率的高度。