正文内容 评论(0)
今天,微软正式公布了新一代API DirectX 12。虽然没有太多革命性的变化,但在多年的沉寂和迟缓中,终于迎来了一次大幅度的进步,特别是其中的两个特性尤为值得关注。
首先就是多线程。
其实这个多线程指的不是显卡,而是多核心处理器。DX11已经较好地支持了多线程,但由于运行时、驱动过载的影响,每个核心仍然浪费大量的闲置时间,DX12则能将几乎每个核心的所有潜力都挖掘出来,而且可以做到随着核心数量的增长,性能几乎线性提升。
微软举的例子是3DMark 11。将其导入支持DX12之后,可以发现CPU利用率提高了50%,同时在各个核心之间的负载分配也更加均衡了。
微软给出的数据显示,DX12模式的3DMark 11某环节测试时间可以比DX11缩短大约32%,其中显卡花费时间更是节省了整整一半。
另外从负载分配情况可以看出,DX11下有多个环节都只能由同一个核心执行,大大降低了效率、浪费了时间,DX12则能让所有核心共同参与执行,尤其是在驱动环节。
简单地说,DX12虽然是图形开发规范,但是有了它,应用、游戏就能以超高的效率发挥多核心处理器的优势,充分利用硬件资源。
3DMark 11 DX11:注意看第一个线程的时间是其他三个的十倍左右
3DMark 11 DX12:四个线程时间基本差不多,第一个只是稍高一点
其次是更底层的API和跨平台移植。
微软没有明说,但这一点无疑是和AMD Mantle有着异曲同工之妙,只不过后者局限在AMD GCN架构显卡上,微软的则是通用的。
有了Mantle、DX12,开发人员就可以更接近硬件底层,从而提高硬件资源的利用效率,可以像主机上那样高效。更重要的是,Xbox One(其实还有PS4)主机平台底层架构和PC已经是相通的了,跨平台移植将会非常轻松。
正是因为强大的跨平台属性,DX12可以同时支持Windows PC、Windows平板机、Windows Phone智能手机、Xbox One游戏主机。只要开发者愿意,可以将自己的作品简单移植到其他平台。
微软现场演示了Turn 10工作室的《极限竞速5》,通过Xbox One已经有了的底层API,将原来的Xbox One DX11.x内核渲染引擎一直到了PC DX12之上,而且只用四个人干了一个月的时间就搞定了。
现场跑的是一个DEMO,显示帧率是稳定的60FPS,不过用什么硬件测试的并没有说。
以下是PCPer直播过程中拍摄的一些现场照片,大部分早晨都发过了,但是这次的分辨率都很高,所以再贴一遍供大家参考。最后一张是微软、AMD、NVIDIA、高通等厂商一些大拿的合影。