I only look at the Perf. Monitor to check FPS.
Just easier with a key bound to it. So I can see whether my CPU struggling based on the Physics time.
Never noticed the difference between both FPS counters.
- Performance Monitor FPS
seem based on UnityEngine.Time.deltaTime. Correction - the code for the Performance Monitor can be found under MeshVR.PerfMon.cs which leads to the GlobalStopwatch Class which uses to System.Diagnostics.Stopwatch. I did add my own FPS counter to VAM and can say that relying Time.deltaTime will NOT work in VAM for an accurate FPS counter. The results will be different based physics settings.
- User Preferences FPS seem based on MeshVR.FPS. Completely different timing code that updates every 500 ms.
If the difference between both implementations gets bigger with higher FPS - it could be timer precision related.
Most accurate FPS "prediction" would technically be
1 / frametime updated every frame.
But with that framerate text changing so fast - that's just hard to read for our slow pathetic human eyes.
So it's slowed down and updated with an interval in the UI.
We then usually see an average FPS of a few 100 ms of frames.
And should it not be updated with a 1 second interval?
It is literally frames per
second. But nobody implements it like that.
At this point one could get into an argument over what's the correct way to implement a stupid FPS counter.
Meh - I'd prefer to have a little frametime graph instead. To see how 'smooth' the framerate actually is. Can't see that with FPS counters.
Anyway - good to know about that