Repository navigation
V21 (pre-release): Cheaper frames from nxnative main
Pre-release
Pre-release
Pre-release: source code only. No IPA and nothing from the game are attached or in the repository. Build your own from your own dump of the game (the v1 dump: base game + update v131072) with the steps in docs/games/kid-with-sword-remake.md, with an env file holding the lines under "Build settings" below.
The Legend of Zelda: Ocarina of Time (Switch 2) as a native iPhone and Mac app, on top of nxnative.
In this build (V21)
- Vector loads in the shader translator (from nxnative main, seedds): the game's 128-bit memory reads become one load instead of four; measured on an M4 Pro, Ocarina's GPU time from 16.3 to 12.6 ms. The shaders take about 1 GB less.
- Native float atomic adds (nxnative PR seedds#1930): the two costliest compute shaders in the iPhone's profile no longer retry.
- Frame step (nxnative PR seedds#1942): no more getting stuck at 20 fps after a long shader preparation.
- Smaller command buffers (from nxnative main): they no longer grow to 36-80 MB each in scenes of about 150 passes.
- Includes V18-V20. The first start takes longer while the new shaders are prepared.
Build settings
DM_UPSCALER=metalfx
DM_FPS_HOLD=off
DM_THERMAL_CAP=0
DM_QOS_MAP=1
DM_QOS_EDGES=45,59
DM_NVN_GPUPROF=every:600
DM_METAL_HUD=0
Status
- Not yet tested on an iPhone.
- Known: the game closes at the first ocarina note (Impa, Zelda's Lullaby), which blocks the main quest. Fixed in nxnative main; the fix is not in this build yet.
- Keep at least 15 GB free on the phone: the game stops itself under 5 GB free.
- At 60 fps the phone heats up within one to two minutes and iOS lowers the clocks; 30 fps holds for long sessions.
Not affiliated with Nintendo.