微软公司今日正式在GDC全球游戏开发者大会上推出了最新一代的DirectX 12图形应用程序编程接口,可以让游戏开发者控制图形处理单元的游戏和其它与图形相关的应用程序。虽然之前DirectX系列API一直都是非常出色的产品,但是最新的DirectX 12依然解决了上一代DirectX 11长期以来一直存在的提问。
游戏开发人员可以根据自己对游戏的不同水平要求,通过DirectX 12更好的利用CPU和GPU在系统中的作用。从开发人员的角度来看,这将为PC游戏带来了“专业游戏机”级别的控制方式和效率,同时依然使用了一个标准的API接口。
运行DX12的硬件条件
将为PC游戏带来了“专业游戏机”级别的控制方式和效率。
对于大多数用户来说,这也许是最实际也最重要的问题。其实如果之前用户的计算机能够运行DirectX 11,那么同样可以运行DirectX 12。因为新版本的DirectX 12主要是针对API本身进行提高,而并非添加了新的硬件特性。
开发人员需要针对自己的游戏进行一些内容上的改动来更新游戏驱动适应新的DirectX 12。如果你现在已经支持DirectX 11,那么可以正常兼容DirectX 12。NVIDIA公司已经对此进行了验证:“所有的NVIDIA DX11 HW都将带来对DirectX 12的支持。”
NVIDIA公司高级代表Tony Tamasi在一份联合声明中表示。GeForce 20系列以来的型号都可以,包括开普勒、费米、麦克斯韦架构全部都支持DirectX 12,也就是只要支持DirectX 11的都行。
AMD则表示,GCN架构的所有显卡均支持DirectX 12,也就是Radeon HD 7000、Radeon R200系列。英特尔方面,第四代Haswell可以支持DirectX 12,实际上仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。
很明显DirectX 12不需要性能的硬件才能实现,现有的就可以,而且性能估计也差不到哪里去,基于DirectX 11的可能性非常大。
DirectX 12都将带来哪些新特性
既然硬件条件已经满足,那么我们再来看看哪些新特性。从根本上来说,DirectX 12就是提高了驱动效率,给开发者更多的控制权。DirectX 12改变了底层的API,在硬件抽象层上走得比以往更深入,具体包括了应用可追踪GPU流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的API和驱动跟踪,可预判属性等等。
此外,多线程效率也得到了较大的提升, 能更充分的发挥硬件的性能。据微软宣称,对多核心的CPU的利用几乎是完美的线性增长的,也就是说几个核心能接近单核心的几倍。此外还有渲染流水线、渲染特性、资源管理、命令列表与绑定、描述符跳跃等等方面的改进。
Direct3D 12的关键点
更低的CPU消耗:在游戏开发者的要求下,微软改变了App-API的结构,删除了大量的CPU资源消耗。作为开发人员来说可以获得更多的资源控制和执行图形命令、驱动和D3D运行时不再需要跟踪和检查应用程序正在做什么,从而带来更高的效率。在微软DX12的演示视频上,我们看到了CPU的使用率最少消耗了50%以上。
更好的CPU内核负载分布:在Forza 5演示视频上,微软同样证明了CPU内核的任务分布变得更加均匀。而与DX11相比,每个核心增加了更多的加载。由于增加核心数是提高CPU性能的唯一途径,因此这事对于图形类应用程序效率的提高是重大的提升。
应用程序资源控制优化:DX12允许游戏开发者拥有更好的控制力,并且管理自己的GPU内存,从而防止帧速率下降或短暂被挂起。
GPU厂商的积极态度
微软在发布会上邀请了NVIDIA、AMD和高通公司,每个公司都对DX12的发布感到非常高兴。的确如此,DX12会为每一方带来好处,NVIDIA将会不用花费资源就可以拥有自己的API,而之前AMD虽然在该领域算不上成功,但是从最近开始已经在慢慢的提高,并且这对于它们下一代的八核处理器来说非常重要。而英特尔公司几乎具有相同的CPU效率观,也抱有核心越多越好的观点。而首次与微软DirectX 12联手合作的高通作为本次发布会的噱头,吸引了不少人的眼球。作为微软DX首次涉猎移动领域,十分令人期待。高通表示DirectX 12可以大大提升移动设备的能效比,进一步提升移动设备性能,同时还拥有良好的扩展性、移植性。
另外,微软公司本身还表示旗下的新一代Xbox One主机平台由于都是采用了GCN架构,所以支持DX 12无疑。微软表示,他们4名员工只花了一个月的时间,就把Xbox One的核心渲染引擎从DirectX 11.1变为了DirectX 12。
微软还表示Xbox One中已经存在一些DirectX 12的特性,其他的特性也将随之移植过来。另外,Epic Games也表示正在与微软、NVIDIA紧密合作,让新发布的虚幻引擎4完美支持DirectX 12。看来以后用虚幻4引擎的游戏将添加对N卡的特别优化。
总结
DirectX 12和Direct3D 12其实是一个非常重要的API更新。现在对于开发人员来说最重要的是如何将已有游戏和新游戏更好的将它们同步。因此,我们将在现有的硬件上得到更好的运行体验,而游戏开发者们也会花更少的时间在API上,而用更多的时间来优化和创建游戏本身。同时从主机或PC移植作品去移动设备也会变得比过去更简单。而在PC这边,游戏开发者也能更容易地做好显示效果。总体上来说,本次DirectX 12是一个大家都非常喜欢看到的新版本。