retroarch 中文文档 下载 App

着色器 Shaders 是什么 RetroArch 图像渲染的杀手级功能

Shader 是什么

Shader(着色器)是在游戏画面渲染到屏幕之前,对每一帧图像进行二次处理的图形滤镜。它可以让你在现代显示器上复刻复古 CRT 电视的扫描线和色彩、让像素风游戏更锐利、或叠加各种创意效果。

RetroArch 是最早一批大规模使用 Shader 的模拟器程序之一(2010 年),至今仍保持领先——支持最多 16 个 Shader Pass(叠加 16 层效果)和最多 128 个参数可调。

着色器效果对比
着色器效果对比

Shader 能做什么

效果类型说明适用场景
CRT 扫描线模拟复刻老式 CRT 电视的扫描线、圆角、色彩特性复古游戏视觉还原
锐化 / 反锯齿让像素风游戏更锐利或平滑边缘LCD 上显示像素游戏
分辨率缩放智能放大低分辨率图像像素艺术游戏
Handheld Border给 Game Boy / GBA / DS 模拟画面加上游戏机外壳掌机游戏体验
色彩校正调整色温、饱和度、亮度匹配怀旧感
创意效果边缘发光、辉光、复古滤镜等个人风格

三种 Shader 语言

RetroArch 支持三种 Shader 格式,按后端渲染器自动选择:

语言后端状态推荐性
SlangVulkan / D3D10-12 / Metal / OpenGL Core / WiiU活跃维护推荐,功能最全、参数最丰富
GLSLOpenGL(移动端 / 旧设备)维护中OpenGL 设备上用
Cg旧版 OpenGL已废弃新安装不再推荐

Online Updater 里分别有 Update Slang Shaders / Update GLSL Shaders / Update Cg Shaders 三条下载入口。如果你不确定选哪个,先更 Slang——这是现代设备上的首选。

预设(Preset)vs 单个 Shader

一个 Shader 文件是一种单一的图像操作。但实际使用时,往往需要叠加多层效果——比如先锐化、再扫描线、再色彩校正。

多个 Shader 叠加后保存成预设文件(.slangp / .glslp)。RetroArch 内置了大量预设,按效果分类放在 Online Updater 下载的 Shader 包里。

加载 Shader 时实际上是在加载一个预设——不是单个 Shader 文件。

Shader 可以 Override

和视频比例一样,Shader 也可以按 Core / 按游戏保存:

举例:PS1 Core 默认用 CRT 扫描线 Shader,GBA Core 默认用锐化 Shader——分别在各自 Core 下调好后 Save Core Override。

Shader 对性能的影响

Shader 叠加越多、参数越复杂,GPU 负担越大。叠加 4 层以上效果在低端设备上可能导致帧率下降。

如果游戏开启 Shader 后卡顿:

HDR Shader 支持

RetroArch 的 Vulkan 后端支持 HDR Shader——如果你的显示器支持 HDR,可以让 RetroArch 输出 HDR 格式的游戏画面。但这需要游戏本身或 Shader 预设专门为 HDR 设计,普通 CRT 模拟 Shader 效果不变。