一款名为SCSKiller的全新免费开源工具正向现代PC游戏中最顽固的问题之一发起直接挑战,其全称为“着色器编译卡顿杀手”(Shader Compilation Stutter Killer),专治着色器/管线状态对象(PSO)编译卡顿。

该工具由BlueHeisenberg开发,SCSKiller试图完成许多PC游戏自身至今未能妥善处理的工作。程序会扫描游戏附带的着色器,判断其可能构建的管线,并在游戏启动前将它们编译进GPU驱动的着色器缓存。理论上,这意味着当某个特效在游戏过程中首次出现时,驱动无需停下来编译这些管线,从而有望消除即时PSO编译卡顿。
该工具目前支持DirectX 12下的英伟达(NVIDIA)和AMD GPU(遗憾的是,截至撰稿时英特尔(Intel)GPU仍不受支持),同时支持英伟达硬件上的DirectX 11游戏。它可以自动发现通过Steam、Epic游戏商城(Epic Games Store)、EA App、GOG、Ubisoft Connect、Xbox PC应用和Battle.net安装的游戏。一个可选的录制器还能捕获无法直接从游戏文件中确定的管线,之后SCSKiller可以为后续会话编译它们。
开发者自己的测试已经显示出一些惊人的结果。在《最终幻想7:重生》(FINAL FANTASY VII Rebirth)中,一块RTX 5090在冷缓存下记录到19次持续20毫秒或更长的着色器编译停顿,而运行SCSKiller后降为零次。《霍格沃茨之遗》(Hogwarts Legacy)从1,014次此类停顿降至87次,而《星球大战 绝地:幸存者》(Star Wars Jedi: Survivor)则从惊人的9,038次降至仅11次。
我们也亲自用史克威尔·艾尼克斯(SQUARE ENIX)的《最终幻想7:重生》试用了SCSKiller,效果立竿见影。该游戏内置的着色器编译阶段相对较短,显然没有预编译实际游戏过程中遇到的几乎所有内容。而SCSKiller最终为该游戏生成了大约3 GB的英伟达PSO二进制文件。
该过程完成后,在我们测试中,通常困扰《最终幻想7:重生》的着色器编译卡顿基本被消除。这种差异在首次穿越区域、在原本冷着色器缓存的情况下遇到特效时尤为明显。SCSKiller消除了许多与某些特效——比如武器特效——首次出现相关的卡顿,大幅提升了我们游玩《最终幻想7:重生》的体验。
然而,有一个重要的局限:SCSKiller只能解决着色器编译问题。它无法消除地图穿越、资源流送、CPU或其他不相关的卡顿,因此那些以卡顿闻名的游戏未必能一夜之间变得完全流畅。
尽管如此,这是我们见过的在系统层面解决着色器编译卡顿的社区方案中最有前景的之一。SCSKiller可通过其官方GitHub仓库获取,当前1.2.0版本提供安装程序和便携版两种形式。



