General bad Oculus Rift performance in Unreal Engine 4

I want to start by saying that I think the Oculus Rift support in Unreal Engine 4 have bad performance. How can I say this? Because I feel the performance in Start Citizen is better.

And when you start to reason why you can always say that the Oculus Rift is in development so it will most likely be better as development progress. And I hope it will because I feel the performance is dropping to half when stereo is on as to how it feels when it is off.

And how is it possible that Star Citizen, a game that has not reached Alpha stage yet, can have better Oculus Rift flow than Unreal Engine 4? A game that is built on CryEngine. An engine that have no official Oculus Rift support at all.

What do you think? Am I wrong? Am I right? Can be better? Will it be better?

i haven’t my rift yet but i don’t like the UE4 performance in general, and with rift i suppose going to be worst.

i think, and i hope since i like UE4 in general they polish the engine performance soon.

I can’t compare with cryengine because never tryed.

There are already a few thread about performances with Oculus Rift ; see Theoritical Performances for a recent one.

Also on AnswerHub, for instance Why is running with Oculus so much slower on GPU

The point is by default quality is set to EPIC so performances are bad if you don’t have a GeForce Titan or at least a GTX 780!

For Oculus Rift, Try reducing supersambling to 140% or 120% with the following console command ;
hmd sp 140
give me 60FPS on Couch Knights on a GTX 750 with very good quality :slight_smile:

…& give us back HMDwarp control. It’s the reason I’m still using 4.2.1

Thanks to SRombauts for linking those perf threads!

By default, we try to strike a balance of high end features, and runnable performance on the demos that we create. However, that might not be the same as on your machine! The demos that we shipped use upscaling, and frame flushing to achieve as low latency as possible with good visual quality. Those are trade-offs we chose to make given the demo spec of the hardware we were shipping on. However, those might not be the same that you feel are necessary, or in line with other games!

For instance, if you disable FinishCurrentFrame, you’ll see an average of 40% of your frame back, but with slightly higher frame latency. We always keep it on, but feel free to turn it off if you don’t feel the same way about latency as we do. Also, decreasing ScreenPercentage is a good way to get lots of perf back by trading visual quality.

Please note that there’s currently a perf drop on DK1s due to screen upscaling being set up to much higher than it should be, but we’re working on that to get a fix out to you guys ASAP.

You can still use the old path if you want, if you disable the OVR_DIRECT_RENDER define in the Oculus plugin.

Nice to hear from you Nick!

Is the new DK2 Rift support in Unreal Engine?

It is, but it has not gone through rigorous testing yet since it’s so new. Please report all errors to the AnswerHub Bug Reports, so that we can get them fixed swiftly.

I have to agree the performance drop from using the DK2 on a fairly simply scene is very extreme. I typically run a very stable scene with 120fps+ on the monitor which will drop to 65ish or lower when enabling DK2 even with ScreenPercentage(sp) set to 100 and smoothing turned off (r.FinishCurrentFrame off doesn’t seem to have an effect).

Given that that the DK2 requires VSync on 75fps with low persistence, any frame rate below 75 is very apparent, even when it would be considered otherwise a silky smooth ‘60fps’. I found the most bearable simple fix was to turn off low persistence (hmd lp on/off) if your frame rate stays below 70ish fps over an interval. Dropping sp to 70 brings the visuals closer to a DK1 experience and you could call it usable, but when you compare it to the smooth experience you get from DK2, its not really a long term option.

Based off of Couch Knights it seems we’re now stuck with ~600k poly scene with medium shader intensity to pull off on a 4TFlops+ Gfx card (roughly a 280x, considered high end).

How does the rendering pipeline look like for OR? what can be changed to lower the frame rate drop that happens when enabling VR? While I understand that an HMD renders twice, the screen is half for each render, shouldn’t the drop be smaller?

As an aside you can use the 0.4 SDK if you use the Oculus “Service” Manager - By Bilago which allows you to stop the oculus service and easily stop or start aero ensure vsync stays at 75.

I think there’s a lot of people mistakenly running their rift demos/sample maps directly from the UE4 editor as standalone player… I actually think UE4 runs better than Unity in general and it’s just a misconception. You need to make sure you are not running the editor at the same time as your scene/demo. Close the editor completely, as it kills the framerate from being on in the background! Then, right click the .uproject file for your project and choose “launch” or you can also just package it as a standalone (although there is currently a bug with that on some sample content maps for 4.3/4.4)

Also once in your game, bring up the console (~) and use the console command “hmd sp” to optimize the framerate. First do “stat FPS” to show your framerate… Then if it’s not hitting 75 fps trying something like “hmd sp 100” and see if it gets better. will all be automatic eventually.

yep but use hmd sp below 130 = blurry

i have a r9-290 and and got 180fps in a example template. i pack the template start in the rift and got 65fps. That its a big lose. Unacceptable.

I don’t known other engines but i begin thinking was a ERROR try UE4,

i will wait anyway for new sdk/new versión. Then a will need make a decision.

You guy do realize that when you render with the Rift, it has to render the scene twice right? Of course you are going to see a large decrease in performance. Not to mention all of the other filters and such that go into it. is a problem with every single engine on the market, not just UE4 or Unity. It’s actually one of the reasons why DK2 has a smaller FoV than DK1 did.

ok, that nice. but is the UE4 forum, not Unity or other engine, and we speak about UE4 performance. having unity the same problem does not solve our.

if we can’t use UE4, then perhaps Epic can add rift support to UE1 instead of UE4. And launch again like VR developing edition. :stuck_out_tongue:

at least would be good a small guide for avoid in UE4 the FPS drop when you place a light or others, something like

  • Disable all shaders
  • DISABLE reflections
    … etc

they known better what is more expensive for stereo.

anyway like i say before i prefer wait for next release and the fixed SDK before make any decisión.

driving me nuts. Have the same issues. Weird thing is that I run a titan black, and the fps is still high. But I got ghosting.
Any option needs to be setup in the project to get rid of lantency?

Thanks.

set “motion” to 0.0 in the postprocess and make sure Low persistence its ON ‘hmd lp’

UE4 4.4.2 and SDK 0.4.1 here.

HMD SP 100 boosts my frame rate up to 120fps from 60-75fps but is freezes my Rift. It becomes unresponsive.

The feed fluctuates from 65-75fps on the DK2 on a GTX680 (2GB) card on the Realistic Rendering demo scene.

new portrait rotation spec for the DK2 screen and vertical tearing is killing developers trying to push FPS limits on next gen development. The DK1 could at least stand to drop to 40-50fps and it was bearable. 65-74fps and it’s excruciating on the DK2!!

EDIT:

“HMD TIMEWARP” solved my judder, now butter smooth synced 75fps

HMD SP 100 still freezes my DK2 screen.

I’ve been using Direct Mode, and by using alt+enter on an unreal game, I’m able to get 100fps+. GTX 770. I don’t know if using extended desktop mode is still recommended.

Thanks. is Direct Mode.

HMD SP 100 would solve the problem apart from Rift freezing bug.