微软发布 DirectX 12 Ultimate ,它带来了哪些改变?

作者: 日期:2020-03-20 20:46:57

几乎每一个玩过电脑游戏的人,都听过DirectX的大名。作为Windows系统自带的图形API(应用程序编程接口),大部分PC游戏都需要它的支持。

目前DirectX的最新版本是DirectX12,它发布于6年前,已经相当长时间没有大更新过了,昨天微软终于公布了它的升级版——DirectX12Ultimate。从字面意思上来看,它是DX12的终极版,它将会随着Win102004系统更新一同推送。

DirectX12Ultimate都用哪些特性?

从DX12开始,微软就已经将主机和PC之间的图形接口打通,Win10和XboxOne都使用了DX12作为图形API。使用相同API带来的好处也十分明显,游戏公司在开发游戏时,不需要再为Xbox和PC端的移植而烦恼,所以我们能看到,大量Xbox游戏出现在PC的应用商店中。

这次微软发布的DirectX12Ultimate也同样是跨平台的API,这也让下一代Xbox理所当然的获得了PC上的某些画面特性,比如老黄普及的光线追踪。

DirectXRaytracingTier1.1

这次微软将2018年发布的DXR1.0更新到了DXR1.1版本,这是一次增量更新,最明显的变化有:

为现有的光线追踪管线状态对象(PipelineStateObject)加入了额外的着色器(Shader)。

支持GPU执行时间轴自动判定需要处理的光线数量。

引入新的内联式光线追踪。

这些特性为游戏开发者提供了一套规避复杂光线追踪场景的方法,让开发者可以通过调用新函数,获得物体遮挡查询、剔除等功能,让开发者能更快的构建光线追踪的场景,给游戏提供更好的光追效果和性能。

在微软发布DirectX12Ultimate后,NVIDIA表示将RTX系列处理器将完全支持DXR1.1特效,AMD也宣布将在RDNA2架构中支持该特性。

VRS(可变速率着色)

除了光追外,之前NVIDIA推出的VRS技术也被微软认可,并将其加入DirectX12Ultimate中。VRS全称是可变速率着色技术,它最明显的作用就是降低显示画面中一些不重要区域色彩纹理,从而提升画面的流畅度。

在这一技术被应用之前,GPU需要为画面上的每一个像素点单独着色。而VRS就是对画面区域进行划分,为不同的区域选择不同的着色分辨率,细节要求不高的区域就将多个像素点一起着色,大幅降低了GPU着色的次数,大大减轻了显卡的计算压力。

比如上面这张图,画面边缘最不显眼位置的着色分辨率就被降到了最低,虽然这部分画面的质量有所下降,但由于它只是背景,玩家不会有明显的感知。省下来的GPU资源,则用于提升帧率,减少感知更明显的卡顿现象。

可以说,有了VRS技术后,平均帧率不高的中低端显卡将将会获得不小的体验提升。

MeshShader

除了为最后为像素着色外,图形渲染在前期还需要完成物体的3D模型计算渲染。这个工作之前需要向CPU发送一个DrawCall(绘制调用)。通常情况下,它会因为CPU的性能瓶颈,限制GPU的发挥。

MeshShader的可以解决这一问题,它可以让开发人员不用考虑单个顶点或者单个图元,用一组预定的线程更高效的完成渲染流程。

MeshShader可以进一步提几何图形的细化程度,例如对硬件进行编程,并用简单的方式描述树干枝杈的位置,最后生成细节更多的树皮树叶。

有了MeshShader后,游戏场景中灌木从,植被等物体将有详细的细节,能进一步提高场景的真实性。

SamplerFeedback(采样器反馈)

这一功能其实和VRS类似,都是通过减少某些冗余信息,降低GPU负载并提高性能。

与视频压缩采用帧与帧之间的画面矢量预测不同,游戏中的渲染大部分都是从「0」开始,也就是不停地重复获取顶点、视角转换、投影、照明、剪裁、栅格化的工作,不管前后两帧画面有多少相同。

事实上,大多数游戏在的场景变动都十分缓慢,大多数「对象」在画面中并没有改变(例如天空,远景)。采样器反馈就是通过降低对这些对象着色的速度(比如每3帧一次),来降低GPU的工作压力。

这一功能可减少重复对远景和缓慢变化的阴影着色对性能影响,进一步提升画面的帧率。

总结:开发者福利,NV大获全胜

这次的DirectX12Ultimate是一次增量更新,加入了之前NVIDIA推出的新技术,包括光追和VRS。有别于DX10和DX11的技术跃进,DirectX12Ultimate更多是为开发者提供更底层的优化空间。

反映在游戏上,我们可以会看到:更有经验和实力的开发者会用DX12Ultimate的新特性做出非常惊艳的游戏画面,同时性能优化也非常出色。但如果是游戏开发者没有调用这些工具,它将不会对画面和画面效能产生太大提高。

不过DirectX12Ultimate横跨主机与PC,一些首发于主机的游戏在开放到PC平台后或许也能获得新特性的优化。

最后说一个好消息:NVIDIA表示RTX系列将完全支持DirectX12Ultimate的所有特性,AMD即将推出的Navi架构显卡也支持DirectX12Ultimate,AMD已经发布了第一个运行光追的DEMO。

未来几年,光追或将全面普及。