Showing results for 
Search instead for 
Did you mean: 

Porting Vive Game Terrible Performance on Oculus - Unity 5.5

Hi all, we have a game that performs well (90fps+) on the Vive and as we're trying to port it to Oculus, we're seeing some really weird performance hits. The game seems to slow to around 50-75% speed after a few seconds (note: menu view seems to perform normally - this is a separate camera that is disabled after the game starts), almost as if it's reducing the game speed to keep frame rates up. Here are some details:

- Unity 5.5.0f3 with OpenVR and Oculus API enabled - no Single Pass Stereo Rendering
- Tried with Oculus API only (turn off OpenVR API in player settings): this actually seems to make the performance worse
- Tried Single Pass Stereo Rendering - same or worse performance
- Tried installing Oculus Utilities from their developer site: changes nothing + tried the Oculus camera rig, again no luck, game will slow down to 50-75% normal time.
- Tried running a check on Time.scaleTime and it's constantly at 1.0 so it's not some weird time scale issue
- Tried playing with background elements turned off (only gameplay logic and characters enabled): same thing
- Tried turning off gameplay elements manually: same issue, it seems like when it starts slowing down it stays that way
- Tried turning off all camera filters - no luck
- Profiler's main culprit is WaitForGPU as expected
- Building an executable seems to perform better, however you still see a few instances where the game slows down. Two computers tested on this: one with a GTX970 saw just a few seconds of the slowdown; a GTX1070 sees slowdown all over the place.

Here is the game on Steam with Vive:

Oculus Staff
Profiler's main culprit is WaitForGPU as expected

That means the GPU is the bottleneck. Can you confirm that VR.VRSettings.eyeTextureHeight and Width are the same for Rift and Vive? If not, try reducing VR.VRSettings.renderScale.

Thanks @vrdaveb ... actually it turned out to be so much simpler! SteamVR asset was an older version 1.1.0 and the latest is 1.1.1 and that fixed it all... son of a *#&*@! Well, at least it's fixed without a lot of re-coding.

Oculus Staff
Glad you got it working. Interested in the final perf numbers.