快科技 9 月 18 日消息,微软已将高级着色器交付(Advanced Shader Delivery,ASD)功能面向所有 D3D12 PC 游戏开发者开放,目标是干掉两件让 PC 玩家头疼的事:漫长的着色器编译等待和游戏过程中的突然卡顿。
着色器卡顿至今仍是 PC 游戏最烦人的问题之一,着色器需要根据游戏、显卡和驱动组合做编译,如果放到首次启动时编译,等待时间拉得很长;如果放到游戏过程中编译,就会出现短暂卡顿。
ASD 的思路就是把编译工作提前到游戏启动之前搞定,开发者把用到的管线状态对象和状态对象采集到 SODB 里,再为不同硬件生成预编译着色器数据库,随游戏或通过商店推送到玩家电脑上。

ASD 最早在 ROG Xbox Ally 上首发,后来扩展到更多 Windows 11 PC,今年 6 月面向 RDNA 1 到 RDNA 4 架构的 Radeon 显卡开放。这次全面开放的关键是开发者可以自己生成、测试和准备着色器数据了。
微软给出了两种方式:直接从引擎里生成数据,或者用 D3DConfig 录制游戏过程。后者不用改引擎,已经发售的游戏也能用,但要覆盖尽可能多的画面设置、游戏场景和硬件路径,微软建议测试时缓存命中率至少做到 90%。
不过面向所有开发者还不等于面向所有玩家,目前得满足 Windows 11 24H2 Build 26100.1000 及以上、DirectX Agility SDK 1.619.5 及以上,还得有支持 ASD 的显卡驱动。
效果方面,微软拿《极限竞速:地平线 6》做了演示,在 RX 7600+ 锐龙 7 5800 的配置上,着色器加载从近一分半钟压到约 4 秒,降幅约 95%。
Tom's Hardware 今年 5 月也用 RX 9070 XT 在六款游戏里实测,加载时间都有明显缩短,部分场景 1% 低帧最多提升了 33%。

【本文结束】如需转载请务必注明出处:快科技
责任编辑:黑白


登录后才可以发布评论哦
打开小程序可以发布评论哦