3 月 25 日消息,美国时间 3 月 21 日,微软在 GDC 2024 游戏开发者大会上召开了名为“DirectX State of the Union”的开发者会议,AMD 和英伟达出席。
其中,微软宣布了自主 GPU 绘图子系统“Work Graph”和超分辨率技术标准化规范“DirectSR”,两项技术将作为 DirectX 的新功能。
根据日媒 4Gamer 发布的会议信息,微软开发者 Shawn Hargreaves 表示:“近年来困扰 PC 游戏玩家的设置之一是与超分辨率相关的设置,超分辨率是一种 upscaler。”
他表示:“特别是近年来,GPU 已经开始兼容实时光线追踪,但实际上其性能并没有那么高。因此,许多最新的游戏图形都涉及低分辨率的光线追踪,通过选择反射、阴影、间接照明、全局照明和环境光遮挡等一些元素来绘制图像。其他元素使用传统的光栅化方法以合理的分辨率渲染,然后与低分辨率光线追踪结果相结合。然而,直接显示在分辨率方面还不够,因此需要将其放大到 4K 等高分辨率然后再显示。”
各个 GPU 厂商都开发出了自己的超分辨率技术,比如英伟达的“DLSS”(深度学习超级采样)、AMD 的“FSR”(FidelityFX 超分辨率)、英特尔的“XeSS”(Xe 超级采样)。upscaler 相继被提出,“低分辨率渲染,然后通过超分辨率处理升级”的游戏图形渲染趋势确立。此外,还有许多游戏工作室将独立开发的超分辨率 upscaler 融入其游戏中。
用户对采用此类超分辨率工具抱有很高的期望,而游戏开发商则面临着适配压力,他们需要将尽可能多不同类型的超分辨率工具纳入最新游戏。
此外,微软也希望在 Windows PC 和 Xbox 平台更好地支持游戏超分辨率,因此推出了统一的 DirectSR 标准化规范。
目前的问题是,如果游戏开发者想要在游戏中实现例如 DLSS、FSR 和 XeSS,所有这些着色器代码都需要包含在游戏中。虽然每种技术都有其“优缺点”,但处理系统却非常相似,转换游戏视频分辨率、还原和增强分辨率感的功能是相同的。如果是这样,则无需在游戏中实现所有 DLSS / FSR / XeSS 着色器代码。微软认为将这些核心处理部分整合到 DirectSR 下将是一个好主意。
通过这种机制,游戏制作方只需调用 DirectSR,执行超分辨率 upscaler 所需的预处理并准备好参数,就可以支持所有 DLSS / FSR / XeSS。
对于 FSR 和 XeSS 等在执行过程中不依赖于特定 GPU 功能的机制,DirectSR 运行时将配备在所有 GPU 上运行的通用代码。每当新的超分辨率 upscaler 出现时,微软都会添加核心处理部分并更新 DirectSR 运行时。
对于 DLSS 等基于 AI 的超分辨率工具,这些超分辨率 upscaler 的核心处理部分使用 GPU 推理加速器(NPU),因此看起来很难处理。有了 DirectSR 之后,游戏开发者只需进行超分辨率 upscaler 所需的预处理并准备好参数,并仅使用 DirectSR 的前端处理。
也就是说,DirectSR 规范了两种超分辨率 upscaler 核心部分处理方式,一种是由 DirectSR 端所有 GPU 的通用代码处理,另一种是由 GPU 驱动程序端处理,取决于每个 GPU 制造商的选择。
根据 AMD 开发者 Rob Martin 的介绍,FSR2 最初是作为通用着色器程序编写的,因此只要非 AMD GPU 支持 Compute Shader 6.2 或更高版本,就可以在非 AMD GPU 上运行。“DirectSR 将 FSR2 的核心处理部分集成到 DirectSR 运行时中,因此如果准备好必要的预处理和参数,游戏就可以在没有 FSR2 代码的情况下毫无问题地运行。”
DirectSR 的推出时间尚未确定,预计将在明年的 GDC 2025 上看到带有视频的实际演示,小伙伴可以期待一下。