刚更新完显卡驱动,昨天还很流畅的游戏突然隔几秒就顿一下;或者每次打开游戏,都要重新看一遍“正在编译着色器”的进度条。这时候最常听到的建议就是“清一下着色器缓存”。可不少人清完之后发现第一局反而更卡,以为自己弄坏了什么。
本文以 2026 年 11 月 10 日的情况为准,按顺序讲清楚着色器缓存是什么、什么时候该清、Windows、N卡、A卡分别怎么清,以及为什么游戏内的着色器预加载值得耐心等完。这种情况在现代战争4这类首次启动和大更新后要提前准备着色器的游戏里,以及红色沙漠这种开放世界大作里尤其常见,因为第一次跑图时新画面会接连出现。先说清楚一点:清缓存并不会提高平均帧数,它的作用是清掉损坏或过期的缓存,减少反复编译和瞬间掉帧。
按症状先做什么
| 症状 | 可能原因 | 先做什么 |
|---|---|---|
| 只有驱动更新后的第一局卡 | 游戏正在按新驱动重新生成着色器 | 先别清,再玩两三局再判断。 |
| 每次启动都从零开始编译着色器 | 缓存没有保存下来或已损坏 | 清除 Windows 的 DirectX 着色器缓存和显卡缓存,然后重启。 |
| 连续几天都在同一位置顿卡 | 缓存过期或损坏 | 清除显卡那边的缓存,再把同一位置跑两遍对比。 |
| 预加载没跑完就进的那局卡 | 预编译没有完成 | 在主菜单等进度条走满。 |
| 把N卡着色器缓存大小设为禁用后更卡了 | 缓存存不下来,每次都重新编译 | 把着色器缓存大小改回驱动程序默认值。 |
| 游戏本身流畅,只有录屏视频卡 | 录制编码设置问题 | 按游戏录制卡顿解决方法的顺序检查录制设置。 |
清之前先搞懂:缓存是干什么的,清掉会发生什么
着色器是让显卡画出光照、阴影、水面、烟雾等效果的小程序。使用 DirectX 12 或 Vulkan 的新游戏,需要把着色器按你的显卡型号和驱动版本转换(编译)一遍,再把结果存到硬盘上,下次直接复用。这份存下来的数据就是着色器缓存。
游戏第一次遇到没有缓存的画面时,会当场编译,画面就会顿一下,这就是常说的着色器编译卡顿。更新驱动或者游戏打了大补丁之后,旧缓存对不上了,就会重新编译,所以更新后卡顿和编译画面会扎堆出现。这是正常现象,不是故障。
真正需要清缓存的是另外几种情况:更新后玩了好几天,同一个位置还是一直卡;每次启动都从零开始编译;或者出现贴图错乱、画面闪烁,像是缓存损坏。这时清空缓存,下次启动会重新干净地生成。但清完后的第一次启动和第一局要把所有着色器重新做一遍,耗时更长,也可能比平时更卡。所以判断效果要看第二局、第三局,而不是第一局。同一段路再跑一次卡顿变少了,就说明有效;没变化,原因就在缓存之外。
清理着色器缓存的步骤
- 1先等游戏内着色器预加载跑完像近几年的使命召唤这样,游戏内自带着色器预加载(预编译)的作品,先从这里确认。这一步是首次启动的重要环节,离开主菜单就会暂停,没跑完就进对局可能导致性能下降。现代战争4在大更新后会再跑一次,中途打断下次启动也能接着进行。从 2026 年 10 月 21 日起,在 Windows 11(24H2 及以上)且显卡受支持(如 NVIDIA RTX、AMD RDNA 系列)的电脑上通过 Microsoft Store 或 Xbox PC 应用安装的版本,还能借助 Advanced Shader Delivery 直接下载预编译好的着色器,生效时启动画面左下角会显示“Precompiled shaders installed”。先把显卡驱动更新到最新;如果没看到这行字,就等主菜单的进度条走满再进对局。
- 2删除 Windows 的 DirectX 着色器缓存Windows 11 打开“设置”>“系统”>“存储”>“临时文件”,在列表里只勾选“DirectX 着色器缓存”,点“删除文件”。也可以用磁盘清理:在开始菜单搜索“磁盘清理”,选 C 盘,勾选同名项目后删除。其他不需要的项目取消勾选即可。存档和游戏设置不在这一项里。
- 3N卡:检查着色器缓存大小并清空缓存文件夹打开 NVIDIA 控制面板,进入“管理 3D 设置”>“全局设置”,找到“着色器缓存大小”。如果之前照着优化教程把它设成了“禁用”,这本身就可能导致反复编译,改回“驱动程序默认值”。想彻底清空,可以先暂时设为“禁用”并重启,然后在文件资源管理器地址栏输入 %LOCALAPPDATA%\NVIDIA,删除 DXCache 和 GLCache 文件夹里的文件。较新的驱动还会在 AppData\LocalLow\NVIDIA\PerDriverVersion 下存放缓存,也一起检查。删完后一定要改回“驱动程序默认值”,再重启一次。控制面板里的其他选项见NVIDIA 控制面板游戏设置。
- 4A卡:执行重置着色器缓存打开 AMD Software: Adrenalin Edition,在“游戏”选项卡的“显卡”里展开高级设置,可以看到“重置着色器缓存”。点“执行重置”,驱动保存的着色器缓存就会被清除。不同版本菜单位置略有差别,找不到的话在 AMD Software 的搜索框里输入“着色器缓存”。这个按钮只清驱动那一层的缓存,Windows 的 DirectX 着色器缓存要按前面的步骤另外删除。
- 5重启后让首次启动把编译跑完重启电脑再打开游戏,因为要从零重建所有着色器,编译画面会比平时更久。不要切出窗口,也不要马上进对局,等它跑完。Steam 上使用 Vulkan 或 OpenGL 的游戏,在 Steam 设置里保持开启“着色器预缓存”,可以下载预先编译好的着色器,缩短首次启动时间。
- 6同一段跑两遍再对比原来卡的地点或地图,第一遍先正常跑过去生成缓存,第二遍按同样路线再跑一次再看效果。第一遍正在生成新缓存,不适合拿来比较。想看数字的话,按游戏里怎么显示帧数把帧数显示打开。重点不是平均帧数变没变,而是突然掉帧的次数有没有减少。
清完后确认这几项
- 游戏内的着色器预加载或编译进度已经走满。
- N卡的着色器缓存大小是“驱动程序默认值”,不是“禁用”。
- 对比的是清除后的第二局及以后,而不是第一局。
- 对比时地点、画质设置、后台程序都保持一致。
- 清完后如果每次启动还是重新编译,已经检查过 C 盘剩余空间。
用前后录像确认卡顿是否真的减少
着色器卡顿只有一瞬间,光凭“感觉好一点了”很难下结论。清缓存之前先把会卡的那一段录一遍,清理后在第二局把同一段再录一遍,两段放在一起看,差别一目了然。DOR 是一款免费的 Windows 游戏录屏软件,启动支持的游戏后会自动识别,录下整局或从启动到退出的整段游玩,录好的视频都集中在软件的“我的剪辑”里。
现代战争4会分别识别战役和多人模式,录下整段游玩。只需在软件里把要对比的片段按 16:9、9:16、1:1 裁剪保存,再到 DOR 工作室(dor.gg/studio)把两段拼在一起导出 mp4,或者用 dor.gg 链接分享,去贴吧或 B 站评论区求助时也能直接给人看。
在 RTX 系列等支持的 NVIDIA 显卡上,DOR 会用 NVENC 硬件编码录制。怎么让两次录制条件保持一致,可以参照换外设前后录像对比的方法。



