DolphiniOS Performance Guide

Apple Silicon is fast, but some games may not run as well as you like. On non-jailbroken devices, this is primarily because of Apple applying several restrictions on DolphiniOS which make it unable to use some faster emulation features.

Here’s some tips to squeeze extra performance out of your device.

Keep Your Device Cool

DolphiniOS uses a lot of CPU and GPU power to achieve emulation of the game you are trying to run. However, this also means that your device will heat up while you are in-game.

To protect your device, iOS may throttle (limit) your device’s maximum possible performance when the motherboard reaches higher temperatures. It may even force you to let it cool down by locking it if the device gets too hot.

Ultimately, this means that you should keep your device as cool as possible when using DolphiniOS.

Turn Your Settings Down

Do you really need to run games at 1080p resolution? Running DolphiniOS with higher resolutions will almost certainly result in additional strain on the GPU, which can decrease performance if it cannot keep up.

Turn down enhancements like internal resolution back to their defaults (for example, 1x native for IR) if you have increased them.

Sync on Skip Idle

This setting is located in the “Debug” menu. It changes whether Dolphin should synchronize the GameCube or Wii’s CPU with the GPU whenever the opportunity arises.

Turning this off can result in better performance, but it may also cause instability. The chances of instability occurring increase the longer the game is running.

Games may not function properly with this option off. Some may crash on startup or in random places. Others may start glitching.

Dolphin may also start popping up errors, like:

  • “FIFO is overflowed by GatherPipe! CPU thread is too fast!”
  • Unknown GPU Opcode

If you have any problems while this option is turned off, turn it back on.

Underclock the Emulated CPU

Dolphin includes a feature which lets you customize what clock speed the GameCube or Wii’s CPU should run at.

Overclocking the CPU (speeds higher than 100%) will make the game harder to run. However, underclocking the CPU (speeds lower than 100%) could make the game easier to run, as your device has to work less to emulate the CPU.

However, it should be noted that this does not work with all games. If the game you are trying to run is already intensive on the emulated CPU at 100% clock speed, then underclocking the CPU will only make it run worse.

Ultimately, you will just have to experiment on every game and see. Find the modifier in Settings – tap on “General”, then “Advanced”.

Check for Game Patches

New in version 3.1.0 is the ability to enable Game Patches.

The official Dolphin developers sometimes make patches to help increase performance, workaround crashing issues, and disable certain graphical effects.

The most notable example of a game patch is the Hyrule Field Hack for Twilight Princess. This patch can increase FPS significantly in Hyrule Field by removing unnecessary GPU commands that the game makes when drawing the minimap.

You should always check to see what Game Patches are available. Most will not have any patches, but some will. Some games will also require the usage of Game Patches to workaround emulation issues.

The menu for Game Patches can be found in the Game Properties menu. Press and hold the game’s cover art or name, and select “Properties”. Then, tap “Game Patches”.

Activate Fast RAM Emulation

Doing this will result in large performance gains – however, it is not easy to do so and requires money or specific iOS versions and/or Apple Silicon chips. (If you are jailbroken, this is activated automatically for you.)

Enroll in the Apple Developer Program

If you have enrolled in the Apple Developer Program for US$99/year, you can recompile DolphiniOS on a Mac with fast RAM emulation. Just activate the capability called “Extended Virtual Addressing” before running the app in Xcode.

Jailbreak Your Device

Jailbreaking allows DolphiniOS to have more freedom on iOS and activate a permission needed for faster emulated RAM access without a paid developer account.

Check this spreadsheet to see if your device has a jailbreak available.