SCSKiller v1.3.2 使用流程:从着色器预编译到检查缓存状态
SCSKiller 为 Windows 游戏提供着色器预编译:读取安装文件中的着色器,规划管线,在游戏关闭时向显卡驱动缓存写入编译结果。它适合处理游戏运行中因临时编译而产生的停顿。对使用者而言,完整流程应包含扫描、判断是否需要录制、排队编译和确认缓存状态,而不只是点击一次 Compile。
下面以稳定版 v1.3.2 整理上手与排查顺序。涉及界面的图片为项目提供的示例数据画面,部分标有驱动 610.88,不能当成本版本在指定设备上的性能测量。
环境确认与安装包选择
先确认系统是 Windows 10 2004 或 Windows 11 的 64 位环境,显卡为 NVIDIA 或 AMD。官方支持 DirectX 12,DirectX 11 支持范围为 NVIDIA。Intel GPU 暂不支持,不应将没有单列限制的接口、厂商或操作系统自行补入兼容表。
首次安装使用 SCSKiller-Setup.exe。它按当前用户安装,无需管理员权限,并提供自动更新。便携形式使用 SCSKiller-1.3.2-Portable.zip,解压到可写目录,运行其中的 SCSKiller.exe;其设置和数据位于旁边的 data 文件夹,也支持更新。
不要把便携版理解成单文件程序。保留压缩包解出的配套内容,之后删除整个目录前先关闭游戏录制。发行页同时存在的 .nupkg 与更新清单属于更新器附件,普通首次运行不以手动安装这些文件为步骤。
当前发行尚无代码签名。SmartScreen 可能给出首次运行提示,SHA-256 对比用于完整性检查,不能证明程序安全或构建者身份。Windows 11 的 Smart App Control 若开启,会直接阻止未签名应用,官方给出的选择是等待签名发行,本文流程不以关闭它为前提。
扫描后先读 Library 的状态
启动后,软件会从 Steam、Epic Games、EA app、GOG、Ubisoft Connect、Xbox PC 等来源发现游戏,也支持手动添加。Library 中会列出着色器、管线、缓存及状态等信息,已知容易发生着色器卡顿的游戏会优先展示,并说明推荐原因。
发现安装位置只是扫描的结果。能否建立可用编译计划,还取决于游戏文件是否提供所需信息。如果出现需要录制的状态,应进入录制流程;游戏引擎本身已有着色器准备时,也应先读条目提示,而非将每款游戏都强行重新处理。

示例画面上方还有驱动缓存、驱动更新后策略和编译线程相关位置。实际配置应根据自己的任务需要查看,图里的线程数与缓存额度并不是推荐给所有电脑的统一数值。
建立一次可检查的编译任务
先选择一款游戏,并确认它已完全退出。查看推荐项后,可用 Add all recommended 将推荐游戏放入队列;如果只想处理一款,就保持较小的任务范围。进入 Compile queue 执行 Compile,等待任务运行。
编译过程中保持相应游戏关闭。队列会显示进度、处理速率及等待顺序,结束的任务仍保留结果。此时应同时看失败和跳过的原因,而不是只看列表是否为空。某些着色器被驱动拒绝,或计划中引用的内容并不在当前安装里,不能以"队列走完"推导全部成功。

该示例显示了正在编译、等待和已完成的不同状态。先用这些位置组织检查,真正的编译分钟数、缓存 GB 与失败数量要读自己的任务。不能用官方截图中的数值估算所有游戏需要多久。
编译完成后,可从原商店或 Play 按钮启动游戏。程序本身不必始终开着,游戏会自行读取驱动缓存;留着软件运行,则可继续检查编译结果是否进入游戏实际使用的缓存。是否留在后台,应由需要的观察功能决定。
v1.3.2 中 Done 和 Not reached yet 的区别
本版重点修复 NVIDIA 621.01 及以上驱动环境中的 DirectX 12 缓存处理。官方更新说明提到,特定路径避免逐次等待 Windows 缓存写盘,编译约快 1.7 倍。这是编译过程的条件性结果,不是画面渲染性能或平均 FPS 的倍数。
状态方面,编译结果真正进入游戏的 Windows 着色器缓存之后才显示 Done。若编译过的数据还没送到,会显示 Not reached yet;中断后留下的未送达数据,也会在游戏退出或软件启动等时机继续处理。软件不会在游戏运行时写入该缓存。
因此,排查"明明编译过,为什么还没生效"时,先看当前状态,再确认游戏是否退出。然后查看相关日志有无等待原因,避免同时启动游戏、反复清空缓存和重新排队,让多个变量混在一次尝试里。本版还涉及路径包含".exe"及旧驱动缓存位置的识别修复,更新意义不能简化为只更改了一个速度数字。
需要录制时,分成两个阶段
有些游戏的管线信息不能仅从静态文件推导。可以为合适的游戏开启 Record,实际游玩几分钟后退出,再进行编译。前一阶段收集信息,后一阶段准备缓存,不能将"正在录制"等同于"后台已经把全部缓存做好"。
录制开启后,游戏详情会展示会话帧时间,并区分 shader compile 与 other hitch。这可以帮助理解剩下的停顿属于哪一类。帧时间记录留在本机,资料显示的这种分类仍不等于对每次卡顿完成独立的外部诊断。

示例中的曲线、慢帧列表和较早的编译日期用于认识详情页,不作为 v1.3.2 的对比成绩。手机上整图文字较小,实际操作时重点对应图例名称;上文已经写明 Record、退出游戏和再次编译的顺序,不依靠读图内小字完成步骤。
反作弊、更新与无效情况
普通预编译读取游戏文件;可选录制会向游戏目录加入代理 DLL 和配置,二者的影响范围不同。带反作弊的游戏默认受限制,但软件允许用户明确确认一些例外会话。官方明确说明存在封号风险,检测也可能漏判。不要将例外开关列为通用安装流程,更不要以"开源"推导联机环境安全。
更换或更新显卡驱动后,旧缓存可能清除,软件可以识别并根据设置重新编译。保留已经有效的缓存,有需要再维护,通常比每次游玩前先清理一遍更符合这套工作方式。便携版移除之前,先关闭各游戏录制,再删除目录。
SCSKiller 基础本机能力免费、无需账号;社区着色器哈希数据库等为 Patreon 支持者功能。它针对的始终是着色器编译等待,资源流送、场景遍历或其他原因的卡顿不会因本次预编译一并消失,遗漏的着色器也仍可能在游戏中编译。
做一次效果观察时,固定游戏、驱动与场景,记录编译状态以及相同位置的停顿表现。不要只拿两次平均帧率判断成败。先确认任务完成到了哪一步,再判断剩下的问题,才能知道下一步该检查缓存、补录制,还是离开这条排查路线。
GitHub 仓库:https://github.com/BlueHeisenberg/SCSKiller