知名游戏引擎 Unreal Engine 正准备解决 PC 用户最头疼的问题之一,即由着色器编译(Shader Compilation)引起的性能“卡顿”(stuttering)。根据 Epic Games 官方文档的最新更新,即将发布的 UE 5.8 版本将提供对微软开发的 Advanced Shader Delivery (ASD) 技术的原生支持。
当游戏在运行过程中首次被迫针对用户的显卡(GPU)规格和驱动程序进行着色器编译和适配时,通常会出现此问题,导致帧率突然下降。ASD 技术旨在将部分工作负载从用户的本地设备上转移出去。
这项技术如何运作?
ASD 技术基于两个核心技术支柱:
- 状态对象数据库 (SODB): 提供了一种统一的格式来存储与游戏着色器相关的数据。
- 预编译着色器数据库 (PSDB): 作为已预先准备好的着色器的远程缓存(Cache)。
通过 UE 5.8 中集成的新软件工具,开发者将能够从游戏的最终版本(Cooked builds)中创建 SODB 文件。此后,数字商店可以使用这些数据来分发针对不同显卡系列和驱动程序版本优化过的现成着色器,从而减少在玩家设备上进行实时处理的需求。
实际会有什么变化?
从实际角度来看,此举旨在使 PC 游戏体验更接近专用游戏主机(Consoles)所提供的性能稳定性。然而,需要注意的是,该技术本身并非“万能药”;Epic Games 建议开发者继续将现有的缓存功能(PSO caching)与 ASD 结合使用,以确保获得最佳效果。
当前的局限与挑战
尽管潜力巨大,但该技术在现阶段仍面临一些开发者需要考虑的技术限制:
- 支持有限: 该工具目前仅支持使用 Shader Model 6 的 Direct3D 12 游戏。
- 缺乏光线追踪支持: 该技术目前不支持光线追踪(Ray-tracing)的管线状态对象(PSOs)。
- 持续更新: 每当游戏版本的着色器发生变化时,开发者都必须重新创建 SODB 文件。
至于可用性方面,游戏工作室现在就可以开始向微软商店(Microsoft Store)提交其 SODB 文件,而针对 Steam 和 Epic Games Store 平台的支持预计将在 2027 年初到来。