3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 24094|回复: 6
打印 上一主题 下一主题

[分享] [帧率提升50%]PS3模拟器RPCS3 SPU性能提升补丁正在改进中..........

[复制链接]

603

主题

2551

帖子

1万

积分

版主

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

贡献度
2111
金元
34628
积分
12017
精华
11
注册时间
2007-11-11
QQ
跳转到指定楼层
主题
发表于 2018-4-3 01:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 XANADU 于 2018-4-3 01:27 编辑

实时更新 by 来自贴吧 phorcys提供
https://tieba.baidu.com/p/5534362564?pn=1

5天前,github用户 Farseer2 发布了一个改进中的 SPU补丁https://github.com/RPCS3/rpcs3/pull/4108
并在不断改进中........................

截至今日已经发送累积 6个Commit,
实际效果会因为游戏不同而不同,有的游戏完全没有效果,有的游戏,比如P5,可以有50%的帧率提升

原信息:
WIP for stability reasons

This PR includes some optimizations, mostly to the SPU, being the current bottleneck of the emulator:

vm::waiters are removed lazily if a lock can't be achieved at the moment of destruction to prevent the threads from locking up too much
Rewrote some heavily used stub so the compiled assembly would be faster (Best example would be try_pop)
Added fast path to try_lock
Code invalidation is only checked if a SYNC instruction was executed
SPU function DB is only searched once (instead of twice). It almost never caught a new function, yet it added quite the long search
Aggressive inlining of some function. While considered bad practice, the compiler didn't do it by itself, and, at worse, the epilogue and prologue of the function took 0.9% runtime while the function itself took 0.1%
Releasing locks earlier when processing mfc commands should reduce the time SPU threads are waiting on locks.
DMA's are now done by a REP MOVSQ, which, at least on Ivy Bridge processors, is faster (Maybe because of the instruction cache having an easier time, idk)
Probably some other stuff I forgot
So, now for the bad parts:

Performance gains may vary - while some reported almost double the FPS, some reported no change at all. Can't think of a reason for that yet.
Some parts were written before kd11 explained some of the SPU stuff to me, so take them with a grain of salt, might affect stability, so if you can, please test and report crashes and the likes.
As TSX has a different flow in some of the edited areas, I couldn't really test it


楼主(phorcys)把 Farseer2 大神提供的补丁,合并到了 Nekotekena大神的 llvm6 分支,并进行了测试,
仅测试了P5, E3 v2 标题画面,帧率 20 => 30
I7 7700 标题画面 帧率 35=>56 (使用帧率解锁补丁)

改名运行或者覆盖到最新的 rpcs3目录下运行
运行前清一下 llvm cache ( 右键游戏,选Delete LLVM Cache)

已知问题:
某些游戏直接崩溃
有些A卡直接崩溃

崩溃跑不了的等大神后续更新吧,或者忍耐到 这个patch合并到主干!

最近又有一些更新,nekotekina更新SPU线程的部分严格检查代码,合并到spuperf以后,会因为严格执行的原因,损失 10%的帧率。提前合并了kd11的一个图像pull #4335 , 会修复很多游戏图像。虽然少了点帧率还是更新一个。p5专用的就别下了。
rpcs3-spuperf_2018_4_2.part01.rar (3 MB, 下载次数: 1615)
rpcs3-spuperf_2018_4_2.part02.rar (3 MB, 下载次数: 1410)
rpcs3-spuperf_2018_4_2.part03.rar (3 MB, 下载次数: 1184)
rpcs3-spuperf_2018_4_2.part04.rar (160.34 KB, 下载次数: 860)
亲测解决了仙乐传说和忍者龙剑传西格玛过场动画爆音的BUG





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-23 23:14 , Processed in 0.034104 second(s), 17 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表