As usual, the RPCS3 folks have come up with yet another progress report and this one is particularly noteworthy because it has the largest monthly difference ever in playable games with a sizeable ~6.3% increase. In this article, the main points of the report and games improved will be summarised for a shorter read.
Improvements to RPCS3 in May 2019
Compared to some other progress reports, May’s one doesn’t tackle as many points as work was mostly focused on two important areas namely SPU optimisation and improvements to the framebuffer.
The RPCS3 folks love their numbers but as of May, playable and in-game titles are a tie. As of when this article was written, playable games enjoy a plurality (1339 vs 1329 in-game)!
These improvements include:
Improvements to the surface cache which has to do with framebuffer rendering
Initially, kd-11 took an approach using variable-sized framebuffers but that was eventually scrapped as issues with memory ordering popped up which led to overwriting data you didn’t want to discard
Then, a solution that performs intersections for all reads and writes was adopted and this fixed black screens in certain scenarios of a variety of games including Ratchet & Clank: A Crack in Time, Resistance 3 and Nascar 14 along with fixing the split-screen issue with NeverDead
Support for position-independent code (PIC) has been added to the SPU recompiler which greatly reduces stuttering in certain games while improving performance
Ratchet & Clank: A Crack in Time doesn’t get occasional black screens in certain areas of levels any more so it’s much more fun to play now!
The SPU recompiler works by taking code in PS3 machine code and translates it to code that your computer can understand. This is done on-the-fly but most of it is done within the first few minutes of playing a game as only unique chunks of code need to be translated since chunks of code already encountered get cached
Up till this improvement, the SPU recompiler didn’t detect the scenario in which a game used the same chunk of code but loaded it into a different memory address. This led to a large amount of redundant SPU program translation which hurt performance.
After this improvement, support for SPU program generation in a position (address)-independent way has been added which reduces the amount of SPU modules/programs built in titles like BioShock Infinite by almost 90%!
RPCS3 is now friendlier to game compilations!
Better support for game collections (i.e multiple games on a single disc)
Now, collections using a less-used directory layout that makes use of PS3_GMx (x is a number) are supported
Among these, we find The Disgaea Triple Play Collection, Ultimate Stealth Triple Pack and Ultimate Action Triple Pack
Through an added GUI option, the PPU caches for all games can now be compiled at once meaning you can go grab a cup of coffee and have all your newly-added games ready to be played!
Numerous other bug fixes and minor improvements such as an improved DualShock 3 handler on Windows, some visual bugs getting fixed, enabling window resizing on Linux when using amdvlk/amdgpu-pro drivers and inaccurate FPS counter figures on Windows when the detail level is set to high
Games that saw improvement in May
Being able to play console exclusives on PC is a major reason why emulators are used and now, SIREN: Blood Curse is playable in RPCS3!
Among the games that saw improvement or got tested in May, we find:
Yakuza 3 and Yakuza 4 no longer have exploding vertices on AMD GPUs
These games are reported as in-game not playable due to other issues
Genji: Days of the Blade is now playable
Cash Gun Chaos DLX is playable
SIREN: Blood Curse, a survival horror game that’s a PS3 exclusive, is now fully playable
You need a DualShock 3/4 to play it as it makes use of gyroscope controls
One Piece: Pirate Warriors works well for the most part but intense battles cause significant audio stutters
Mortal Kombat vs. DC Universe is now playable
Dark Mist, another PS3 exclusive, is now playable!
Cross Edge, a PS3/X360 exclusive game with mediocre reviews, is playable
Dark Mist is playable but you must use the OpenGL renderer
For more information on which games and which don’t, make sure to check out RPCS3’s compatibility list below. Furthermore, if you want to help out the emulator’s development, the emulator’s team also has a Patreon page to which you do a monthly financial contribution.
I'm a girl that's liked technology from day 1. Mostly interested in the PSVita/PSP scene but I've always modded my stuff when it's possible, that is :)Contact me via DM at @KawaiiAuroraA on Twitter if you have any questions/concerns about my articles or if you have any article requests.