x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

4.5.1: Capped at 37.5 fps in VR

With UE 4.5.1 (from launcher) and Oculus Runtime 0.4.3 I am suddenly capped at 37.5 fps (looking at a wall in Mobile Temple with screen percentage of 100 and reduced quality settings).

Looks like there has something gone horribly wrong :(

Unit graph:

alt text

Profiler:

alt text

The strange thing: Neither CPU or GPU seem to be under heavy load:

alt text

With 4.5.0 and Oculus Runtime 0.4.2 I got stable 75 fps with everything else at the same settings at every place in the level. If I run a packaged version from UE 4.4 it still delivers the same performance even with Runtime 0.4.3 as before (stable 75 fps).

So who is to blame here? UE 4.5.1 or Oculus SDK 0.4.3?

DXDiag.txt

spyro

Product Version: Not Selected
Tags:
dxdiag.txt (27.9 kB)
more ▼

asked Oct 27 '14 at 10:16 PM in VR

avatar image

spyro
1.7k 106 117 233

avatar image TJ V ♦♦ STAFF Oct 28 '14 at 06:07 PM

Hi spyro,

I attempted to reproduce what you are seeing in-house but I could get your results. I maintained 60 to 70 fps while walking around the mobile temple.

Could you try creating a new project from the Mobile Temple in your Vault and see if you get the same low FPS?

avatar image spyro Oct 28 '14 at 06:59 PM

I have V-Sync engaged so I am not able to reach 60-70 fps with a DK2, only the half of it. But it's the same project which runs well with 4.5.0 / 0.4.2 which is making problems now. There seem to be some hidden performance hit somewhere...

avatar image PatimPatam Oct 29 '14 at 08:56 AM

I can confirm this problem as well.

Using Oculus Runtime 0.4.2 I was able to play SunTemple with screen percentage of 135 at solid 75 fps (vsync on) in Direct mode. With Runtime 0.4.3 even if I reduce the screen percentage to 120 I get capped at 37.5 fps in many places of the level. Makes what used to be a great experience almost unusable.

I have a Radeon R9-290. Tested both with the Official 4.5.1 release and with the latest Oculus branch from GitHub 10-28-2014. This doesn't seem to make any in difference apart from being able to disable the annoying Health and Safety Warning.

avatar image spyro Oct 29 '14 at 09:48 AM

Hi PatimPatam,

so you can confirm the performance problem with 4.5.1 even with SDK 0.4.2? So the only difference in your configuration was indeed the change from 4.5.0 to 4.5.1?

UE4s VR-performance wasn't really good until now but at the current state it's just not usable for me anymore. I mean, the optimized-as-hell Mobile (!) Temple with

  • hmd sp 100

  • r.postProcessQuality 0

  • r.shadowQuality 2

  • r.effectsQuality 2

  • r.PostProcessAAQuality 2

  • r.SSR.Quality 0

  • No dynamic lights

isn't able to run at the desired framerate on a GeForce 760? What else should I do? Especially postprocessing and reflections are real performance killers ATM, maybe I should disable them completely to get this even running...

spyro

avatar image PatimPatam Oct 29 '14 at 10:12 AM

Hi spyro, i did notice a bit of a drop going from UE 4.5.0 to 4.5.1, but the main problem for me has been going from Oculus Runtime 0.4.2 to 0.4.3 in Direct mode.

avatar image spyro Oct 29 '14 at 10:52 AM

So, if I got you right, the problem is not the integration of SDK 0.4.3 in UE 4.5.1 but only the new Oculus Runtime?

Ok, I will test this and report back.

avatar image PatimPatam Oct 29 '14 at 11:18 AM

Well I think both things are tied really.

4.5.1 did not officially support the new oculus runtime (was not out yet) even though it kind of worked, but the latest github from Oculus did/should.

I expected the combination of these 2 latest versions (UE oculus branch + 0.4.3 runtime) to have similar performance than standard 4.5.1 with 0.4.2 runtime, not much worse, as several people have noticed.

avatar image spyro Oct 29 '14 at 06:43 PM

I really don't get it:

  • Reinstalled 0.4.2: 75 fps

  • Back to 0.4.3: 75 fps as well, everything else unchanged. WTF.

Seems that the Oculus display driver made some problems... So I recommend a clean reinstall, at least for testing.

The strange thing: If I run "hmd sp 130" (no freeze this time, hooray!) the framerate instantly drops to 37.5 fps. This wouldn't be too surprising, but the profiler gives me a rendering time of 12.73 ms which is smaller than the 13.33 ms we would need for 75 fps.

Doesn't the profiler count in the processing from the SDK?

spyro

avatar image Mekrob Oct 29 '14 at 11:25 AM

I've been experiencing similar issues using an i5 and HD6950 2gb. In my own map, when not in the rift I'm sitting tight at ~120-130 FPS, in emulatestereo mode I sit around 100fps, but when in the Rift I get around 50.

I experience similar FPS issues on couch knights and the VR template. I'm on the 0.4.3 runtime, but have not tried the 0.4.3 Oculus SDK branch. Stat unit also shows me pegged on the GPU, and profilegpu shows most time spent on only 2 lights that exist in my level.

I too have found that using the settings you described isn't enough anymore for me to hit the desired framerate. My biggest FPS improvement comes when I use "r.SimpleDynamicLighting 1", which isn't very acceptable. Output of profilegpu: http://i.imgur.com/GSXjfpI.png

avatar image Opamp77 Oct 30 '14 at 04:40 AM

For me it seems to be related to framerate. as soon as the framerate drops below 75FPS it is instantly halved to 37.5. turning off vsync shows me the correct sub 75 framerate(62 in my instance). then tweeking setting so that ive got 75+ and turning vsync back on and everything is fine.

Im not sure if this is a bug or a feature! lol

avatar image Libeerte Nov 02 '14 at 12:47 PM

I'm also observing strange 37.5 cap on 4.5.1 every time fps drops even a little from 75, tried many things(settings for target hardware mainly) but nothing helped. What is more strange is that this 37.5 fps are really stable, I made a very GPU heavy location but it was still 37.5 like it is some kind of target for graphic scalability.

avatar image spyro Nov 04 '14 at 10:40 PM

Er, isn't that the basic concept of v-sync...?

avatar image JLO Nov 05 '14 at 05:57 AM

I'm also getting the same strange 37.5 fps cap in the sun temple demo with UE4.5.1 and OVR 0.4.3 + Oculus DK2. Disabling Vsync in the console and in my graphics card control panel help a tiny bit but I still can't break into the 60+fps.

System: i7-2600 32gb's RAM nvidia GTX 980 Win 7-64bit

I'll try out 0.4.2 and report back

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

4 answers: sort voted first

Here is what we found. Seems like this is an issue with SpeedStep technology: CPU just goes into energy saving mode. Multiple tests showed that if the SpeedStep feature is disabled in BIOS then the performance is back to pre-0.4.3 level. Please, try it too and let me know. You should be able to find that BIOS option under CPU Power Config section. We are looking for ways to fix it properly, but this should be a good enough workaround for now.

more ▼

answered Nov 02 '14 at 06:28 PM

avatar image

Art_Oculus
191 2 5 15

avatar image spyro Nov 03 '14 at 10:14 PM

Ok, here are my results.

  • UE 4.5.1 (launcher version)

  • Oculus Runtime 0.4.3

  • Lightroom demo (default settings)

  • fullscreen

  • hmd vsync off

  • See DXDiag for system details.

SpeedStep enabled:

http://i.imgur.com/ruHuom6.png

http://i.imgur.com/v7dhTyo.jpg

SpeedStep disabled:

http://i.imgur.com/RAP09Kw.png

http://i.imgur.com/Sm9xtMX.jpg

It seems to fix the small hickups, but overall performance is still very bad (especially the SSR seem to be extremely costy in VR).

spyro

PS: Image upload didn't work

dxdiag.txt (27.9 kB)
avatar image PatimPatam Nov 04 '14 at 09:53 PM

Nope, in my case disabling SpeedStep didn't make any difference, exactly the same fps as before both in 0.4.2 and 0.4.3.

I really think it has to be something related to the way mirroring on and off is handled in 0.4.3.. I find very strange that in 0.4.2 the difference between mirroring on and off is between 15 and 20 fps (more with mirroring off), but in 0.4.3 mirroring on and off gives exactly the same fps (with aero on, with aero off no mirroring gives 0 fps).


Something else that i think might be a factor is AMD hardware, the other person i've seen in the forums complaining about exactly the same problem is the user "knack" and i believe he's got an R9 290 as well.

I attach some profiles i took at the exact same location (start of the level, without moving at all). 0.4.2 vs 0.4.3 and mirroring on vs mirroring off.


Finally, could it be related to this?

https://developer.oculusvr.com/forums/viewtopic.php?f=34&t=16286


DxDiag

dxdiag.txt (30.4 kB)
avatar image PatimPatam Nov 05 '14 at 07:08 AM

Ok i've taken a couple more profiles with SpeedStep disabled and i can see that (as spyro already mentioned) it does help getting rid of the spikes in the InitViews when profiling (its effect is actually more visible in 0.4.2)..

Unfortunately, as i said in the previous post, this doesn't seem to translate in any perceived improvement when actually playing the demo, still seems locked at 75 fps in 0.4.2 and 37.5 fps in 0.4.3.

I've also added another 2 profiles with vsync off, just to spice things up (sorry about the number of posts btw, limited by the maximum attachment size).


0.4.2 - DIRECT Mode - Mirror OFF - Aero OFF - SpeedStep OFF - VSync OFF

Game - AVG 11.264 / MAX 12.289

Render - AVG 11.249 / MAX 12.247

GameThread - CPU Stall - Wait For Event

AVG 10.049 / MAX 11.003 ms

RenderThread - Slate RT Present Time - RHIMETHOD_EndDrawingViewport_Flush

AVG 0.335 / MAX 0.684 ms


0.4.3 - DIRECT Mode - Mirror OFF - Aero ON - SpeedStep OFF - VSync OFF

Game - AVG 13.963 / MAX 21.752

Render - AVG 13.943 / MAX 15.697

GameThread - CPU Stall - Wait For Event

AVG 12.746 / MAX 13.581 ms

RenderThread - Slate RT Present Time - RHIMETHOD_EndDrawingViewport_Flush

AVG 9.368 / MAX 10.484 ms

avatar image Wollan Dec 10 '14 at 09:46 AM

This fixed it for me. Disabling Speed Step and my framerate returned to locked 75hz (as pre 0.4.3 beta runtime). Running Win 7 Ultimate 64bit w/Aero off. Hardware: i7-4770K, 16GB Ram, GTX780 Ti.

edit: Also worth noting: Changed Nvidia's "VR pre-rendered frames" setting from 1 to "let the application decide".

2nd edit: 'Heavier' demo that used to be 75hz locked before remains (since runtime 0.4.3+) at 37.5hz.

avatar image Wollan Dec 10 '14 at 12:11 PM

I do however believe there is something to PatimPatams experience in that in anything below 83 fps gets capped to 37.5hz as I just experienced this in one of my heavier demos (UE 4.3.1 oculus fork). Disabling Speed Step might have just given me just a tiny bit more juice enabling my current demo to perform above 83fps (uncapped) so it caps to 75hz.

avatar image PatimPatam Dec 10 '14 at 02:37 PM

Well i don't know why this answer has just been marked as accepted, but like i mentioned a few weeks back (and shown with the captures i uploaded) this didn't fix it for me.

Direct Mode + Aero OFF + Mirror OFF is the configuration that gave me the best performance pre-0.4.3 which just doesn't work anymore, and the alternatives (Direct Mode + Aero OFF + Mirror ON / Direct Mode + Aero ON + Mirror OFF / Extended Mode) give me much worse performance in comparison.

avatar image Wollan Dec 15 '14 at 07:58 AM

Done some more testing with my heavy demo (SpeedStep disabled):

Extended mode, UE 4.6 (official repo), ORv.0.4.3 : ~60fps Direct mode: UE 4.6 (official repo), ORv.0.4.3 : 37.5fps

Extended Mode, UE 4.6 (official repo), ORv.0.4.4 : ~65-70fps Direct mode: UE 4.6 (official repo), ORv.0.4.4 : 37.5fps

In general it seems like the requirements for UE4 has gone slightly up since 0.4.3.1 (using ORv0.4.1) where my heavy demo was running 75fps locked in Direct Mode. Using dynamic lighting, not static baked.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Oculus is here. We are looking at the issue, however we have yet to reproduce it. Could you try it in Extend mode, does it cause frame rate to be lower than it was in 4.5.0 + 0.4.2? Can you try a vanilla 4.5.1 + 0.4.2 (and 0.4.2 Runtime)? Then, install 0.4.3 runtime and try the same executable from the previous step, does it work worse now?

more ▼

answered Oct 29 '14 at 07:09 PM

avatar image

Art_Oculus
191 2 5 15

avatar image spyro Oct 29 '14 at 08:15 PM

Hi there, great you are investigating this :) After I reinstalled Runtime 0.4.2, then 0.4.3 again, I got very different results (see post above). Looks like a relatively minor hit now.

Before I reinstalled the runtime, I had nearly the double frame time as today (see screenshot in original post).

Currently, my results are as follows:

UE 4.5.1, OVR 0.4.2:

alt text

alt text

UE 4.5.1, OVR 0.4.3

alt text

alt text

avatar image Art_Oculus Oct 29 '14 at 10:26 PM

Can you also make the same measurements for Extend mode?

avatar image PatimPatam Oct 31 '14 at 09:15 AM

Thanks a lot for having a look at this issue!!

To answer your questions first:

  • In extended mode i seem to have exactly the same performance between 0.4.2 and 0.4.3.

  • I tried vanilla 4.5.1 with 0.4.2 Runtime, and i get better performance again (locked at 75 fps).

  • I did a clean 0.4.3 install and tried the same executable as before (SunTemple Demo with sp 135), locked at 37 fps again.

avatar image PatimPatam Oct 31 '14 at 09:20 AM

So after a bit more testing i found out that in my case is not really a massive drop in performance, but a couple of smaller things that combined can make some levels unplayable.

  • 1st i noticed by turning off vsync that in 0.4.3 i get between 5 and 10 LESS fps than in the same map/location using 0.4.2 (on average). So places where i get 76 fps on 0.4.2, i get 71 fps on 0.4.3 for instance.

  • 2nd i noticed that in 0.4.2 i get capped at 75 fps as long as i am slightly above that (76 fps for instance). However in 0.4.3 as soon as i go below 83 fps i get capped at 37.5, is this normal? This seems to be related to what spyro mentioned above, about being capped to 37.5 fps with a rendering time of 12.73 ms.

So it's both 5 fps harder to reach the threshold for good 75 fps vsync and this threshold is now 8 fps higher; this makes about 13 fps difference comparing 0.4.2 to 0.4.3.

Comparison of same map/locations between 0.4.2 and 0.4.3:

Location 1:

0.4.2 - 76 fps -> capped at 75 OK

0.4.3 - 71 fps -> capped at 37 NOK

Location 2:

0.4.2 - 87 fps -> capped at 75 OK

0.4.3 - 82 fps -> capped at 37 NOK!

I've also tried disabling timewarp / updateonrt from the console, but this doesn't seem to make any difference in performance.

I understand that depending on your map and machine all this could be fairly subtle, so it could explain why not many people have reported it.. Still 13 fps may not seem like much, but when you are already pushing your hardware and struggling to get a good experience i think it's fairly significant.

I hope that with all this info you can manage to reproduce these issues. Thanks again!

avatar image PatimPatam Oct 31 '14 at 09:23 AM

Some extra info here:

i7-2600k / AMD R9 290 / 16GB RAM

Windows 7 64-bit / SunTemple Demo / vsync on


Oculus 0.4.2 + UE 4.5.1 VANILLA

  • Direct Mode + Aero OFF:

hmd mirror off / sp 135 --> 75 fps (75 to 90 with vsync off)

hmd mirror on / sp 135 --> 50 to 60 fps on almost whole level

hmd mirror on / sp 125 --> 55 to 70 fps on almost whole level

  • Direct Mode + Aero ON:

hmd mirror off / sp 135 --> 75 fps (75 to 85 with vsync off)

hmd mirror on / sp 135 --> 55 to 65 fps on almost whole level

hmd mirror on / sp 125 --> 60 to 75 fps on almost whole level

  • Extended Mode:

sp 135 --> 70 fps on last corridor statues, first big statue, ceiling

sp 125 --> 75 fps


Oculus 0.4.3 + UE 4.5.1 VANILLA (same performance with OCULUS GITHUB version)

  • Direct Mode + Aero OFF:

hmd mirror off / sp 135 --> 0 fps

hmd mirror on / sp 135 --> 37.5 fps on almost whole level

hmd mirror on / sp 125 --> 37.5 fps on last corridor statues, first big statue, ceiling

  • Direct Mode + Aero ON:

hmd mirror off / sp 135 --> 37.5 fps on almost whole level (70 to 80 with vsync off)

hmd mirror on / sp 135 --> 37.5 fps on almost whole level (70 to 80 with vsync off)

hmd mirror on / sp 125 --> 37.5 fps on last corridor statues, first big statue, ceiling

  • Extended Mode:

sp 135 --> 70 fps on last corridor statues, first big statue, ceiling

sp 125 --> 75 fps


NOTE: When i say "on almost whole level", i mean that fps can be a bit higher if looking straight to a simple wall or looking at the floor for instance.

avatar image num3ric Nov 15 '14 at 11:35 PM

One change which seemed to have made difference in my case: maxed out all power management settings for performance.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Thanks a lot for all this info, a lot of food for thoughts. I am looking at all of those captures at the moment. Weirdly, but turning off SpeedStep does the trick for me.... I use 780ti / i7-4770 / Win8.1 x64.

more ▼

answered Nov 05 '14 at 06:28 PM

avatar image

Art_Oculus
191 2 5 15

avatar image JLO Nov 06 '14 at 10:33 AM

I'm not sure if this is anyway related or not, but I was monitoring my gpu (GTX 980) with evga precision X, and without the DK2 enabled it hits a steady 99% gpu usage and 98-99% power usage (getting around 200-210 fps in sun temple).

With the DK2 enabled though, it drops to around 60% at the highest with 75 fps and gets really unstable looking at the statue bouncing back and forth between 40 and 60% usages and 40-60 fps.

I would have thought that with the DK2, it would be using all the card's resources but it doesn't seem to be?

This is with UE4.5.1 and OVR 0.4.3, speed step disabled

avatar image Art_Oculus Nov 06 '14 at 05:48 PM

This is a different issue, but also a known one and it should be addressed in 0.4.4 SDK. The issue is that SDK forces GPU to flush after each frame to achieve lowest latency. So, GPU is not 100% loaded. We are going to allow 1 frame of additional latency in order to improve GPU load.

avatar image spyro Nov 06 '14 at 05:55 PM

Hi Art_Oculus,

Will this increase perceived latency back to the level of 0.4.2 again (or will it be masked by timewarp anyway)?

avatar image Art_Oculus Nov 06 '14 at 11:03 PM

Yes, it will increase the perceived latency by 1 frame, at least until we come up with a solution to avoid it.

avatar image spyro Nov 07 '14 at 11:08 PM

I see. Too bad, just got used to this incredible low latency in 0.4.3. But If it's the only way to get back some performance I guess you have no choice.

So, is there any way this could be solved by async. timewarp later in 0.5?

avatar image Art_Oculus Nov 07 '14 at 11:15 PM

It could be, we are working on it!

avatar image spyro Nov 08 '14 at 10:43 AM

Glad to hear that. :)

avatar image PatimPatam Nov 09 '14 at 12:41 PM

Hi again, in case it helps identifying the problem, the user "jumbli" on the Oculus forums mentioned this:

I was having the same problem since installing 0.4.3. For me, changing Nvidia's setting "VR pre-rendered frames" from the default of 1 to "let the application decide" solved it and allowed other demos run smoother too.

https://forums.oculus.com/viewtopic.php?f=60&t=16181#p218011

Unfortunately i'm on AMD and i don't think we have an equivalent setting in the Catalyst Control Center..

avatar image spyro Nov 09 '14 at 01:55 PM

Tried it, no measurable effect for me (isn't that hardcoded into UE4 anyway)?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

,0.4.4 should be a bit better with 37.5 issue, but it is still happening. The only way to avoid this is to make sure that the game can make 75 + fps in every spot of it. The lockdown occurs when the game can't achieve 75 fps.

more ▼

answered Dec 15 '14 at 10:46 PM

avatar image

Art_Oculus
191 2 5 15

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question