VIVE Performance Profiling


I’m working on a VIVE VR project and currently doing optimization work. Project runs at stable 90 frames, at least that’s what “stat fps” is showing. I’ve gone through testing all sorts of things among which are:

  • Removing all of the art from the test level
  • Disabled all logic called every frame (on tick)
  • Changed collision from auto convex to basic box ones
  • Turned down all scalability settings to the lowest

Static mesh statistics are as follows:

I’m running out of ideas where to look for reasons for performance drops. With screen percentage set to 100, whole level and gameplay logic with ticks enabled I only get small jitter when moving head up, down, left and right.

As soon as I go for 130 SP jitter when moving camera and motion controllers is significant and breaks the experience whatsoever.

When recording the session for front end tool I get strange result with FViewScenePreDrawCommand:

Game Thread looks as below:

Apart from these, everything else is simply waiting for the events.

To sum it up. Please feel free to ask any questions, or throw some pointers. Anything is appreciated.


-Check that you have the latest drivers installed

-Check the GPU Profiler - you should be under 11ms per frame (-> 90fps for Vive), there you can see what costs you performance

General tips and tricks:

-Use low-poly meshes and LODs (UE4 can generate them for you)

-Use normal maps for details (though they can be strange in VR when up-close)

-Use static lights and objects whenever possible

-Use instanced stereo rendering

-Use forward rendering and MSAA

-Limit the amount of objects in your scene, since VR uses a lot of performance

Hope I could help!

Were you ever able to resolve this optimization issue? It is a frustrating one. I just opened a similar question here.