Skip to content

ARMSX3 0.3

Latest

Choose a tag to compare

@jpolo1224 jpolo1224 released this 09 Aug 07:20

ARMSX3 0.3

What's new: Stability/Performance improvements

Large titles should no longer get killed while compiling PPU modules. Group size and worker count are budgeted against free memory, and compilation waits when memory runs short instead of pushing on.

Fixed Batman Arkham City crashing the app after the first FMV was played.

Stopped a full CPU core spinning on occlusion query results.

SPU threads no longer land on the core the RSX needs most, and thread priority now actually applies on Android.

Fixed an SPU livelock caused by atomic DMA cache line stores.

Faster FIFO handling: 4 KB fetches instead of 1 KB, an inlined cache hit path, and quad and fan index patterns built once rather than per draw.

Sonic 06 graphics fixed: The world would flicker in and out, leaving only the sky and the HUD visible. This is an RPCS3 issue open since 2018. A timing race between the PPU and SPU overwrites a signal before it is read, so the SPU jobs that build the geometry never run. Desktop RPCS3 has the same problem. It was never fixed in the emulator. The fix is a patch by elad335, and it works. The patch now ships with the app. It loads at boot and enables itself. Nothing to set up.

Freed up a CPU core: The thread that sends data to the GPU did not sleep when it ran out of work. It spun in a loop checking for more, using a full core for 1142 seconds out of a 1145 second session, competing with the threads doing real work. It now waits instead of spinning.

Readback waits no longer starve the GPU they are waiting on.

Added a Profile-guided optimisation (PGO) profile.

RetroArch shaders no longer shift the colours. The shader chain was being told the swapchain had the source framebuffer's format, so it wrote through a mismatched view and swapped red with blue.

Fixed display corruption after rotating the device between landscape and portrait.

Added .rap licence file support. Install a .pkg and its .rap together for titles that need both: the package holds the content, the license unlocks it. License files install one at a time, while split packages can be selected together.

New bundled controller skins with previews for every built-in one. ARMSX3 Textured is the new default, and existing installs are moved to it automatically. Thanks to @bagasromadon for the new controller skin!

Fixes to some settings not doing anything.

All Core Settings can be scoped to a single game, is reachable from the in-game menu, and its Back button is no longer pushed off the bottom of the screen.

Ported RPCS3's config database, and made it switchable off and removable without losing the download. You can download it from App settings.

Added the in-app updater for future releases.

Fixed previews not loading in the downloadable skin browser.

Game and firmware art no longer leaks into the device gallery.

Emulator teardown is serialised, so repeat boots stop failing.

Crashes inside a stack overflow now produce a report instead of dying silently.

A shutdown that stops responding now says so in the log instead of hanging silently.

Thanks to @Zulux91 for six fixes brought over this cycle: the duplicate frame setting no longer halves the framerate, the Scaling Mode row actually picks the scaling mode, console aspect ratio Auto no longer resolves to 4:3, OSD mode no longer switches the performance overlay off at boot, game data installs stay out of the library, and guest memory is unmapped when precompilation finishes.

Known Issue: Games will sometimes sit at a black screen after first time PPU and SPU compilation has completed, a restart or two of the app fixes this for me, but I'm looking into it. (Only seems to happen to me with Minecraft at the moment).