LoveGame爱游戏
简体中文

技术参考

为什么 PS4 能模拟、PS5 这么难?x86、AMD 显卡、着色器和加密讲清楚(附术语表)

发布 更新 信息核对到 2026-11-0110 分钟读完

要点

  • PS4、PS5 的 CPU 都是 AMD 的 x86-64,和电脑同一种指令集,模拟器不用翻译 CPU 指令,游戏代码直接在你的处理器上跑。
  • 真正的工作量在显卡:游戏是为 AMD 定制显卡(PS4 是 GCN,PS5 是 RDNA 2)写的,模拟器要把显卡命令和着色器实时翻译成 Vulkan 能用的格式,这也是卡顿的主要来源。
  • PS5 更难,是因为显卡架构更新、图形接口不同、游戏规模更大,还有硬件解压和高速 SSD 这类 PS4 没有的东西;而且认真研究 PS5 模拟到 2026 年才开始。
  • 游戏和系统文件都是加密的,模拟器读的是解密后的文件;这一步不在模拟器里。
  • 手机和苹果芯片 Mac 是 ARM 架构,要先把 x86 代码翻译成 ARM(Rosetta 2、FEX),所以比 x86 电脑难得多。
目录
  1. 先看硬件:PS4 和 PS5 里装的是什么
  2. 模拟器要做哪几件事
  3. 难点一:显卡和着色器
  4. 难点二:PS5 多出来的东西
  5. 难点三:加密
  6. 为什么手机、苹果芯片 Mac 更难
  7. 术语表

PS4 能模拟得这么好,是因为它的 CPU 和电脑一样是 x86-64,游戏代码可以直接在你的处理器上跑;模拟器真正要做的,是把 PlayStation 定制 AMD 显卡的命令和着色器翻译到电脑显卡上,再重写一大堆系统库。 PS5 的 CPU 同样是 x86-64,起步也快,但它的显卡架构更新、图形接口不同、游戏更大,还多了硬件解压、高速 SSD 这类 PS4 没有的东西,所以截至 2026 年 11 月大作还远不能玩。手机和苹果芯片 Mac 用的是 ARM,要多一层 CPU 翻译,难度又上一个台阶。

先看硬件:PS4 和 PS5 里装的是什么

PS4(2013)PS5(2020)
CPUAMD Jaguar 8 核,1.6GHz,x86-64AMD Zen 2 8 核,最高 3.5GHz,x86-64
显卡AMD GCN 架构定制,18 个计算单元AMD RDNA 2 架构定制,36 个计算单元,最高 2.23GHz,10.28 TFLOPS
内存8GB GDDR5(176GB/s)16GB GDDR6(448GB/s)
存储机械硬盘825GB 定制 SSD,原始速度 5.5GB/s,带硬件解压(支持 zlib 和 Kraken)

两代都是 AMD 的「CPU + 显卡做在一颗芯片上」的方案,CPU 指令集和电脑一样。PS4 是第一台用 x86 的 PlayStation;在它之前的 PS3 用的是 IBM 的 Cell 处理器,和电脑的 CPU 完全不同,PS3 模拟器得先解决 CPU 指令翻译这一关。

模拟器要做哪几件事

部分真机上模拟器(以 shadPS4 为例)怎么处理难度
CPUAMD Jaguar 执行游戏的 x86-64 代码不模拟,直接在你的 CPU 上执行;只要求 CPU 支持对应的指令(x86-64-v3,含 AVX2)低
显卡游戏把命令包和着色器直接交给 AMD 显卡解析命令包,把 GCN 着色器重编译成 SPIR-V,再通过 Vulkan 交给你的显卡高
系统库PS4 系统提供图形、音频、网络、手柄等大量函数库大部分自己重写(HLE),少数可以加载真实模块(LLE)高,工作量大
文件系统游戏从硬盘读解密后的文件把游戏文件夹映射成 PS4 的目录结构,更新补丁叠加上去中
输入、音频、网络DualShock 4、PSN 等映射到电脑手柄、键鼠;联机用自建服务器(shadPS4 的 shadNet)中

shadPS4 官方 wiki 原话是「我们不模拟 CPU」,显卡是唯一真正被模拟的硬件。这就是 PS4 模拟器几年里从「能启动」走到「《血源》4K 60 帧」的根本原因。

难点一:显卡和着色器

游戏机游戏是为一种固定的显卡写的。PS4 游戏直接生成 AMD GCN 显卡能懂的命令包(PM4 格式)和着色器(显卡上跑的小程序,负责光照、材质、特效),电脑上的 NVIDIA、Intel 显卡根本不认识这些东西,就算是 AMD 显卡,驱动也不接受这种直接下发的方式。

所以模拟器得:

  1. 解析命令包:读懂游戏要画什么、用什么状态、绑定哪些贴图;
  2. 翻译着色器:把 GCN 机器码重编译成 SPIR-V(Vulkan 的通用着色器格式),再交给你的显卡驱动编译;
  3. 处理显卡特性:比如 GPU 写出、CPU 再读回的数据(readback)。shadPS4 在 v0.10.0(2025 年 7 月)实现了这一项,解决了《血源》里著名的「顶点爆炸」画面错误。

第 2 步要花时间,游戏第一次用到某个着色器时就会卡一下,这就是「着色器编译卡顿」。编译结果存进着色器缓存(shadPS4 放在 user/cache/<游戏编号>),第二次就不卡了。Digital Foundry 2026 年 1 月测试时也提到,有了着色器缓存后《血源》的卡顿基本消失。

PS5 模拟器做的是同一件事,只是对象换成 RDNA 2 显卡:KytyPS5 把 RDNA 2 着色器重编译成 SPIR-V 走 Vulkan 1.3,SharpEmu 也是 HLE 加 SPIR-V 着色器翻译。Tom's Hardware 报道 SharpEmu 的进展时,说的也正是「着色器翻译和 Vulkan 支持」在进步。

难点二:PS5 多出来的东西

PS5 的 CPU 和 PS4 同一路线,模拟器开发者可以直接借用 PS4 模拟器的经验,这是 2026 年 PS5 模拟器能在几周内跑起独立游戏的原因。但再往前走,难度明显变大:

  • 显卡更新:RDNA 2 的指令和功能比 GCN 多,命令格式、图形接口也不是 PS4 那一套,需要从头逆向。
  • 游戏更大:PS5 大作的资源量、着色器数量、对显存带宽的要求都远高于 PS4 游戏,翻译开销被放大。媒体报道里,《恶魔之魂》《宇宙机器人》目前只有个位数到几十帧,还常有画面错误。
  • SSD 和硬件解压:PS5 有专门的解压单元(支持 zlib 和 Oodle Kraken),游戏假定数据能以极高速度读进来。电脑上没有这个单元,模拟器只能用软件来做。
  • 起步晚:PS4 模拟器从 2022 年的 shadPS4 算起已经做了四年,PS5 像样的公开项目 2026 年 7 月才出现。

PS5 能玩 PS4 游戏,是因为 PS5 的 RDNA 2 显卡里专门加了兼容 PS4 GCN 显卡的电路——这是硬件兼容。模拟器没有这层硬件,PS4 和 PS5 在软件里是两份独立的工作。

另一条路是 AnyPS5:它不在运行时模拟,而是把 PS5 游戏的可执行文件改写(重链接)成 Windows / Linux 原生程序,再配上重写的系统库,思路类似 Steam 的 Proton。Tom's Hardware 的报道标题就点明,是 PS5 的 AMD Zen 2(x86-64)架构让这种类似 Proton 的做法成为可能。

现状见 PS5 模拟器出来了吗。

难点三:加密

PS4、PS5 的游戏安装包(PKG)、系统文件都是加密的,只有主机自己能解开。模拟器读取的是已经解密的游戏文件夹,解密这一步不在模拟器里。shadPS4 v0.8.0 起彻底删掉了处理加密安装包(PKG)的代码。游戏文件夹的结构、系统模块放哪,见 shadPS4 固件模块和游戏格式;法律上的问题见 PS 模拟器合法吗。

为什么手机、苹果芯片 Mac 更难

手机芯片和苹果 M 系列芯片是 ARM64 架构,不能直接执行 x86-64 代码,于是 PS4 模拟「CPU 免费」的优势没有了:

  • Mac:shadPS4 的 Mac 版本身是 x86-64 程序,靠苹果的 Rosetta 2 翻译运行,只支持 Apple 芯片和 macOS 26 以上;兼容报告里 Mac 上可玩的游戏明显少于 Windows、Linux。
  • 安卓:Bachata S4 这类非官方项目用 FEX 把 x86-64 实时翻译成 ARM64,再配 shadPS4 的渲染器。手机显卡又远弱于电脑,所以目前只有高端骁龙手机能勉强跑一些游戏,详见 安卓上能玩 PS4 吗。
  • 「单游戏移植」能绕开一部分问题:Bloodborne-Android 事先把《血源》的 x86 代码翻译成 ARM 原生代码,省掉了实时翻译。

术语表

CPU 和系统

术语一句话解释
x86-64电脑 CPU 的指令集,也是 PS4、PS5 CPU 的指令集。指令集相同,游戏代码才能直接在电脑上跑
x86-64-v3 / AVX2x86-64 的一个「功能等级」,包含 AVX2 等较新指令。shadPS4 要求 CPU 至少达到这一级(Intel Haswell、AMD Excavator 或更新)
ARM64手机和苹果 M 系列芯片的指令集,和 x86-64 不兼容
Rosetta 2苹果在 Apple 芯片 Mac 上把 x86-64 程序翻译成 ARM64 的工具,shadPS4、KytyPS5 的 Mac 版都靠它
FEX开源的 x86-64 → ARM64 翻译层,安卓上的 PS4 模拟项目用它执行游戏代码
Jaguar / Zen 2PS4 / PS5 的 AMD CPU 核心架构
HLE(高层模拟)模拟器自己重新实现主机的系统库。快,但没写完的功能会出错
LLE(低层模拟)直接加载主机原本的系统模块。准确,但需要模块文件
翻译层(translation layer)不完整模拟整台机器,只把游戏对系统和硬件的调用翻译到电脑上。KytyPS5、SharpEmu 都这样自称
重链接器(relinker)AnyPS5 用的工具:把 PS5 可执行文件改写成电脑原生程序

显卡和画面

术语一句话解释
GCN / RDNA 2PS4 / PS5 显卡的 AMD 架构
GNMPS4 的底层图形接口,游戏通过它直接给显卡下命令
PM4AMD 显卡的命令包格式,模拟器要逐条解析
着色器(shader)跑在显卡上的小程序,负责光照、材质、特效
SPIR-VVulkan 使用的通用着色器格式。PS4 / PS5 的着色器要先翻译成它
Vulkan跨平台的图形接口。shadPS4 要求显卡支持 Vulkan 1.3,KytyPS5 也是
MoltenVK把 Vulkan 转成苹果 Metal 的翻译层,KytyPS5、SharpEmu 的 Mac 版用它出画面
着色器缓存 / 管线缓存存放编译好的着色器,避免下次再卡
着色器编译卡顿第一次遇到新着色器时编译造成的短暂卡顿
readback(回读)显卡算出的数据再被 CPU 读回来用。shadPS4 v0.10.0 实现后修好了《血源》的顶点爆炸
FSRAMD 的超分辨率技术,shadPS4 v0.7.0 起支持

文件和游戏

术语一句话解释
PKGPS4 / PS5 的安装包格式,内容加密。shadPS4 v0.8.0 起不再安装
eboot.bin游戏的主程序(可执行文件)
param.sfo游戏的元数据文件(标题、编号、版本),在 sce_sys 文件夹里
.sprx / .prxPlayStation 的动态库文件
sys_modulesshadPS4 放 PS4 系统模块(.sprx)的文件夹
PUPPlayStation 的系统更新包(PS4 是 PS4UPDAT.PUP)
CUSA / Title IDPS4 游戏的编号,4 个字母加 5 位数字,每个地区版本各一个
更新补丁 / DLCshadPS4 里分别放在 <文件夹名>-UPDATE 和 user/addcont

兼容性等级(shadPS4、SharpEmu 等通用)

等级含义
Playable(可玩)能正常玩,可能有小问题
Ingame(能进游戏)能进到游戏里,但有严重问题或太慢
Menus(到菜单)只能到菜单或标题画面
Boots(能启动)能启动,有画面但进不了菜单
Nothing(不能启动)打不开

联机和其他

术语一句话解释
PSN索尼的 PlayStation Network,模拟器不连接它
shadNetshadPS4 团队自建的联机服务器,v0.20.0 起让《血源》能在模拟器里联机
远程游玩(Remote Play)把真主机上的画面串流到电脑、手机。它不是模拟器,骗局常拿它冒充模拟器
原生移植(native port)把单个游戏改写成电脑或手机的原生程序,比如《血源》的 bbport,不是通用模拟器

想直接开始玩,见 2026 年 PS4 模拟器推荐 和 PS4 模拟器配置要求。

常见问题

为什么 PS4 模拟器发展得这么快?

因为 PS4 的 CPU 是 AMD 的 x86-64,和电脑一样。shadPS4 官方 wiki 写明它「不模拟 CPU」,游戏代码直接在电脑处理器上执行,模拟器只需要处理显卡和系统库。相比之下,PS3 用的是特殊的 Cell 处理器,模拟器得逐条翻译指令。

PS5 为什么比 PS4 难模拟?

CPU 方面差别不大,两者都是 x86-64。难在显卡:PS5 用的是更新的 RDNA 2 架构,图形接口和命令格式也和 PS4 不同;游戏体量更大,还会用到 PS5 专门的硬件解压和高速 SSD。再加上 PS5 模拟到 2026 年 7 月才有像样的公开项目,积累比 PS4 少好几年。

模拟器卡顿是什么原因?

最常见的是着色器编译。游戏的着色器是为 PlayStation 的 AMD 显卡写的,模拟器第一次遇到时要翻译成 SPIR-V 再交给你的显卡驱动编译,这一下就会卡。编译过的结果会存进着色器缓存,第二次就不卡了。

为什么手机上模拟 PS4 这么难?

手机芯片是 ARM 架构,不能直接执行 PS4 的 x86 代码,要先用 FEX 这类翻译层把指令转成 ARM,这本身就会损失大量性能;手机显卡也远弱于电脑。所以安卓上目前只有实验性的项目,而且需要高端骁龙手机。

PS5 能玩 PS4 游戏,为什么模拟器不能顺便支持?

PS5 能玩 PS4 游戏是因为它的 CPU 同为 x86-64,而且 RDNA 2 显卡里加了兼容 PS4 GCN 显卡的专门电路,这是硬件层面的兼容。模拟器没有这层硬件,只能在软件里一点点重写,所以 PS4 和 PS5 在模拟器里是两份独立的工作。SharpEmu 等 PS5 模拟器有一部分 PS4 兼容模式,但还很早期。

HLE 和 LLE 是什么意思?

HLE(高层模拟)是模拟器自己重新实现主机的系统库;LLE(低层模拟)是直接加载主机原本的系统模块。shadPS4 以 HLE 为主,只有少数模块能用 LLE 加载。详见 shadPS4 固件模块一文。

资料来源

  1. shadPS4 官网
  2. Wikipedia:PlayStation 4 technical specifications
  3. Wikipedia:PlayStation 5
  4. PlayStation.Blog:PS5 硬件技术规格详解(2020-03-18)
  5. Eurogamer / Digital Foundry:PS5 规格与技术解析(2020-03-18)
  6. Emulation General Wiki:PlayStation 4 emulators
  7. Emulation General Wiki:PlayStation 5 emulators
  8. Tom's Hardware:SharpEmu 6 款游戏可玩(着色器翻译与 Vulkan 进展,2026-09-27)
  9. Tom's Hardware:AnyPS5 把 PS5 游戏转成原生程序(2026-09-26)
  10. KytyPS5 官网
  11. Notebookcheck:shadPS4 支持 AMD FSR、HDR(2025-03-24)
  12. VideoCardz:SharpEmu、KytyPS5 转为社区项目(Mac 版用 MoltenVK,2026-07-17)
  13. Wccftech:shadPS4 0.10.0 解决《血源》顶点爆炸(2025-07-07)
  14. Digital Foundry:《血源》模拟已超过 4K 60 帧(2026-01-17)

相关