Forum Discussion
Anonymous
10 years agoNot applicable
5.1.2p2 -> 5.2.1f1 - Large Performance Loss
Long post short (i.e. tl;dr;): Avoid 5.2.1 for now. Major performance loss. I'm sure nobody will read the rest of this since Oculus Connect is happening now, but if you want more details, read on!
Just a heads up for those who are tempted to try 5.2.1 that came out 2 days ago. I'm seeing a large performance drop, similar to what was seen when moving to 0.1.0 utils and away from legacy integration. That performance drop was fixed in 5.1.1p3 -> 5.1.2p2, but now something worse seems to have happened 5.1.2p2 -> 5.2.1f1.
I had previously posted these "benchmark" results in the "Oculus Utilities for Unity 0.1.0 Beta released" topic when I was seeing issues with 5.1.1p3 + 0.1.0 utils. This benchmark is a measure in ms of how much CPU time is left for your own scripts outside of rendering a fairly complex scene. I put this together so I could track how Unity + Oculus runtimes improved or degraded over time. It involves a script that acts as fake CPU load, that allows adjusting ms of CPU load until frame skips and judder kick in. This essentially calculates the performance overhead you have. Here were my previous results from the other post:
5.1.1p3 + 0.1.0 Utils: 6.0ms
5.1.1p3 + 0.5.0.1 Legacy Integration: 9.0ms
5.1.2p2 + 0.1.0 Utils: 7.9ms
5.1.2p2 + 0.5.0.1 Legacy Integration: 9.0ms
New data for 5.2.1:
5.2.1f1 + 0.1.0 Utils: 4.0ms
Not good. Can't do much with 4ms of CPU time. I'm rolling back to 5.1.2p2. Unfortunately this means the 0.7 features can't be used as that is what 5.2.1 offered up:
http://unity3d.com/unity/whats-new/unity-5.2.1
VR: Oculus: Upgraded to 0.7 dependencies.
VR: For Windows Oculus Development, the Oculus 0.7.0.0 runtime is required in order to run in VR mode. Future releases will also require this runtime going forward.
I did verify the performance monitor HUD is working now in 5.2.1f1, but unfortunately it just tells me the performance sucks. :)
I'm starting to cringe every time a new SDK version and/or Unity version comes out.
ccs
Just a heads up for those who are tempted to try 5.2.1 that came out 2 days ago. I'm seeing a large performance drop, similar to what was seen when moving to 0.1.0 utils and away from legacy integration. That performance drop was fixed in 5.1.1p3 -> 5.1.2p2, but now something worse seems to have happened 5.1.2p2 -> 5.2.1f1.
I had previously posted these "benchmark" results in the "Oculus Utilities for Unity 0.1.0 Beta released" topic when I was seeing issues with 5.1.1p3 + 0.1.0 utils. This benchmark is a measure in ms of how much CPU time is left for your own scripts outside of rendering a fairly complex scene. I put this together so I could track how Unity + Oculus runtimes improved or degraded over time. It involves a script that acts as fake CPU load, that allows adjusting ms of CPU load until frame skips and judder kick in. This essentially calculates the performance overhead you have. Here were my previous results from the other post:
5.1.1p3 + 0.1.0 Utils: 6.0ms
5.1.1p3 + 0.5.0.1 Legacy Integration: 9.0ms
5.1.2p2 + 0.1.0 Utils: 7.9ms
5.1.2p2 + 0.5.0.1 Legacy Integration: 9.0ms
New data for 5.2.1:
5.2.1f1 + 0.1.0 Utils: 4.0ms
Not good. Can't do much with 4ms of CPU time. I'm rolling back to 5.1.2p2. Unfortunately this means the 0.7 features can't be used as that is what 5.2.1 offered up:
http://unity3d.com/unity/whats-new/unity-5.2.1
VR: Oculus: Upgraded to 0.7 dependencies.
VR: For Windows Oculus Development, the Oculus 0.7.0.0 runtime is required in order to run in VR mode. Future releases will also require this runtime going forward.
I did verify the performance monitor HUD is working now in 5.2.1f1, but unfortunately it just tells me the performance sucks. :)
I'm starting to cringe every time a new SDK version and/or Unity version comes out.
ccs
58 Replies
Replies have been turned off for this discussion
- vrdavebOculus Staff
"kideternal" wrote:
The move to v0.7 in 5.1.3p3 does seem to be the culprit for recent performance loss
5.2.1p1 (and 5.1.3p3) should have less CPU overhead than 5.1.3p2 if you aren't using the Oculus Utilities. We are planning to release a new copy of the utilities this week that will make more efficient use of the new 0.7-based VR in Unity."kideternal" wrote:
It seems that as soon as you drop to what would be ~68 FPS for a single frame, that frame is delayed until the next pass: the dreaded "OculusWaitForGPU".
If a frame doesn't finish in time, it gets dropped. For a future release (>1mo out) we are planning to add "asynchronous timewarp", which would make things fail more gracefully if you miss a frame now and then. Gear VR already has it and it makes performance spikes a lot more tolerable.
OculusWaitForGPU appears whenever the CPU is waiting for the GPU at the end of a frame. You should open the GPU profiler to see what is taking too much time (longer than ~9ms) there. - AnonymousNot applicableOne thing I noticed while testing is motion-to-photon latency is MUCH lower in newer versions of Unity (5.2.1p1) that claim to have moved to 0.7 dependencies. The best I have seen so far! In 5.1.3p2 with my test app, I get a best of around 24ms. With 5.2.1p1, I get around 16ms. So I'm very glad to see progress on that front.
Can't wait for version of Unity that has this low latency combined with low CPU overhead. Seems like Dave and Co. are all over it and working towards that.
ccs - AnonymousNot applicableI see 5.2.1p2 is out and includes some updates. I will give it a run through my benchmark in a little bit after it finishes downloading. Based on one of Dave's comments, it may still not be better yet without an updated version of the utils that is upcoming from Oculus.
VR: Oculus Plugin has been updated.
VR: Support for DRM content.
ccs - motorsepStart Partner
"vrdaveb" wrote:
We are planning to release a new copy of the utilities this week that will make more efficient use of the new 0.7-based VR in Unity.
So, hopefully today? :) - AnonymousNot applicableedit: if you read what I wrote a few minutes ago in this post - disregard. I was testing with wrong version of Unity. 5.2.1p2 still has performance issue. :(
- kideternalProtege
"ccs" wrote:
edit: if you read what I wrote a few minutes ago in this post - disregard. I was testing with wrong version of Unity. 5.2.1p2 still has performance issue. :(
Came here for this. Was not disappoint. :lol:
Thanks css! I've got a 14+ hour Global Illumination bake going on so can't test it myself. - SvenVikingExpert ProtegeThe performance regression for my project, present ever since upgrading from 5.0.x and OVR Integration 0.5.1, is still in effect in 5.2.1p2. Fingers crossed for the new Oculus Utilities release.
- vrdavebOculus StaffThe slowdown actually doesn't occur in any of my tests. Using a test scene from ccs, I see a 1ms speedup going from 5.1.3p3 to 5.2.1p2. Is anybody else seeing this?
- AnonymousNot applicableJust to clear, here is new table of results including new version 5.2.1p2:
5.1.2f1 7.1ms
5.1.2p2 9.2ms (was stable for 2 months - my previous default version)
5.1.2p3 9.2ms
5.1.3f1 crash every time - can't benchmark
5.1.3p2 9.4ms (BEST! my default version now)
5.1.3p3 6.8ms
5.2.0p1 6.5ms
5.2.1p1 6.7ms
5.2.1p2 6.5ms
5.2.1p2 (+ alpha test version of utils Dave provided to me for testing): 7.1ms
So slight speed up with new alpha utils, but not anywhere close to 5.1.3p2 + 0.1.0 utils at 9.4ms.
I had previously posted (and deleted) what I thought was success with 5.2.1p2, but that test was with 5.1.3p2 + alpha utils from Dave, giving me 9.5ms and lower latencies. Some things were broken in that combo though since 5.1.3p2 is using 0.6 plugin and not 0.7 plugin, and new alpha utils are for 0.7 plugin.
Hoping Dave can somehow replicate these results (5.1.3p2 + 0.1 utils -> 5.2.1p2 + new utils) with the test project I provided him.
ccs - SvenVikingExpert Protege
"vrdaveb" wrote:
The slowdown actually doesn't occur in any of my tests. Using a test scene from ccs, I see a 1ms speedup going from 5.1.3p3 to 5.2.1p2. Is anybody else seeing this?
For my part, I'm afraid I don't have a scientific enough testing method set up to reliably identify a 1ms difference :(. I'm just going by the frame rate in different sections of my game when the same project is compiled with different Unity versions/Oculus integration files. The difference from Unity 5.0.x/OVR 0.5.1 is quite distinct so I didn't try to measure it precisely. I can try to set up something more benchmarky if needed.
Note that Andy Borrell has complete copies of my project on hand, and I could send them to you if that would be of any use. (Edit: Also note that I don't have access to the alpha utilities release.)
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 4 years ago
- 4 months ago
- 5 months ago