几乎每个玩过电脑游戏的人都听说过DirectX这个名字。作为Windows系统的图形API(应用编程接口),大部分PC游戏都需要它的支持。目前DirectX的最新版本是6年前发布的DirectX 12
几乎每个玩过电脑游戏的人都听说过DirectX这个名字。作为Windows系统的图形API(应用编程接口),大部分PC游戏都需要它的支持。
目前DirectX的最新版本是6年前发布的DirectX 12。相当长时间没有更新了。昨天,微软终于公布了它的升级版本——DirectX 12旗舰版。从字面上看是DX 12的终极版,会随着Win 10 2004系统的更新一起推送。
DirectX 12旗舰版使用了哪些功能?
从DX 12开始,微软开放了主机和PC之间的图形界面。Win 10和Xbox One都使用DX 12作为图形API。使用相同API的好处也非常明显。游戏公司开发游戏时,不需要担心Xbox和PC的移植问题,所以我们可以看到大量的Xbox游戏出现在PC应用商店中。
微软这次发布的DirectX 12 Ultimate也是跨平台的API,使得下一代Xbox很自然的获得了一些PC上的屏幕特性,比如老黄推广的光线追踪。
DirectX光线跟踪层1.1这次微软将2018年发布的DXR 1.0更新为DXR 1.1版本,属于增量更新。最明显的变化是:
为现有的光线追踪管线状态对象(Pipeline State Object)加入了额外的着色器(Shader)。支持 GPU 执行时间轴自动判定需要处理的光线数量。引入新的内联式光线追踪。
这些特性为游戏开发者提供了一套避免复杂光线追迹场景的方法,使开发者可以通过调用新的函数来获得物体遮挡查询和消除等功能,从而让开发者更快地构建光线追迹场景,为游戏提供更好的光线追迹效果和性能。
在微软发布DirectX 12 Ultimate之后,NVIDIA表示RTX系列处理器将全面支持DXR 1.1特效,AMD也宣布将在RDNA 2架构中支持该功能。
可变速率着色除了轻追,英伟达之前推出的VRS技术也得到了微软的认可,并加入到DirectX 12 Ultimate中。VRS代表可变速率着色技术,它最明显的作用就是减少显示屏中一些不重要区域的色彩纹理,从而提高屏幕的流畅度。
在应用这项技术之前,GPU需要分别给屏幕上的每个像素上色。VRS是对画面区域进行划分,针对不同的区域选择不同的着色分辨率,在细节要求不高的区域将多个像素一起着色,大大降低了GPU着色的次数和显卡的计算压力。
比如上图,把画面边缘最不显眼位置的着色分辨率降低到最低。虽然这部分画面质量有所下降,但由于只是背景,玩家不会有明显的感知。节省下来的GPU资源用于提高帧率,减少感知卡顿现象。
可以说有了VRS技术,平均帧率低的低端显卡会得到很多体验提升。
网格着色器除了在最后对像素进行着色,在图形渲染的前期还需要对物体的3D模型进行计算和渲染。在这项工作之前,您需要向CPU发送一个Draw调用。通常会因为CPU的性能瓶颈而限制GPU的性能。
网格着色器可以解决这个问题,它允许开发人员使用一组预先确定的线程更有效地完成渲染过程,而无需考虑单个顶点或单个图元。
网格着色器可以进一步提高几何图形的精细度,比如对硬件进行编程,用简单的方式描述树干树枝的位置,最终生成更多细节的树皮和树叶。
使用网格着色器,游戏场景中会出现灌木、植被等物体的细节,可以进一步提高场景的真实性。
采样器反馈(采样器反馈)其实这个功能类似于VRS,通过减少一些冗余信息来降低GPU负载,提高性能。
与视频压缩采用逐帧画面矢量预测不同,游戏中的渲染大多从“0”开始,即不断重复进行顶点获取、角度转换、投影、光照、裁剪、栅格化等工作,无论两帧有多相同。
其实大部分游戏的场景变化都很慢,大部分“物体”在画面中是不变的(比如天空空,远景)。采样器反馈就是通过降低这些物体的着色速度(比如每3帧一次)来降低GPU的工作压力。
该功能可以减少远景重复明暗处理和渐变阴影对性能的影响,进一步提高画面的帧率。
总结:开发者福利,NV大获全胜。这次的DirectX 12旗舰版是增量更新,加入了之前NVIDIA推出的新技术,包括光线追踪和VRS。与DX 10和DX 11的技术飞跃不同,DirectX 12 Ultimate更多的是为开发者提供更低层次的优化空。
体现在游戏中,我们可以看到更多有经验有实力的开发者会利用DX 12 Ultimate的新功能做出令人惊艳的游戏画面,性能优化也非常出色。但是如果游戏开发者不调用这些工具,就不会对屏幕和屏幕性能有太大的提升。
但DirectX 12 Ultimate横跨主机和PC,一些在主机上启动的游戏在开放到PC平台后可能会进行新功能的优化。
最后一个好消息:NVIDIA表示,RTX系列将完全支持DirectX 12 Ultimate的所有功能。AMD即将推出的Navi架构显卡也支持DirectX 12 Ultimate,AMD已经发布了第一个运行optical pursuit的DEMO。
未来几年,轻追将全面普及。