What is the target rendering time in milliseconds (ms) for a PC VR game (ie Vive and Rift)? Either for the value that “stat fps” returns, or the value that the GPU profiler returns? I know you have to hit 90fps, and obviously the smaller time to render the better, but what value is too high?
Best I could find when Googling is Michael Abrash talking about 20ms at most, and ideally something closer to 7ms? But that might be about hardware delay, instead of software (or both?). Regardless, input from UE4 devs or Epic would be most welcome.
Right now, I am getting about 11.2ms for my “stat fps” output, and I’m getting about 6ms for the GPU profiler. Is this okay? I am getting no dropped frames or error/safety screens from SteamVR or motion sickness when testing. Everything looks great and is running nicely. So I’m pleased, but I’d still like to have a technical number to aim for or to avoid.
I am asking in general, but here are some details about my game’s technical setup, with respect to graphics/etc, in case it’s relevant:
- Low poly, only static meshes, no lights, no textures, relatively small scenes (many levels, but small).
- Using only one material for everything – using material instances for different colors/etc. It is a Lit material, but I set Base Color/Roughness/Spec/Metal to 0, and I only use the Emissive Color pin. I calculate a fake directional light to get a look that seems lit, but really isn’t. I use this instead of any lights in my scene (“Force No Precomputed Lighting” is enabled). UE4 is telling me this material is 29 instructions.
- Using TemporalAA.
- Using SSAO (Screen Space Ambient Occlusion) via an unbound Post Processing Volume – default SSAO settings at the moment (will tweak soon). All other features have been disabled via this post processing volume, as recommended by the UE4 VR Best Practices guide.
- Currently not using Instanced Stereo Rendering. Will experiment with it soon for potential performance savings (though I’ve read that it can cost extra until you actually have many actors and get savings from it? so it might not work for my minimal worlds).
The TemporalAA and the SSAO definitely cost the most. Probably close to 90% of the ms cost. But they don’t seem to be killing the program by any means and they really add a lot visually, so they’re definitely worth it. Will stress test soon to see how far my current setup scales. Again, knowing the ideal time to render would be nice, so I can compare actor-count/tri-count to time and note when I hit the limit.
Thanks for any tips!