在微软首次引入高级着色器交付(Advanced Shader Delivery,简称ASD)技术一年后,该方案现已扩展至主流游戏引擎与数字发行平台。借助ASD,PC游戏在性能一致性与可预测性上,有望最终看齐专用游戏主机。

Epic Games近日更新虚幻引擎5.x官方文档,宣布虚幻引擎5.8将原生支持微软ASD技术。这一变化通过新内置的命令行工具实现,旨在解决长期困扰PC玩家的着色器编译卡顿问题,尤其是虚幻引擎5常被诟病加剧此类现象。

技术原理:云端缓存替代本地编译

着色器编译卡顿是现代PC游戏体验的主要痛点之一。当游戏首次启动Direct3D 12时,GPU驱动程序需将着色器编译为特定代码,并创建管线状态对象(PSO)以配置渲染管道。ASD通过将部分编译负载从本地PC转移来解决此问题,其核心包含两项技术:状态对象数据库(SODB)和预编译着色器数据库(PSDB)。SODB提供存储游戏数据的标准化格式,PSDB则作为预编译着色器的远程缓存。

随UE 5.8发布的ASD工具可从打包好的Windows游戏构建版本中生成SODB,其中包含特定版本的着色器和PSO数据。第三方数字发行平台可利用这些数据库,为多种支持的GPU系列和驱动版本预先编译并分发着色器数据,从而显著减少运行时的编译等待。

局限性与部署时间表

尽管前景可观,但目前ASD工具仅支持使用着色器模型6的Direct3D 12游戏,光线追踪PSO尚不在支持之列。此外,每当游戏构建版本引入着色器更改,开发者均需重新生成更新的SODB。

Epic强调,ASD旨在补充而非取代现有的虚幻引擎功能,如PSO预缓存和捆绑PSO缓存。建议开发者在采用ASD后仍保持启用PSO缓存,目前尚无解决卡顿的万能方案。

在部署进度方面,游戏工作室目前已可向微软商店提交编译好的SODB。针对Steam和Epic游戏商店的支持预计将于2027年初上线。基于ASD的解决方案要求用户安装最新图形驱动程序,其最终目标是支持跨厂商的游戏GPU,并拓展至PC与移动设备领域。