FH2 Recomp best settings

Picture, frame rate and performance options in the launcher, what each one costs, and where to start on a weak, mid-range or flagship phone.

  • Start at 50%
  • FPS limit 30
  • Frame generation (beta)
  • HDR10
A sailing boat on the blue bay of Villefranche-sur-Mer with hillside villas behind it
Villefranche-sur-Mer, Côte d’Azur
Advertisement

The launcher splits its options into Graphics, Display, Performance and Others, and shows only the options of the renderer you chose. Everything below comes from the README and release notes up to v0.4.5; Restore defaults at the foot of Graphics and Performance puts things back.

Starting presets by phone

Begin with the README’s advice, then raise one thing at a time while watching the overlay:

PhoneRender resolutionAnti-aliasingScalingWorld detailFrame rate
Weak phone (Adreno 610, Mali-G57)33–50%OffOff or Bilinear (not FSR on Mali)Shadows, grass, crowd off; objects 0.25x30 FPS limit; Turnip on Adreno
Mid-range (Adreno 7xx, Xclipse 530)50–75%Off or FXAAFSR 1.0 QualityDefaults, crowd 0.5x30 FPS limit + frame generation (beta)
Flagship (Adreno 740, 750)100%MSAA 2x (native)BilinearDefaults or above 1x30 or 60 FPS limit; HDR if the screen supports it

Renderer: native or emulated

  • Native (default since 0.4.0, marked recommended): draws the game’s GPU commands straight in Vulkan with shaders translated ahead of time. Much faster, some image errors left. Needs fh2_shaders.nfsp. Adds MSAA 2x/4x, quality of shadows, Highlights for HDR and Soft bush edges.
  • Emulated: the faithful image. Shaders are translated while you play, so the first runs stutter; Compile shaders in the background is an option, off by default.

Resolution, anti-aliasing and scaling

  • Render resolution in percent, from 12% to 100% (default 100% since 0.4.0).
  • Anti-aliasing: off, MSAA or FXAA. Since 0.4.1 MSAA on the native renderer covers every pass and FXAA actually runs.
  • Screen scaling: Off (keeps your render scale and shows sharp pixels), Bilinear (default), FSR 1.0 with presets from Mega quality 100% to Ultra performance 33%, or CAS, plus an extra sharpness slider.
  • Anisotropic filtering: off by default.

World detail sliders

Since 0.4.1, Graphics has sliders for grass, objects, reflections, distance of shadows and crowd, from 0.25x to 4x of the Xbox 360’s detail. Reflections, shadows, grass and crowd can also be turned off (grass and crowd off on the native renderer only). Crowd off removes about 17% of the draws at the festival. The sliders rewrite the game’s TrackSettings.xml in memory at start; your files are not touched.

Frame rate and frame generation

Advertisement
  • FPS limit: 30 (the default), 60, 90, 120 or unlimited; “Free” equals 120 since 0.4.0 because it could leave the 3D world black.
  • Frame generation (beta), under the FPS limit since 0.4.4: a frame between every two, 30 shown as 60. The HUD and minimap are kept out of it; the overlay shows both rates, such as 30 fps -> 60.
  • Smooth motion (0.4.2, on): every frame moves the game forward one step, so motion below 30 FPS no longer judders.
  • Present mode: FIFO, as the README suggests, or MAILBOX.

Display: HDR and wide screens

  • HDR output (Display > HDR, off by default, HDR10 screens only, 0.4.2): sun, headlights and reflections go above white up to the screen’s peak. Options: White brightness, Highlights (native renderer) and Brightness peak (Auto uses the reported peak but at least 1000 nits). On Android 15+ white follows the system brightness slider.
  • Stretch to the whole screen (Display > Image): since 0.4.5 it widens the view instead of distorting it, with the HUD kept 16:9.

Performance options

OptionDefaultWhat it does
Pin threads to coresOnSince 0.4.3 the game uses every core when the phone has fewer than four big ones. Turn it back on if you switched it off for v0.4.2.
Fastest core for the gameOffGives the fastest core to the game’s busiest thread; measured slower on the S23 Ultra.
Present on its own thread (unstable)OffNo FPS gain in the developer’s tests and can make motion less smooth.
Vertex and index cachesOnVertex cache gave +35% in a parked scene in 0.3.0.
Small render targets at exact sizeOnDefault since 0.4.0.
Reflections updated in stepsOnRedraws the car’s reflection cube a third at a time: +5% FPS on the S23, no visible difference.
Reflection mips in one pass per levelOn52 passes a frame become 4; also fixes dark chrome.
Smooth motionOnEach frame moves the game one step; removes judder below 30 FPS.
ADPF (performance hints)OnLets Android keep clocks up for the game.
Background audio decodingOffOff by default since 0.4.0 to stop robotic or stuttering sound.

Audio, language and the overlay

  • Language: the game follows the phone’s language until you pick one, using every language on the disc; the app is in English, Portuguese and Spanish.
  • Overlay: frame rate, GPU, CPU and RAM use; since 0.4.4 a second line shows the phone’s power draw and frames per watt (PWR -- (charging) while charging).
  • Sound: if it stutters or sounds robotic, leave background audio decoding off; 0.4.0 also enlarged the Android audio buffer, and 0.4.4 fixed 57 spots in the game’s mixer.
Advertisement
A straight country road between a wheat field and rows of lavender in Provence under a cloudy sky
Road D8 through the lavender, Provence
Rooftops of Sisteron and the Durance valley seen from the walls of the citadel
Sisteron from its citadel, Provence
A grey Lamborghini Huracán Super Trofeo race car parked on grass
Lamborghini Huracán Super Trofeo

Frequently asked questions

What are the best FH2 Recompiled settings?

The README’s starting point is render resolution 50% or lower, anti-aliasing off and FIFO present mode. From there: native renderer if you have the shader library, FPS limit 30, frame generation on mid-range phones, and the world detail sliders lowered on weak GPUs. Scaling Off or Bilinear is cheaper than FSR on weaker Mali GPUs.

Does frame generation make it faster?

It makes the screen smoother, not the game faster. It draws a frame between every two the game makes, so 30 FPS reaches the screen at 60; it costs GPU time and shows each real frame about half a frame later. It works with both renderers and is best with the FPS limit at 30.

Which renderer should I use?

Native, if you built fh2_shaders.nfsp: it is the default, marked recommended, and much faster. The emulated renderer is the faithful one, with fewer image errors, and needs no library.

Why does lowering the resolution barely change FPS?

Because the GPU emulation’s command thread, not pixel work, is usually the limit. On the Moto G9 Play 33% plus FSR gave the same FPS as 12% with a much better image, so do not go lower than you need.

How do I fill a wide phone screen?

Display > Image > Stretch to the whole screen. Since 0.4.5 the world is drawn at the screen’s aspect instead of stretched, with the HUD kept at 16:9. It costs a little more GPU; turn it off for a 16:9 image with black bars.