Skip to content
NX Native
nxnative settings explained: frame rate, upscaling and performance

nxnative settings explained: frame rate, render scale, upscaling and performance

Before a game starts, nxnative shows a settings screen with the options that game supports. Each game ships with the settings it was tested with, so you can usually just tap Play. This guide explains what each setting does, when to change it and what it costs.

Updated 2 November 2026. 6 min read.

Tested defaults

Each game comes with the settings the project tested it with. For example, Breath of the Wild runs with Frame buffering and Metal 4 pipelines on, because that combination held a steady 60 fps on an iPhone 17 Pro Max. These are the defaults the screen shows the first time.

When you change a setting and tap Play, the app keeps your choice. A setting you leave alone follows the defaults of your build, so a newer build's tested settings reach you without any work. Reset to tested defaults at the bottom puts everything back.

Game settings

  • Frame rate: 30 or 60 fps for games whose speed the app controls (Breath of the Wild, Tears of the Kingdom and a few others). 60 is smoother; 30 is what the Switch ran and keeps the phone cooler and the battery longer.
  • Render scale: 50 to 100 percent of the 3D picture. Below 100 the size is fixed and the game's dynamic resolution is off. Lower is lighter on the GPU but blurrier; text and the HUD stay sharp. Only some games offer it.
  • Console mode: Docked renders at TV resolution, Handheld at the lower handheld resolution, which is lighter and can give a higher frame rate.
  • Upscaling: Standard scales smoothly. MetalFX uses Apple's upscaler and sharpens edges and text. Turn it on if the picture looks soft and you have GPU time to spare, such as on a Mac or on an iPhone in handheld mode at 30 fps. It costs GPU time and can add heat.
  • Game language: pick another of the game's own languages without repacking.
  • Frame-rate counter: shows frames per second at the top left.

Controls settings

  • Touch feedback: a light tap from the phone when you press an on-screen button.
  • Game rumble: the game's vibration, on the phone or a connected controller.
  • Rumble strength: 0 to 300 percent.
  • Rumble cutoff: a controller's vibration weaker than this stays off. Useful when a controller rumbles all the time in a game that sends a quiet texture. Mario Kart 8 Deluxe needs about 45 percent to rumble only on crashes and drifts.

Layouts and controllers are covered in the controllers guide.

Performance settings

These change how the app hands frames to the screen and prepares the GPU's work. The tested defaults are a good start; change them when a game stutters, runs hot, or you want less latency.

  • Frame buffering: copies each finished frame into a two-image buffer so the game can start the next frame at once. Without it the GPU idles and iOS lowers its clock: Breath of the Wild fell to 30 fps without it on an iPhone 17 Pro Max and held 60 with it. Cost: up to one frame more input latency and two more images in memory.
  • Metal 4 pipelines: keeps built pipelines in an archive so new scenes stutter less. Turn it off only if a game crashes or runs out of memory. Cost: memory and some storage.
  • Pipeline prebuild: builds a stand-in for every shader pair before the first frame. The first start waits a few minutes, once, and again after a game or app update. Turn it off if you do not want that wait; new scenes may then stall briefly. It needs Metal 4 pipelines.
  • Encode thread: turns the game's graphics commands into Metal commands on its own thread. On by default on iPhone and iPad; leave it on unless a game misbehaves.
  • Hold frames when late: for 60 fps games, either drop to an even 30 for a while or keep 60 and show late frames as they come. Turn it off if the game often falls to 30 though it is only slightly late.
  • Performance HUD: Apple's overlay with frame rate, frame and GPU times and memory. Leave it off for play.

The Mac settings window

A Mac app shows the same settings, with the same defaults, in a window before the game starts. The most used come first: Frame rate, Render scale, Console mode, Game language, Display mode and Game rumble. Display mode (Window or Fullscreen) is Mac only. Press Return or click Play to start. Turn off Show this window at launch to start at once; hold Option while the app opens to see it again.

The Mac app and the iPhone app of one game can also share a save through iCloud Drive: choose the same iCloud Drive folder on both. Cloud saves are off by default. More in the Mac guide.

Settings in a file (env.txt)

A line such as DM_PRESENT_SNAP=0 in Documents/env.txt (in the Files app, under the app's name) sets a setting from the file. The settings screen then shows it greyed out, and the file wins over your choice and the game's default. Close and reopen the app after editing.

Instead of typing the lines, use the env.txt generator: choose values, see the file instantly, then copy or download it. For build-time options see the build command generator.

If a game still misbehaves, see troubleshooting.

Facts on this page were checked against the official nxnative commit f108343a (2 Nov 2026). The project changes often, so the official repository always wins.

This is an unofficial guide based on the project's public documentation. Use only games you own. For the latest details, check the official repository.