介绍
官方网站:https://shadps4.net/
ShadPS4 是一个相对较新的模拟器项目,但它的发展速度却令人瞩目。自 2024 年以来,这个由一群热情的技术爱好者和开发者组成的团队不断推陈出新,通过深度学习、机器学习以及先进的算法,如生成对抗网络(GAN)和变分自编码器(VAE),为 PC 用户带来了前所未有的游戏体验。特别是对于那些追求高画质和流畅度的玩家来说,ShadPS4 提供了一个全新的选择。
软件截图
软件特点
ShadPS4 的性能表现是其最大的亮点之一。YouTube 知名频道 BrutalSam 在其视频评测中对这款模拟器给予了高度评价。从《重力异想世界:重制版》到《血源诅咒》,ShadPS4 展现出了极高的兼容性,尽管部分游戏仍存在性能问题或画面故障,但模拟器已经成功地让这些游戏在 PC 上运行起来。尤其是《血源诅咒》,经过数月的快速迭代,该游戏的运行效果已经从勉强可玩提升到了流畅运行,给玩家带来了极大的惊喜。
hadPS4 采用模块化设计,通过 C++ 语言构建了完整的 PS4 系统模拟层。其核心组件包括:
- CPU 虚拟化引擎:支持 AMD Jaguar 架构指令集转译,实现与 PC 端 x86 处理器的高效协同
- GPU 模拟系统:基于 Vulkan API 的图形渲染管线,兼容 NVIDIA/AMD 主流显卡
- 内存管理模块:动态分配虚拟内存空间,支持最大 16GB 显存扩展
- 文件系统模拟器:完整解析 PS4 游戏 pkg 格式,支持增量更新与 DLC 安装
值得注意的是,shadPS4 创新性地采用了 “分层编译” 技术。在游戏运行时,系统会将 PS4 二进制代码分解为基础指令集和图形渲染指令,分别通过即时编译器(JIT)和着色器预编译优化执行效率。这种双轨并行的编译方式,使《血源诅咒》在 RTX 4070Ti 显卡上可稳定运行于 1080p/60 帧。
不仅如此,ShadPS4 还激发了MOD社区的热情。例如,fromsoftserve 的“Remaster”项目通过引入更多的点光源、更丰富的视差遮挡贴图以及调整反射贴图等手段,极大地提升了游戏的画面效果,使游戏更加细腻逼真。此外,该模拟器还允许玩家解锁游戏帧数,虽然目前这项功能还在实验阶段,但它无疑为未来提供了无限可能。
更新日志
ShadPS4 0.8.0
Apr 27, 2025
Core:
lseek: let the host OS set lseek errors
Filesystem code cleanup
Emulate sceKernelInternalMemory mapping
Fixed sceKernelAllocateDirectMemory and sceKernelAvailableDirectMemorySize
Libraries:
sceDiscMap is now HLE.
Initial ngs2 HLE work.
Implement libusb passthrough
Proper ulobjmgr stubs
Initial Audio3d implementation
NpAuth library stub
GPU:
Reset previous buffer label instead of current one
Handle compute packets that are split between the ends of two command buffers
Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2
renderer_vulkan: Use more depth-stencil dynamic state.
renderer_vulkan: Only update dynamic state when changed.
renderer_vulkan: Make some primitive state dynamic.
Implement sceVideoOutGetEventCount and sceVideoOutDeleteVblankEvent
vk_rasterizer: Control mapped_ranges access with shared lock.
renderer_vulkan: Improve handling of required vs optional extensions.
vk_rasterizer: Improve viewport depth calculations.
texture_cache: Relax mismatched image type from assert to cache miss.
renderer_vulkan: Support loading Vulkan layers on macOS SDL build.
Shader recompiler:
Improve divergence handling and readlane elimintation
Add S_SETPRIO to EmitFlowControl
Use VK_AMD_shader_trinary_minmax when available
resource_tracking_pass: Add heuristic to detect incorrectly tracked buffer sharp
Implement S_FLBIT_I32_B32 and V_MUL_HI_I32
Implement S_SUBB_U32 instruction
Fill in IMAGE_GATHER4_* variants in table
Implementing DS_SUB_U32, DS_INC_U32, DS_DEC_U32.
Implement SET_PC_B64 instruction
GUI:
Add option to enable/disable game folders individually
Handle “-patch” as the suffix for game update folders
Trophy Viewer – Select Game
Removed fpkg support.
Fix support for unicode paths for game install directories
As usual a lot of new translations