PPSSPP 已经进行了 11 年多,但工作永无止境!新版本 1.15 是另一个相当不错的升级。主要主题是口吃修复和生活质量改进,显然还有一些兼容性修复和性能改进。此外,macOS 现在是一个官方支持的平台,并且支持得到了显着改善。
所以去下载 PPSSPP 1.15 吧!新:现在有一个官方的 Mac 版本!
1.15 - 顶级
减少着色器编译
PPSSPP 长期以来一直存在由着色器编译引起的卡顿问题,并且它已经达到了卡顿的程度,以至于最初在某些着色器编译器非常慢的设备(例如带有 PowerVR GE8320 的设备)上几乎无法播放。
已进行两项更改以改进这一点:首先,不同着色器变体的绝对数量有点过多。我们将为每个小的着色状态位编译单独的着色器,例如双色值或雾标志。现在,其中一些由统一值控制,因此在许多游戏中着色器数量减少了一半或更多。我们仍然有比我们真正需要的更多的变体,但现在问题要小得多。此更改会影响所有渲染后端。
此外,在 Vulkan 中,我们现在在多个线程上并行进行着色器编译(如管道创建),这对一些驱动程序来说是一个巨大的改进,例如 PowerVR GPU 的驱动程序(在 Galaxy A21 等低端手机中越来越常见) , Adreno 略有改进,Mali 基本保持中立。看到最大改进的设备以前也是最慢的,所以绝对值得。
纹理替换
在 PPSSPP 中,您可以安装“纹理替换包”,其中包含用于游戏的更高分辨率纹理。PSP 游戏是为低分辨率屏幕制作的。
多年来,纹理替换代码不断发展,但存在一些挥之不去的问题,例如主线程上的 I/O 过多。它现在已经过大幅重组和部分重写,将更多工作转移到后台线程 - 这大大减少了因加载新的替换纹理而引起的卡顿。此外,还添加了对高效压缩纹理格式的支持(KTX2 与 Basis 和 UASTC,DDS 与 BC1-7),以及内置的 mipmap 支持(#17134、#17092、#12059)。使用这些可以进一步加快加载速度并提高质量,同时还可以减少内存使用。
与此相关,优化了将大型纹理加载到 VRAM 时的视频内存使用。这主要有助于使用具有非常高分辨率纹理的纹理替换包,但通常会降低内存不足的风险,这是 Android 上报告的崩溃的主要原因之一。
显示和后处理
现在可以启用整数缩放。这确保模拟的 PSP 帧缓冲区被缩放到渲染分辨率的偶数倍。如果你随后启用“最近”过滤,你会得到漂亮的方形像素,如果你追求复古外观。
此外,如果我们在游戏中检测到过大的帧缓冲区,则在应用后过滤器期间临时缓冲区大小错误的错误已得到修复,从而导致小故障。
渲染修复和
现在,我们可以使用来自另一个渲染目标的调色板,对已转换为 CLUT 格式的渲染目标进行纹理采样。修复了一些特殊效果:#8390。有关 PSP 的 CLUT 功能及其用途的更多信息,请参阅GPU 图像格式页面。此外,我们现在支持一些额外的 CLUT 纹理模式,这些模式修复了 SOCOM 游戏中的夜视和其他效果。
相当普遍的小米 Poco C40 手机只暴露了一个软件 Vulkan 设备,缺少一些强制性功能。这导致 PPSSPP 的 UI 呈现不正确且缓慢,在游戏中甚至更糟。我已经更正了 Vulkan 设备检测代码以拒绝此软件设备——这仅仅意味着这些手机将回退到使用 OpenGL,这在它们上是合理的。
修复了 Naruto Heroes 中的减速问题:#16733. 这是一个非常典型的不必要的回读案例。PSP 有一个“块复制”命令,可以在 RAM 和 VRAM 之间复制任意 GPU 内存。PPSSPP 将 VRAM 中的区域指定为帧缓冲区(如果它们之前已渲染到),并且两个帧缓冲区之间的副本可以简单地转换为主机上的 GPU 副本。但是,如果数据被复制到“新”VRAM 或 RAM,默认情况下我们假设游戏将尝试使用 CPU 读取复制的数据。这意味着我们必须进行非常昂贵的回读。不过,通常它实际上并不需要 CPU 上的数据,因此我们添加了每个游戏的兼容性选项,我们会自动创建覆盖目标内存区域的帧缓冲区。如果游戏稍后只是从中获取纹理,这将比从 GPU 读取更有效。
倾斜
值得注意的是,Daxter 和两款战神游戏(这三款均来自 Ready At Dawn 工作室)在将模拟摇杆输入传递给游戏的内部控制系统之前都将其旋转了 15 度。这使得模拟摇杆在真正的 PSP 上感觉更好,并且可能符合人体工程学,但不适合采用多种不同输入的模拟器,因此添加了另一个方向的自动预旋转以进行补偿。Daxter 现在可以按照预期正确地沿着主要方向行走,而 Kratos 在战神游戏中也是如此。参见#17020。
倾斜控制得到
Android 独有的倾斜(加速度计)输入功能已经很长时间没有得到维护或测试,所以是时候检查一下并修复它了,现在已经完成了。得益于更新的配置对话框,新行为效果更好,配置起来更直观。
回归
Thrillville 渲染更正 (#17169)
但丁的地狱中的一个主要性能回归已得到修复 (#17032)
Mipmaps 现在实际上与纹理替换一起使用,如果提供的话 (#17144)
其他
添加了深度回读,修复了虹吸过滤器中的镜头光晕(以性能成本..关闭旧行为的 GPU 回读)([#16907] ,[#16905] )
启用倒带保存状态(每 N 秒自动保存一次)不再显着降低游戏速度。
经过[未知]的另一轮优化和修复后,软件渲染器更具可玩性
fp64 致力于VFPU精度。不过,它还没有全部启用。
针对各种深度裁剪问题的多个修复(#17055,更多)
VR 获得了一些新功能(自上而下的视角)、新的控制选项和各种修复,感谢 Lubos!
已在整个代码库中执行了几次大型代码清理和重构,以使未来的更改更加容易。
[ Unknown ]改进了 RISC-V JIT 编译器。未来证明模拟器位!
新应用程序图标 (#11996),各种错误修复(#16988、#17017 等)
还有更多!
去拿吧
立即下载1.15,享受这一切带来的好处!
所以去下载 PPSSPP 1.15 吧!新:现在有一个官方的 Mac 版本!
1.15 - 顶级
减少着色器编译
PPSSPP 长期以来一直存在由着色器编译引起的卡顿问题,并且它已经达到了卡顿的程度,以至于最初在某些着色器编译器非常慢的设备(例如带有 PowerVR GE8320 的设备)上几乎无法播放。
已进行两项更改以改进这一点:首先,不同着色器变体的绝对数量有点过多。我们将为每个小的着色状态位编译单独的着色器,例如双色值或雾标志。现在,其中一些由统一值控制,因此在许多游戏中着色器数量减少了一半或更多。我们仍然有比我们真正需要的更多的变体,但现在问题要小得多。此更改会影响所有渲染后端。
此外,在 Vulkan 中,我们现在在多个线程上并行进行着色器编译(如管道创建),这对一些驱动程序来说是一个巨大的改进,例如 PowerVR GPU 的驱动程序(在 Galaxy A21 等低端手机中越来越常见) , Adreno 略有改进,Mali 基本保持中立。看到最大改进的设备以前也是最慢的,所以绝对值得。
纹理替换
在 PPSSPP 中,您可以安装“纹理替换包”,其中包含用于游戏的更高分辨率纹理。PSP 游戏是为低分辨率屏幕制作的。
多年来,纹理替换代码不断发展,但存在一些挥之不去的问题,例如主线程上的 I/O 过多。它现在已经过大幅重组和部分重写,将更多工作转移到后台线程 - 这大大减少了因加载新的替换纹理而引起的卡顿。此外,还添加了对高效压缩纹理格式的支持(KTX2 与 Basis 和 UASTC,DDS 与 BC1-7),以及内置的 mipmap 支持(#17134、#17092、#12059)。使用这些可以进一步加快加载速度并提高质量,同时还可以减少内存使用。
与此相关,优化了将大型纹理加载到 VRAM 时的视频内存使用。这主要有助于使用具有非常高分辨率纹理的纹理替换包,但通常会降低内存不足的风险,这是 Android 上报告的崩溃的主要原因之一。
显示和后处理
现在可以启用整数缩放。这确保模拟的 PSP 帧缓冲区被缩放到渲染分辨率的偶数倍。如果你随后启用“最近”过滤,你会得到漂亮的方形像素,如果你追求复古外观。
此外,如果我们在游戏中检测到过大的帧缓冲区,则在应用后过滤器期间临时缓冲区大小错误的错误已得到修复,从而导致小故障。
渲染修复和
现在,我们可以使用来自另一个渲染目标的调色板,对已转换为 CLUT 格式的渲染目标进行纹理采样。修复了一些特殊效果:#8390。有关 PSP 的 CLUT 功能及其用途的更多信息,请参阅GPU 图像格式页面。此外,我们现在支持一些额外的 CLUT 纹理模式,这些模式修复了 SOCOM 游戏中的夜视和其他效果。
相当普遍的小米 Poco C40 手机只暴露了一个软件 Vulkan 设备,缺少一些强制性功能。这导致 PPSSPP 的 UI 呈现不正确且缓慢,在游戏中甚至更糟。我已经更正了 Vulkan 设备检测代码以拒绝此软件设备——这仅仅意味着这些手机将回退到使用 OpenGL,这在它们上是合理的。
修复了 Naruto Heroes 中的减速问题:#16733. 这是一个非常典型的不必要的回读案例。PSP 有一个“块复制”命令,可以在 RAM 和 VRAM 之间复制任意 GPU 内存。PPSSPP 将 VRAM 中的区域指定为帧缓冲区(如果它们之前已渲染到),并且两个帧缓冲区之间的副本可以简单地转换为主机上的 GPU 副本。但是,如果数据被复制到“新”VRAM 或 RAM,默认情况下我们假设游戏将尝试使用 CPU 读取复制的数据。这意味着我们必须进行非常昂贵的回读。不过,通常它实际上并不需要 CPU 上的数据,因此我们添加了每个游戏的兼容性选项,我们会自动创建覆盖目标内存区域的帧缓冲区。如果游戏稍后只是从中获取纹理,这将比从 GPU 读取更有效。
倾斜
值得注意的是,Daxter 和两款战神游戏(这三款均来自 Ready At Dawn 工作室)在将模拟摇杆输入传递给游戏的内部控制系统之前都将其旋转了 15 度。这使得模拟摇杆在真正的 PSP 上感觉更好,并且可能符合人体工程学,但不适合采用多种不同输入的模拟器,因此添加了另一个方向的自动预旋转以进行补偿。Daxter 现在可以按照预期正确地沿着主要方向行走,而 Kratos 在战神游戏中也是如此。参见#17020。
倾斜控制得到
Android 独有的倾斜(加速度计)输入功能已经很长时间没有得到维护或测试,所以是时候检查一下并修复它了,现在已经完成了。得益于更新的配置对话框,新行为效果更好,配置起来更直观。
回归
Thrillville 渲染更正 (#17169)
但丁的地狱中的一个主要性能回归已得到修复 (#17032)
Mipmaps 现在实际上与纹理替换一起使用,如果提供的话 (#17144)
其他
添加了深度回读,修复了虹吸过滤器中的镜头光晕(以性能成本..关闭旧行为的 GPU 回读)([#16907] ,[#16905] )
启用倒带保存状态(每 N 秒自动保存一次)不再显着降低游戏速度。
经过[未知]的另一轮优化和修复后,软件渲染器更具可玩性
fp64 致力于VFPU精度。不过,它还没有全部启用。
针对各种深度裁剪问题的多个修复(#17055,更多)
VR 获得了一些新功能(自上而下的视角)、新的控制选项和各种修复,感谢 Lubos!
已在整个代码库中执行了几次大型代码清理和重构,以使未来的更改更加容易。
[ Unknown ]改进了 RISC-V JIT 编译器。未来证明模拟器位!
新应用程序图标 (#11996),各种错误修复(#16988、#17017 等)
还有更多!
去拿吧
立即下载1.15,享受这一切带来的好处!