Repository navigation
v1.9: no closing between areas, shaders ready before you play, a cooler phone
What's new in v1.9
- No more closing when going from one area to another. The game's GPU memory grew with every area visited (textures were never freed) until Android closed the game for low memory, without a crash log. Textures the game no longer uses are freed now and upload memory is given back: on a Galaxy S20 FE, 44 areas in a row end at ~1.6 GB instead of the game being closed past 2.4 GB.
- Every shader prepared behind the loading screen (Graphics → Prepare all shaders at start, on by default). The pipelines your cache knows are built before the game starts instead of a few per frame while playing, which caused stutters for the first minutes.
- A much lighter shader cache. The same shader was kept as hundreds of thousands of variants. The first start after updating compacts the cache once (on the test phone: 335 MB → 11 MB, shader loading 17-24 s → under a second, ~550 MB less memory). An area you visited before no longer translates hundreds of shaders as you enter it (that was a 100-450 ms hitch).
- Lower resolution when the phone gets hot (Graphics, on by default). Above 1x, the resolution steps down while the phone is hot and goes back up once it cools (Windfall at 1.5x on a hot S20 FE: GPU busy 81% → 56%). Less heat and battery, and no throttling.
- Save states survive updates and frame rate changes. States saved by another version or session failed with "host function ... is not registered at the same address". Older states load now too.
- Autosave without a pause in the middle of the action. It waits for a menu, a dialogue or the moment after entering an area.
- Controllers
- Select + Start opens and closes the options menu.
- Sticks that don't reach the edge of their range (e.g. the Retroid Pocket 6 pushed up) now make Link run (#12).
- If a controller reports motion sensors but sends nothing, the phone's gyro is used instead.
- Android 11 and 12: the app no longer closes at start (#11).
- From the original project (ZeldaWWHDRecomp): each shader translation reserves 1 MB instead of 12 MB, and an allocation failure there no longer crashes.
After updating, the first start compacts the shader cache once (it can take as long as before). Updates from v1.7/v1.8 install over the app and keep your saves and settings.
Tested on a Galaxy S20 FE (Adreno 650): Outset, Windfall, Dragon Roost Cavern, Forest Haven, Forbidden Woods, Tower of the Gods, Hyrule, the Forsaken Fortress and 38 sea sectors in a row, with no crash.