Skip to content

V16 (pre-release): Render scale slider down to 0.25, A's touch controls, GPU profile build

Pre-release
Pre-release

Choose a tag to compare

@cheemu21 cheemu21 released this 08 Nov 18:52

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 (V16)

  • GPU profile build: every GPU pass of one frame in every 600 is timed and written to log.txt ([gpuprof] lines; dm/tools/gpuprof.py sums them). It costs next to nothing and is there to find the GPU work that holds frames at about 13 ms whatever the render scale.
  • Metal performance HUD off by default.
  • Otherwise the same as V15-touch2.

Since V13

  • Render scale slider (V15-touch2): one slider from 0.25 (marked Potato) to 1.0 in steps of 0.05, default 0.667 (1280×720 handheld). It replaces the Resolution preset.
  • Touch controls (V15-touch): the Zelda layout from the A builds: icons, ZL lock, D-pad.
  • Launcher (V15-touch): a row set by an env file starts at that value and can still be changed.
  • LDSM fix (V15): a subgroup barrier before shared-memory reads, so the game's upscaler networks no longer read rows other lanes haven't stored yet (white flashes, the picture whiting out; upstream PR seedds#1376).
  • Deadline boost off by default (V14): with it on, iOS put every thread on the efficiency cores once the phone warmed up. The launcher can still turn it on. A jump icon on X.

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

  • V16 is not yet tested on the iPhone. V15-touch2 on an iPhone 18 Pro at render scale 0.25 holds 60 fps for about a minute. At thermal state 1 (62 s), iOS cuts the CPU clock from 4.2 to about 1.7 GHz and the GPU slows (13 → 16–21 ms a frame): 37–43 fps. 30 fps holds steady.
  • Known: the GPU time barely changes between render scale 0.6 and 0.25, so most of it doesn't scale with the 3D view. MetalFX doesn't actually replace the game's upscaler in any phone log so far; the game's own upscaler runs.
  • Known: magenta or black textures can appear after some area changes.

Not affiliated with Nintendo.