Cemu Shader Cache 导入 — 跳过首次编译的最快方法
为什么要导入 Shader Cache
即使开了异步编译,第一次玩一个新游戏(尤其是旷野之息这种超大开放世界)还是需要花 10~20 分钟让后台线程慢慢把所有着色器编完。
Shader Cache 导入的原理:直接用别人已经编译好的缓存文件——Cemu 启动后发现缓存已经存在、且版本兼容,就跳过整个编译过程直接用。游戏瞬间丝滑。
缓存在哪下
社区维护的 Shader Cache 主要来源:
- chriztr.github.io/cemu_shader_and_pipeline_caches/(最常用,按游戏名+区域分类)
- Cemu Wiki(compat.cemu.info/wiki)
- Cemu Discord 的 #shader-cache 频道
Vulkan 需要两个文件
这是最容易踩的坑。
| 图形 API | 需要的缓存文件 | 通用吗 |
|---|---|---|
| OpenGL | 只有 Shader Cache | 跨硬件、跨区域通用 |
| Vulkan | Shader Cache + Pipeline Cache | Shader Cache 跨区域通用;Pipeline Cache 锁定游戏区域 |
如果用 Vulkan:
- 先确认你的游戏是欧版、美版还是日版(游戏标题上通常会标 EUR / USA / JPN)
- 下载对应同一区域的 Pipeline Cache
- Shader Cache 可以随便下,不区分区域
Pipeline Cache 按区域锁定是因为 Wii U 游戏不同区域版本可能有微小的着色器差异——用错了区域的 Pipeline Cache,Cemu 会忽略它然后重新编译。
导入步骤
第一步:下载缓存
去社区站点找到你的游戏,确认:
- Vulkan 用户:下载 Shader Cache + Pipeline Cache 两个 zip
- OpenGL 用户:只下载 Shader Cache 一个 zip
- 区域对了(欧版游戏下 EUR 的 Pipeline Cache)
第二步:解压到 Cemu 目录
下载的 zip 解压后,里面应该是一些 .bin 或 .cache 文件。直接把解压出来的文件复制进 Cemu/resources/shadercache/ 目录——不需要额外操作,Cemu 下次启动会自动扫描。
解压后目录大概这样:
Cemu/resources/shadercache/
├── 00050000101c9500_TV.shadercache ← 旷野之息 Shader Cache
├── 00050000101c9500_PAD.shadercache ← GamePad 屏幕的 Shader Cache
├── 00050000101c9500_TV.pipelinecache ← Vulkan Pipeline Cache
└── (其他游戏的缓存文件...)
文件名里的长字符串(
00050000101c9500)是 Wii U 游戏 ID,不同游戏不同。
第三步:启动游戏
进游戏后,如果缓存兼容:
- 基本没有着色器卡顿——最多几帧小闪烁(异步编译还会跑,但很快)
- 直接丝滑
如果缓存不兼容(区域错了、驱动版本差太多),Cemu 会自动丢弃旧缓存、从零编译。这时候回去确认 Pipeline Cache 的区域对不对。
缓存文件要清理吗
平时不要删。缓存文件是你游戏流畅的关键——删了就得重新编译。
只有这两种情况清理:
- 换了显卡(Vulkan Pipeline Cache 和 GPU 绑定)
- Cemu 大版本升级(OpenGL Shader Cache 格式可能变了)
清理方法:删掉 Cemu/resources/shadercache/ 目录下所有文件,重启 Cemu 让它从零开始。
自己的缓存也能分享
玩了一个游戏很久、编译完了所有着色器后:
- 关闭 Cemu
- 去
Cemu/resources/shadercache/找对应游戏 ID 的所有文件 - 打包成 zip,可以上传给社区分享
常见问题
导入了缓存还是卡
按顺序排查:
- Pipeline Cache 的区域对吗?(欧版游戏要用 EUR 的 Pipeline Cache)
- 图形 API 匹配吗?(Vulkan 的缓存不能给 OpenGL 用,反过来也不行)
- 缓存文件有没有真的放进
resources/shadercache/? - 显卡驱动版本差太远了?
缓存文件重名覆盖
不同游戏有不同游戏 ID,缓存文件名不重。但同一游戏的不同区域版本(EUR/USA/JPN)有不同 ID——各自独立,不会互相覆盖。
自己编译的缓存 vs 社区缓存
没有区别。Cemu 只认文件格式和版本兼容,不管是谁编译的。
快速导入清单
- [ ] 确认游戏区域(EUR/USA/JPN)
- [ ] Vulkan 用户:下载 Shader Cache + 同区域 Pipeline Cache
- [ ] 解压到
Cemu/resources/shadercache/ - [ ] 启动游戏,感受零卡顿
- [ ] 无效 → 检查区域对不对