微软刚刚正式发布了新一代的API DirectX 12。虽然算不上全新设计,虽然细节公布得还不是特别多,但至少不是Mantle的直接翻版,还是有微软与合作伙伴设计的不少新东西的。
1、新的特性
DX12最重要的变化就是更底层API,这一点很像AMD Mantle,在硬件抽象层上走得比以往更深入,能够同时减轻CPU、GPU的过载(overload)。
具体包括:应用可追踪GPU流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的API和驱动跟踪,可预判属性,等等。
另外,DX12大大提高了多线程效率,可以充分发挥多线程硬件的潜力。DX11在这方面受CPU性能的严重制约,主要是因为不能有效利用多核心。
微软宣称,微软对多核心CPU的利用几乎是完美线性增长的,也就是说四核心能接近单核心的四倍。
此外还有渲染流水线、渲染特性、资源管理、命令列表与绑定、描述符跳跃等等方面的改进,因为主要是关于开发的,也比较深晦,这里就先不说太多了。
2、硬件支持
NVIDIA确认说,开普勒、费米、麦克斯韦架构全部都支持DX12,也就是GeForce 200系列以来的型号都可以,DX11的都行。
AMD则确认,GCN架构的所有显卡均支持DX12,也就是Radeon HD 7000、Radeon R200系列。
Intel确认称,第四代Haswell可以支持DX12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。
目前还不知道它们是100% API支持还是仅仅特性集上的支持,但至少有一点,那就是DX12并不需要新的硬件才能实现,现有的就可以,因此它更像是DX11的一个扩展。
AMD表态:注意最后一句,DX12会完全拓展到Xbox One
3、高通与移动
之所以把高通单独列出来,是因为这是它首次与微软DX联手合作,也是微软DX首次正式面向移动领域。
按照高通的说法,DX12可以大大提升能效,改进移动设备性能,而且在扩展性、移植性方面都非常好。
5、Xbox One
AMD刚才已经说了DX12会完全导向Xbox One,微软则表示,他们只花了四人月的精力,就把Xbox One的核心渲染引擎从DX11.1转向了DX12。
在此之前,已经有一些属于DX12的特性存在于Xbox One(看来谋划已久),其他的也已经移植过来。
另外,Epic Games也表示正在与微软、NVIDIA紧密合作,让新发布的虚幻引擎4完美支持DX12——没提AMD,看来虚幻4的游戏会很倾向于N卡。
6、发布时间
其实微软今天只是纸面宣布DX12,真正面世还要等到2015年底假期,也就是还有一年多,明年底的游戏大作里才能看到DX12。
微软保证说,会在今年晚些时候提供一个DX12的预览驱动。
延伸阅读——DX12展示:完美多核心、轻松跨平台