Cemu 中文文档 下载 App

Cemu Shader Cache 导入 — 跳过首次编译的最快方法

为什么要导入 Shader Cache

即使开了异步编译,第一次玩一个新游戏(尤其是旷野之息这种超大开放世界)还是需要花 10~20 分钟让后台线程慢慢把所有着色器编完。

Shader Cache 导入的原理:直接用别人已经编译好的缓存文件——Cemu 启动后发现缓存已经存在、且版本兼容,就跳过整个编译过程直接用。游戏瞬间丝滑。

缓存在哪下

社区维护的 Shader Cache 主要来源:

Vulkan 需要两个文件

这是最容易踩的坑。

图形 API需要的缓存文件通用吗
OpenGL只有 Shader Cache跨硬件、跨区域通用
VulkanShader Cache + Pipeline CacheShader Cache 跨区域通用;Pipeline Cache 锁定游戏区域

如果用 Vulkan:

  1. 先确认你的游戏是欧版、美版还是日版(游戏标题上通常会标 EUR / USA / JPN)
  2. 下载对应同一区域的 Pipeline Cache
  3. Shader Cache 可以随便下,不区分区域

Pipeline Cache 按区域锁定是因为 Wii U 游戏不同区域版本可能有微小的着色器差异——用错了区域的 Pipeline Cache,Cemu 会忽略它然后重新编译。

导入步骤

第一步:下载缓存

去社区站点找到你的游戏,确认:

第二步:解压到 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 的区域对不对。

缓存文件要清理吗

平时不要删。缓存文件是你游戏流畅的关键——删了就得重新编译。

只有这两种情况清理:

  1. 换了显卡(Vulkan Pipeline Cache 和 GPU 绑定)
  2. Cemu 大版本升级(OpenGL Shader Cache 格式可能变了)

清理方法:删掉 Cemu/resources/shadercache/ 目录下所有文件,重启 Cemu 让它从零开始。

自己的缓存也能分享

玩了一个游戏很久、编译完了所有着色器后:

  1. 关闭 Cemu
  2. 去 Cemu/resources/shadercache/ 找对应游戏 ID 的所有文件
  3. 打包成 zip,可以上传给社区分享

常见问题

导入了缓存还是卡

按顺序排查:

  1. Pipeline Cache 的区域对吗?(欧版游戏要用 EUR 的 Pipeline Cache)
  2. 图形 API 匹配吗?(Vulkan 的缓存不能给 OpenGL 用,反过来也不行)
  3. 缓存文件有没有真的放进 resources/shadercache/ ?
  4. 显卡驱动版本差太远了?

缓存文件重名覆盖

不同游戏有不同游戏 ID,缓存文件名不重。但同一游戏的不同区域版本(EUR/USA/JPN)有不同 ID——各自独立,不会互相覆盖。

自己编译的缓存 vs 社区缓存

没有区别。Cemu 只认文件格式和版本兼容,不管是谁编译的。

快速导入清单

下一节:VSync 匹配