standalone build -nographics Update frequency

Is there any documentation to say what frequency the Update() method is called when using a running a standalone headless with -nographics

After running some tests with -batchmode -nographics here are my results:-

There are two settings to take into account.

  1. Application.targetFrameRate - setting this to a positive, Unity will attempt to run at that speed. Setting it to -1, Unity will run as fast as possible depending upon how much code you’ve crammed into Update().

  2. Quality Settings Vblank sync. Normally this is set to every VBlank, which holds update speed back to 60 fps. Setting this to “Don’t Sync” removes the restriction allowing the fastest speeds possible.

Now that’s out of the way here’s the timings. We always run at targetFrameRate = -1
With an almost empty Update() ie no work load.

Running with “Every VBlank” gives ~60fps

Running with “Don’t Sync” gives ~320fps (on my laptop in the editor)

Running with “Don’t Sync” gives ~1100fps (on my laptop as headless standalone)

Running with “Don’t Sync” gives ~1100fps (on my server as headless standalone)

So there seems to be an upper limit of around 1100 fps but at that speed it really cranks up the CPU usage.

I’ve now set targetFrameRate to 100 fps, which allows for all the work needed in Update(), and a good steady speed, as I’ve no need to run at Usain Bolt speeds.