
2018年,光线追踪技术第一次在PC显卡上落地,也就是NVIDIA RTX 20系列,同时微软发布DirectX Raytracing(DXR)API杠杆风险控制,成为行业通用技术标准。 现在,微软发布了DX12 Agility SDK开发包的最新版,包括1.620正式版、1.722预览版,尤其后者引入了多项全新的光追技术,显著提升了性能。 这是DXR 8年来的第四次重点升级,也是最重磅的一次升级!

【光追飞跃,AMD很开心】 DX12 Agility SDK 1.722预览版的核心新增特性,包括集群几何体(Clustered Geometry)、分区顶层加速结构(Partitioned Top-Level Acceleration Structures,缩写PTLAS),以及GPU驱动的加速结构构建(GPU-driven acceleration structure builds)。
它们都属于DX Raytracing的底层高级图形特性,可以降低在复杂的动态环境下,进行光追踪计算时的开销。
传统上,光追需要构建并更新加速结构,用来表示场景几何体,也就是光追包围体层次结构(BVH)。
在包含大量动画、几何体流式加载、物体频繁变动等的环境中,因为细节往往是海量级别的,这一过程的计算开销尤为高昂。 新的集群几何体可以将几何体拆分为更小的、可重复使用的丛簇,而每个丛簇包含最多256个三角形和256个顶点。这些丛簇又可以组合成更大的加速结构,而无需从头开始重复构建几何体。 如此一来,开发者就可以在光栅化渲染和光追渲染中,重复使用同一套高细节的几何体,而且不需要付出过高的加速结构构建成本,就能提升反射与阴影的准确度。
以下是微软利用dx12_forest_ray_tracing演示集群模板(cluster templates)优化动态地形的构建。 在远景处,集群模板构成方形区块;向中景推进时,区块分辨率翻倍;到了近景,递归细分为三角形区块。 通过这一方式,画面在屏幕空间内实现了近乎均匀的三角形密度。


PTLAS允许开发者只更新场景中发生改变的部分,而不是完全重建整个顶层加速结构。 再结合GPU加速构建,就能提高大型、动态游戏世界的渲染效率。
有趣的是,微软还提到了NVIDIA RTX Mega Geometry技术,称它是实现同类技术的早期尝试。
如今有了这套新的DX标准化技术,可以让不同GPU厂商都获得类似技术。

NVIDIA RTX Mega Geometry技术演示(Zorah场景)


集群几何体

三角形模式
DX12 Agility SDK 1.722预览版目前支持的显卡如下,只需更新驱动即可:
元股证券:ygzq.hk- NVIDIA RTX 50/40/30/20全系列
- AMD RX 9000系列
- Intel Arc B系列、酷睿Ultra核显系列
至于是否能下放给AMD RX 7000系列、Intel Arc A系列,暂时不详。
微软还通过其D3D12RaytracingClusteredGeometry示例,展示了集群几何体对比传统底层加速结构(BLAS)的性能提升,截图一是传统BLAS模式,二是集群几何体模式。 演示显卡居然不是NVIDIA,而是AMD Radeon RX 9070,集群几何体可以让帧率从区区1.2 FPS,骤然提升到79 FPS,加速到了原来的约66倍。 更惊人的是,加速结构构建时间从788ms缩短至3.11ms,提速多达约254倍。 另外,GPU光追时间从72.6ms缩短至9.27ms,提速约7.8倍。
静态加速结构显存占用从723MB降至527MB,减少约27.1%;动画加速结构显存占用从6794MB降至244MB,减少约96.4%;加速结构显存占用总计从7519MB降至774MB,减少约89.7%。
唯一可接受的代价,就是临时显存需求更高,静态构建临时显存占用从1.83MB增至526MB,动态构建临时显存占用从8.25MB增至179MB。

传统BLAS模式

集群几何体模式

测试结果

同时,微软利用RTX 4090,对比了传统TLAS、新的PTLAS。
可以注意到,在大量多米诺骨牌倾倒时,二者的场景更新时间存在巨大差异:TLAS每一帧都需要完整重建,耗时长达2.88ms,而PTLAS采用局部写入(本例中为4702次写入),只需要0.79ms,提速约2.6倍。 当然,PTLAS的光线追踪耗时略高,从1.29ms增至1.96ms,增幅约52%,但这一代价换来了更新效率的大幅提升,是值得的。

传统TLAS

新的PTLAS
股票配资证券入口最后,微软调试和分析工具PIX已经支持集群几何体、PTLAS,不过还处于预览阶段。

【显卡崩溃的原因更好找了】 DX12 Agility SDK 1.620正式版重点改进了微软的高级着色器交付技术(Advanced Shader Delivery)。 最值得注意的是,部分图形程序(Partial Graphics Programs)允许开发者在多个管线配置之间,重复使用预编译的着色器组件,从而有可能减小着色器包体积,并降低编译开销。
AMD、Intel、NVIDIA、高通GPU均已在Windows系统下支持高级着色器交付,不过部分图形程序优化目前仅限AMD RX 9000/7000系列。

其他改进还有:
用于诊断GPU崩溃的DX转储文件(DirectX Dump Files)、Fence Barriers Tier 1、批量异步命令列表API(Batched Asynchronous Command List),以及面向机器学习负载的DX计算图编译器(DirectX Compute Graph Compiler)运行时接口。 DX转储文件功能非常实用,可以帮助游戏记录GPU崩溃时的相关信息,尤其是GPU在被Windows重置之前正在执行的操作,并发送给开发者做进一步排查。 在以往,开发者调查GPU崩溃原因往往十分困难,因为很多问题只会在特定显卡、驱动或游戏设置下出现。
DX转储文件让开发者不需要拥有GPU崩溃时相同的硬件平台,就能分析当时究竟发生了什么。
开发者可使用微软PIX工具的2610.28版本打开崩溃报告,分析问题成因,而且同一份报告可以在不同的PC上进行分析,方便团队协作。
该功能目前支持AMD RX 9000/7000系列、NVIDIA RTX 50/40/30/20系列(R620或更新驱动)。
Intel和高通将通过驱动更新在未来提供支持,其中高通的仅限骁龙X2系列。
微软还确认,Shader Model 6.10目前仍处于预览阶段,正式版计划在12月初随同DX12 Agility SDK 1.621正式版一起发布。
杠杆风险控制
国内实力配资网提示:本文来自互联网,不代表本网站观点。