Improve FPVSIM Performance and Frame Rate

FPVSIM SimulatorPerformance7:05
Watch on YouTube

Remove browser frame-rate limits and tune Chrome VSync settings for smoother, lower-latency FPVSIM flying.

What this tutorial covers

Start with the Chrome Performance Launcher below, then compare the same track and settings on your computer. The simulator already uses the optimized renderer by default; no special URL or performance mode is needed.

Select any screenshot to view it at full size. The simulator screenshots show an earlier interface; use the highlighted controls as a visual reference.

Change one variable at a time. Record a baseline, adjust a single setting, and fly the same scene again. A higher loop counter is not useful if frame pacing, physics load, or control feel becomes worse.

Chrome Performance Launcher

Open FPVSIM in Chrome with the browser settings used in our performance testing, without editing shortcuts or typing commands.

ZIP downloads · Requires Google Chrome · Approx. 1280 × 720 page area · Normal Chrome window

  1. Download and extract

    Download the ZIP for your computer and extract it. Keep the launcher, quit shortcut, README, and helper files together.

  2. Open the launcher

    • Windows: double-click Launch FPVSIM.cmd.
    • macOS: double-click Launch FPVSIM.command.
    • Ubuntu: right-click Launch FPVSIM.sh and choose Run as a Program. If needed, allow executing it under Properties → Permissions. You can also open a terminal in the folder and run bash "Launch FPVSIM.sh".

    If Chrome is already running, save your work, then choose Close Chrome and open FPVSIM. You can also close Chrome yourself and choose Retry.

  3. Fly with your FPVSIM profile

    The launcher opens the simulator and reuses your existing Chrome profile named FPVSIM, including its login and controller settings. If there is no matching profile, it reuses or creates a separate FPVSIM profile. Sign in and set up your controller there once.

  4. Return to everyday browsing

    Save your work, then open the included Quit Chrome shortcut to close the performance session. Open Chrome with your usual shortcut to restore normal extensions and sync.

What the launcher changes

  • Fits the simulator page itself to 1280 × 720 (16:9), with the frame-rate limit and GPU VSync disabled.
  • Disables extensions and Chrome Sync for that browser session, and uses a separate browser cache.
  • Checks the running browser uses the intended settings and profile.

Your track, camera, physics, collisions, and controller settings stay unchanged. Your Chrome profile is reused, not copied.

Save your Chrome work before closing it.

If your FPVSIM profile belongs to regular Chrome, the session settings affect all profiles in that Chrome session. Closing it ends those windows and background tasks. Save first: the macOS and Ubuntu quit shortcuts may close tabs without a page confirmation.

The launcher is optional. The flags reproduce our Windows test configuration; macOS and Ubuntu have not been latency-benchmarked. Results depend on your hardware and display, and the flags alone did not show a clear additional latency improvement in our Windows tests. Disabling VSync may increase screen tearing and power use. Compare the same track, and use your normal Chrome shortcut if you prefer its results.

Fine-tune your simulator settings

  1. Choose the appropriate hardware mode

    Low-spec mode favors broad compatibility. High-spec mode exposes the Render Denominator control used in the tutorial.

  2. Adjust Render Denominator gradually

    A lower denominator runs the graphics loop more often; a higher denominator reduces that work. Lower the value until the scene feels responsive, but raise it again if you see persistent jitter or stutter.

    Simulator settings with a green arrow pointing to the Render denominator slider.
    Find Render denominator under Performance Settings. The older Physics FPS control shown here is not part of this adjustment.
  3. Test physics threading

    Single-core physics can provide lower end-to-end latency on simple race tracks. Multicore physics offloads simulation work and can be smoother on large scenes such as Google Maps, Lake House, or Floating Islands. Test both on your hardware.

  4. Watch Performance Stats

    Enable the performance graphs and observe graphics loop rate, physics load, and memory. If physics load becomes consistently high, movement can become uneven even when the graphics number looks impressive.

  5. Check control tuning separately

    If rendering is smooth but the drone still feels too sharp or too soft, review its PID settings under Drones. PID tuning changes the flight response rather than the rendering rate; the values in this older screenshot are examples, not current defaults to copy.

    Drones screen showing the PID gains table for roll, pitch, and yaw.
    The PID gains table controls how the simulated drone responds to your inputs.

Isolate browser overhead

  1. Use your FPVSIM profile

    The launcher selects the FPVSIM profile and disables extensions for the session. If you launch Chrome manually, use that same profile and keep extensions off while flying; there is no need to create another profile.

  2. Close unnecessary tabs

    Avoid running multiple simulator tabs or other heavy pages during a session.

  3. Retest the same scene

    Reload FPVSIM in the clean profile and compare the same scene, vehicle, and settings with your baseline.

Manual setup shown in the video

The launcher above applies these flags for you. If you prefer to configure a Chrome shortcut yourself, the video demonstrates the following alternative.

--disable-gpu-vsync --disable-frame-rate-limit
  1. Create or locate a Chrome shortcut

    If no desktop shortcut exists, find Chrome in the Start menu, open its file location, and copy the shortcut to the desktop.

  2. Edit the Target field

    Open the shortcut's Properties. Place the cursor after the closing quote around chrome.exe, add a space, and append the arguments shown above.

    Chrome shortcut Properties with the VSync and frame-rate-limit arguments highlighted in the Target field.
    Add the arguments to Target on the Shortcut tab, after the existing chrome.exe path. Keep the executable path intact.
  3. Relaunch through that shortcut

    Apply the change, close every Chrome window, and launch Chrome using the edited shortcut.

  4. Compare control feel

    Test FPVSIM again. These are unsupported browser flags whose availability and behavior can change; remove them if Chrome becomes unstable or stops accepting them.

Additional tips

  • The FPS display in this tutorial measures graphics-loop iterations, not the physical refresh rate of the monitor.
  • The Physics FPS control shown in the older interface is fixed to 500 in the V2 behavior described by the video; moving the old control does not change that value.
  • Reloading with F5 can clear a strange session state, but it does not replace diagnosing a repeatable performance problem.
  • Runtime setting changes may require a simulator reload before their effect is fully applied.

Edited transcript

This transcript has been cleaned for readability and keeps the technical sequence of the tutorial.

00:00–01:08

The first control is Render Denominator, which differs from settings in many games. Lower values run the FPVSIM graphics loop more frequently, while values that are too low can introduce jitter. Low-spec mode maximizes compatibility; High-spec mode lets capable computers tune the denominator.

01:08–02:38

The demonstration compares a denominator of 1 with a much higher value. The on-screen FPS number counts graphics-loop iterations, while the monitor still presents frames at its own refresh rate. In FPVSIM V2, physics updates are fixed at 500 even though an older Physics FPS control remains visible.

02:39–03:41

Next, choose single-core or multicore physics. Single-core calculation shares the main thread and can reduce latency on simple tracks. Multicore calculation moves simulation work to another core and can be smoother for larger scenes. Use Performance Stats to compare graphics rate, physics load, and memory.

03:42–04:38

A high physics-load graph can lead to inconsistent movement. The tutorial also notes that FPVSIM's PID parameters run a real PID algorithm, although detailed PID tuning is a separate topic.

04:39–05:12

Browser extensions can interfere with performance. Create a clean Chrome profile specifically for the simulator so no unexpected extensions compete with it.

05:13–06:34

The final optimization is an optional Chrome shortcut with GPU VSync and the frame-rate limit disabled. Find or create a Chrome shortcut, open Properties, append the two launch arguments after chrome.exe, apply the change, close Chrome, and relaunch through that shortcut.

06:35–07:00

The creator sometimes reloads FPVSIM with F5 when a session feels unusual. Try the measured settings on your own hardware and keep the combination that produces the smoothest reliable control.

Frequently asked questions

Should Render Denominator always be set to 1?

No. Lower can be faster, but too low can create jitter. Use the lowest value that stays smooth in the scene and hardware configuration you actually fly.

Is the large FPS number my monitor refresh rate?

No. The video explains that it is the graphics-loop rate. Your monitor still displays at its supported refresh rate.

When should I use multicore physics?

Try it for large or complex scenes when single-core physics shows uneven load. Simple race tracks may feel lower-latency in single-core mode on a capable computer.

Do I have to use the launcher or edit a shortcut?

No. The optimized simulator renderer is already the default. The launcher is a convenient way to try the Chrome settings used in our Windows tests. You can always quit that session and reopen Chrome normally.

Will this create another FPVSIM profile?

If Chrome already has a profile named FPVSIM, the launcher reuses it. Otherwise it reuses its previous launcher profile before creating one. It does not copy or merge profile data.

What size is the browser window?

Chrome opens with tabs and an address bar. The outer window starts at 1296 × 815, allowing roughly 1280 × 720 (16:9) for the page. Toolbars, browser zoom, display scaling and desktop limits can change the actual page size. You can resize it normally.

What does the macOS or Ubuntu launcher need?

macOS uses its built-in Bash and JavaScript tools, with Google Chrome installed in Applications. Ubuntu uses Bash, Python 3, and a terminal, normally included with Ubuntu Desktop. Neither launcher requires administrator access.

What if macOS blocks the downloaded launcher?

The script is not signed or notarized. Review the included files and follow Apple's instructions for opening a downloaded app you trust.

Apple's guide to opening downloaded software