Cemu 帧率低或卡顿 — 30 帧锁死、着色器卡顿、CPU/GPU 瓶颈分别排查
先分清楚是哪种卡顿
| 症状 | 可能原因 |
|---|---|
| 稳定 30fps 上不去 | 游戏锁帧(FPS++ 没开) |
| 首次进场景卡几秒,之后正常 | 着色器编译(正常现象) |
| 每隔几秒随机卡一下 | 着色器编译中(异步开了但还是有漏网) |
| 全程卡、帧率在 20~30 之间 | GPU 或 CPU 瓶颈 |
| 帧率数字正常但画面跳 | VSync 或垂直同步问题 |
场景一:稳定 30fps 上不去
最常见原因:游戏原生锁了 30fps,你没装 FPS++。
解决:
- Options → Graphic packs
- Download latest community graphic packs
- 找到你的游戏 → 勾选 FPS++
- 点开 FPS++ 配置 → Framelimit 设成 60
- Speed hack correction 必须勾上
如果已经装了 FPS++ 但还是 30fps:检查是不是同一个区域版本的游戏 + Pack(EUR 游戏要用 EUR 的 FPS++)。
场景二:首次进场景卡几秒
正常现象——着色器编译。Cemu 需要把 Wii U 的着色器翻译成 PC GPU 能理解的。第一次遇到新场景的着色器就会卡。
解决方案:
- 开 Vulkan + Async shader compiler(减少卡顿感,但不是完全消除)
- 导入社区 Shader Cache(直接跳过编译,完全不卡)
导入后效果立竿见影——首次进场景也不卡了。
场景三:全程卡(20~30fps)
这时候需要看:是 GPU 不够还是 CPU 不够。
检查 GPU 占用率
启动游戏时打开任务管理器 → 性能 → GPU:
- 如果 GPU 占用率长期 90%+(满载):GPU 瓶颈
- 如果 GPU 只有 30~50%:CPU 瓶颈
GPU 瓶颈怎么解决
GPU 不够的典型表现:开了 Resolution Pack + FPS++ 60fps 后帧率上不去。
优化手段:
- 降低内部分辨率:4K → 1440p → 1080p → Native 720p,逐级降
- 关掉高分辨率阴影(Shadows Pack)
- 关掉 Draw Distance 增强
- 分辨率降下来 FPS++ 还能跑 60fps 就够了——帧率比分辨率重要
CPU 瓶颈怎么解决
Cemu 对 CPU 的需求经常被低估——它要做 Wii U 指令的 JIT 转译,主循环基本是单线程的。
优化手段:
- 关掉 Accurate barriers (Vulkan)
- 确保没有其他后台程序抢 CPU(浏览器标签太多、后台下载等)
- 笔记本插电源运行(用电池时 CPU/GPU 会降频)
- 换更好的 CPU——i3 → i5 → i7,单线程性能提升对 Cemu 很显著
典型硬件 vs 游戏体验
| 配置 | 旷野之息 | 马里奥赛车 8 | 1440p+60fps? |
|---|---|---|---|
| GTX 1060 + i5-8400 | 40~50fps | 55~60fps | 基本能 |
| RTX 3060 + i5-12400 | 60fps 稳 | 60fps 稳 | 完全可以 |
| RTX 4060 + Ryzen 5 7600 | 60fps+ | 60fps 稳 | 4K + 60fps 都行 |
| 集成显卡 | 20~30fps | 30~40fps | 别想 |
场景四:帧率正常但画面跳
可能原因:
VSync 问题
如果 VSync 设成了 Off 但用的是 Vulkan:
- 画面撕裂
- 用 Match emulated display (Experimental) 或 Double buffering
显示器刷新率没设对
Windows 设置 → 显示 → 高级显示 → 选择刷新率,确保选了显示器的最大刷新率(144Hz 显示器没理由设成 60Hz)。
显示器自适应刷新率(G-SYNC / FreeSync)
如果显示器有自适应刷新率:
- Vulkan + VSync Off → G-SYNC/FreeSync 接管,画面不会撕裂
- 这是最佳组合
macOS / Linux 上的特殊情况
- macOS 只有 OpenGL,没有异步着色器编译——卡顿会比 Windows 的 Vulkan 版本明显
- macOS 通过 Rosetta 2 转译运行 x86 二进制,有额外性能损失
- Linux 上 Vulkan 支持很好(Mesa AMD、NVIDIA),性能接近 Windows
快速优化清单
- [ ] 游戏锁 30fps?→ 装 FPS++ Graphic Pack
- [ ] 首次进场景卡?→ 开异步编译 + 导入 Shader Cache
- [ ] GPU 瓶颈?→ 降内部分辨率、关阴影、关视距增强
- [ ] CPU 瓶颈?→ 关 Debug 里的 Accurate barriers、关后台
- [ ] 画面跳?→ VSync 改 Match emulated 或 Double buffering
- [ ] 显卡驱动最新?
- [ ] Vulkan 开了吗?
- [ ] 独显选对了吗(不是核显)?
一个经验
对于旷野之息这种开放世界,第一次玩的时候让游戏在安全区域(比如初始台地)原地放着 15~20 分钟。让它把所有基础场景的着色器编译完(或者导入社区 Shader Cache 一次性搞定),之后跑起来就丝滑了。这是最有效的"热身"方式。