是计算着色器导致的过曝;需检查状态栏“cs”标识,确认后在ryujinx中取消勾选“use compute shaders for upscaling/post-processing”,或在yuzu中关闭异步编译、降gpu精度、禁用astc解码,并执行metal线性色彩空间命令。

Mac上运行Switch模拟器(如Ryujinx或Yuzu)时,某些游戏场景突然变纯白、失去所有细节,不是显卡过热或内存不足,而是计算着色器(Compute Shader)在特定光照路径下错误启用HDR输出或过度提亮——尤其在《塞尔达传说:王国之泪》洞窟出口、《异度神剑3》日光战场等高动态范围场景中高频出现。
确认是否为计算着色器导致的过曝
打开模拟器右上角状态栏 → 观察是否有“CS”或“Compute”字样持续高亮;若开启插帧(F6)或神经渲染(NVIDIA DLSS/AMD FSR开关),此时纯白现象会同步加剧——这是计算着色器与后处理叠加失控的典型特征。
这一步不能跳过。如果状态栏无CS标识,问题出在伽马或显示器OSD,而非本教程范围。
在Ryujinx中彻底关闭计算着色器
方法一:全局禁用(推荐,一劳永逸)
点击顶部菜单栏“Emulation” → “Options” → “Graphics” → 取消勾选【“Use Compute Shaders for Upscaling”】和【“Use Compute Shaders for Post-Processing”】两项 → 点击“OK”。
方法二:按游戏单独禁用(适合仅个别游戏出问题)
右键游戏列表中对应标题 → “Properties” → 切换到“Graphics”页签 → 在“Override Global Graphics Settings”下方勾选 → 将“Compute Shader Upscaling”和“Compute Shader Post-Processing”两项明确设为“Disabled” → 关闭窗口。
注意:改完必须完全退出Ryujinx再重启,仅热重载配置不生效——计算着色器初始化发生在进程启动瞬间。
在Yuzu中停用相关GPU加速选项
第一步:打开Yuzu → 点击右上角齿轮图标进入“Settings” → 左侧选择“Graphics”。
第二步:在“Enhancements”区域,将“VSync”设为“Adaptive”,务必关闭“Asynchronous GPU Shader Compilation”——该选项会提前编译着色器但不校验输出范围,是Mac端过曝主因。
第三步:下滑至“Advanced”区域 → 将“GPU Accuracy”从“High”降至“Normal” → 同时取消勾选“Use ASTC Texture Decoding”(ASTC解码在Metal后端易触发亮度溢出)。
第四步:点击右下角“Apply”,然后关闭Yuzu并手动清空缓存:前往~/Library/Application Support/yuzu/shader_cache/,删除整个文件夹(系统不会自动重建旧着色器)。
强制Metal后端使用线性色彩空间
这一步针对Mac全系M系列芯片用户,绕过系统默认的sRGB非线性映射,避免计算着色器输出值被二次拉高。
打开“终端.app”,输入以下命令并回车:
defaults write org.yuzuemu.yuzu MetalLinearColorSpace -bool true
defaults write net.ryujinx.Ryujinx MetalLinearColorSpace -bool true
执行后无需重启模拟器,下次启动即生效。该设置仅影响Metal渲染管线,不影响CPU模式运行。











