User Tag List

Page 1 of 2 12 LastLast
Results 1 to 40 of 54

Thread: General bad Oculus Rift performance in Unreal Engine 4

  1. #1
    0

    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 this be better? Will it be better?

  2. #2
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    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.

  3. #3
    0
    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
    This give me 60FPS on Couch Knights on a GTX 750 with very good quality :-)

  4. #4
    0
    Samaritan
    Join Date
    Jun 2014
    Posts
    116
    ...& give us back HMDwarp control. It's the reason I'm still using 4.2.1

  5. #5
    0
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    121
    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.

  6. #6
    0
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    121
    .& give us back HMDwarp control. It's the reason I'm still using 4.2.1
    You can still use the old path if you want, if you disable the OVR_DIRECT_RENDER define in the Oculus plugin.

  7. #7
    0
    Nice to hear from you Nick!

  8. #8
    0
    Is the new DK2 Rift support in Unreal Engine?

  9. #9
    0
    Quote Originally Posted by ScrotieFlapWack View Post
    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.
    Twitch /unrealalexander| Twitter @UnrealAlexander
    How to report a bug? | Installation & Setup issues?
    Call me to a thread by posting this: [MENTION]Alexander Paschall[/MENTION]

  10. #10
    0
    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 this 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.

  11. #11
    0
    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. This will all be automatic eventually.
    Last edited by haggler2; 08-07-2014 at 12:50 AM.

  12. #12
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    yep but use hmd sp below 130 = blurry
    Last edited by knack; 08-09-2014 at 08:06 AM.
    pd: excuse my english.

    lfw/paid modeling, painting, texturing.

  13. #13
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    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.
    pd: excuse my english.

    lfw/paid modeling, painting, texturing.

  14. #14
    0
    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. This 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.

  15. #15
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    ok, that nice. but this 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.


    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.
    Last edited by knack; 08-10-2014 at 10:17 AM.
    pd: excuse my english.

    lfw/paid modeling, painting, texturing.

  16. #16
    0
    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 this ghosting.
    Any option needs to be setup in the project to get rid of this lantency?

    Thanks.

  17. #17
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    set "motion" to 0.0 in the postprocess and make sure Low persistence its ON 'hmd lp'
    pd: excuse my english.

    lfw/paid modeling, painting, texturing.

  18. #18
    0
    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.

    This 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.
    Last edited by 8Infinite8; 09-10-2014 at 10:38 PM.
    _________________________________________________
    I N F I N I T E
    www.ir-ltd.net
    www.triplegangers.com

  19. #19
    0
    Veteran
    Join Date
    Mar 2014
    Posts
    377
    Quote Originally Posted by 8Infinite8 View Post
    This 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!!
    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.

  20. #20
    0
    Thanks. This is Direct Mode.

    HMD SP 100 would solve the problem apart from this Rift freezing bug.
    _________________________________________________
    I N F I N I T E
    www.ir-ltd.net
    www.triplegangers.com

  21. #21
    0
    Samaritan
    Join Date
    Mar 2014
    Posts
    102
    Quote Originally Posted by 8Infinite8 View Post
    Thanks. This is Direct Mode.

    HMD SP 100 would solve the problem apart from this Rift freezing bug.
    Have you tried restarting the rift? Once I change HMD I have to restart it to make it work, that or not run it in direct HMD mode, which also gives me better FPS for some reason.

  22. #22
    0
    Ok i'll repost a mix of tips i learned from aussieburger, spyro and others in case some people missed them:


    - In order to have good performance while developing (without having to close the editor):

    1. Editor Preferences -> Miscellaneous -> Performance -> Tick "Use Less CPU when in Background"
    2. When launching the app, press the little Arrow next to Play and select "Standalone Game"
    3. While the game is loading Minimize the UE4 editor
    4. Once the game has loaded in it's window press Alt+Enter

    At least on my machine i get exactly the same fps as running the game from outside the editor or packaged.


    - If using Direct Mode, disable mirroring to gain A LOT of performance back (about 20 fps more for me)!

    1. Launch game
    2. Bring up the console
    3. Type "hmd mirror off"

    (you can also set this via Blueprints)


    - If using Direct Mode, setting Screen Percentage (hmd sp) manually while in-game freezes the App, BUT it does work if you set it via a Blueprints:

    Use "Execute Console Command" (hmd sp XXX) after "Event Begin Play".


    - Direct Mode (without mirroring) seems to have less latency and about 15 fps better performance for me than Extended mode.

    R9-290, using the "VR First Person Template" in Direct Mode, with "Shadow Quality=2", "Anti-Aliasing=6" and "Screen Percentage=160" (rendering internally at 3072 x 1728), i get between 80 and 100 fps (locked at 75 with vsync on).


    Have fun!
    Last edited by PatimPatam; 09-11-2014 at 01:19 PM.

  23. #23
    0
    Quote Originally Posted by PatimPatam View Post
    Ok i'll repost a mix of tips i learned from aussieburger, spyro and others in case some people missed them:


    - In order to have good performance while developing (without having to close the editor):

    1. Editor Preferences -> Miscellaneous -> Performance -> Tick "Use Less CPU when in Background"
    2. When launching the app, press the little Arrow next to Play and select "Standalone Game"
    3. While the game is loading Minimize the UE4 editor
    4. Once the game has loaded in it's window press Alt+Enter

    At least on my machine i get exactly the same fps as running the game from outside the editor or packaged.


    - If using Direct Mode, disable mirroring to gain A LOT of performance back (about 20 fps more for me)!

    1. Launch game
    2. Bring up the console
    3. Type "hmd mirror off"

    (you can also set this via Blueprints)


    - If using Direct Mode, setting Screen Percentage (hmd sp) manually while in-game freezes the App, BUT it does work if you set it via a Blueprints:

    Use "Execute Console Command" (hmd sp XXX) after "Event Begin Play".


    - Direct Mode (without mirroring) seems to have less latency and about 15 fps better performance for me than Extended mode.

    R9-290, using the "VR First Person Template" in Direct Mode, with "Shadow Quality=2", "Anti-Aliasing=6" and "Screen Percentage=160" (rendering internally at 3072 x 1728), i get between 80 and 100 fps (locked at 75 with vsync on).


    Have fun!
    Thanks very much for the break down, most appreciated. I've tried all that apart from the blue prints tip. Not sure how to do this "Use "Execute Console Command" (hmd sp XXX) after "Event Begin Play"."

    Being able to set the screen percentage will surely solve the low FPS problem. If I can some how set hmd sp xxx
    _________________________________________________
    I N F I N I T E
    www.ir-ltd.net
    www.triplegangers.com

  24. #24
    0
    Quote Originally Posted by Kuro1n View Post
    Have you tried restarting the rift? Once I change HMD I have to restart it to make it work, that or not run it in direct HMD mode, which also gives me better FPS for some reason.
    I don't think I can restart the Rift and expect UE4 to pick it up again in Direct Mode. If I run in Extend I get low FPS.
    _________________________________________________
    I N F I N I T E
    www.ir-ltd.net
    www.triplegangers.com

  25. #25
    0
    It can be restarted and 'picked up' again while the editor is running (and oculus runtime is in direct mode) I've done it a few times to get positional tracking back. You need to restart it in the config and turn it off/on from the rift power button and it should be fine.

    Also to do the bit you are unclear about...

    in your level blueprint - add the node 'event begin play' (type that into the box and it will show) then add another node 'execute console command' - join them up and add the text "hmd sp XXX" in the box of the node you just added.

    I have a number of these in sequence to put me instantly into full screen (to rift) no messing needed. You won't need all these and can remove/add whatever you like but this should steer you in the right direction!

    Name:  bpstart.jpg
Views: 10357
Size:  187.7 KB
    Attached Images Attached Images  
    Last edited by Sharpfish; 09-15-2014 at 06:18 PM.

  26. #26
    0
    Quote Originally Posted by Sharpfish View Post
    It can be restarted and 'picked up' again while the editor is running (and oculus runtime is in direct mode) I've done it a few times to get positional tracking back.

    Also to do the bit you are unclear about...

    in your level blueprint - add the node 'event begin play' (type that into the box and it will show) then add another node 'execute console command' - join them up and add the text "hmd sp XXX" in the box of the node you just added.

    I have a number of these in sequence to put me instantly into full screen (to rift) no messing needed. You won't need all these and can remove/add whatever you like but this should steer you in the right direction!

    Name:  bpstart.jpg
Views: 10357
Size:  187.7 KB
    You just saved me.... THANK YOU!

  27. #27
    0
    MANY thanks. I will try this tonight!
    _________________________________________________
    I N F I N I T E
    www.ir-ltd.net
    www.triplegangers.com

  28. #28
    0
    Samaritan
    Join Date
    May 2014
    Posts
    122
    You can also disable and then re-enable stereo either by using "stereo off/on" or simply by pressing Alt+Enter to enable/disable full screen to unfreeze the screen after a screen percentage change.

  29. #29
    0
    THANKS, specially to Sharpfish and Atsk !!!

  30. #30
    0
    Quote Originally Posted by AtsK View Post
    You can also disable and then re-enable stereo either by using "stereo off/on" or simply by pressing Alt+Enter to enable/disable full screen to unfreeze the screen after a screen percentage change.
    When you press alt+enter twice, the resolution changes. For example, after I do so, r.SetRes returns 1366x768 (my monitor's native resolution). Made a thread about it here: https://forums.unrealengine.com/showthread.php?38840-Reset-frozen-rift-screen

  31. #31
    0
    Supporter
    Join Date
    Sep 2014
    Posts
    6
    Hi guys,

    First of all, thanks you all for putting so much effort in troubleshooting the performance issue ! However I have tried everything I could find, and I'm not able to get above 40fps without going under 100 with "hmd sp" with really really simple demo. I have tried the following :

    - Both extended and direct mode from the editor
    - Checking the CPU usage thingy from the editor
    - Disabling realtime rendering
    - Tried the "hmd timewarp" command
    - Lowering the editor window when using "Standalone game"
    - I have tried the whole blueprint sequence from the post above while in direct mode
    - I have tried running demo without the editor
    - Lowering all the graphic settings down
    - Checking the "unbound" option of the PostProcessVolume
    - The "hmdwarp s" command doesn't seems to exist anymore so the reddit post from eVRydayVR is not of any use to me (This guy is awesome btw!)
    - Updating my video card driver.
    - Oculus runtime and the firmware are updated

    Here are my specs :

    - ATI Radeon 6990m
    - I7-2790qm 2,20GHZ
    - 8Go

    I'm able to run most UE4 demo from the following editor at a solid 75 fps in medium/high settings, and never had any performance issue on any DK2 demo.

    I'm getting a bit desperate here, if you guys got any ideas, please let me know !
    Last edited by Inpu; 09-17-2014 at 07:17 AM.

  32. #32
    0
    Infiltrator
    Join Date
    Jun 2014
    Posts
    24
    Hi folks, I've been looking everywhere for a definitive list of all Rift Dk2 console commands so that I can make a super blueprint to optomise my stuff. Do you guys know where I can find one?

    Cheers!

  33. #33
    0
    Veteran
    Join Date
    Jul 2014
    Posts
    455
    Quote Originally Posted by Sharpfish View Post
    It can be restarted and 'picked up' again while the editor is running (and oculus runtime is in direct mode) I've done it a few times to get positional tracking back. You need to restart it in the config and turn it off/on from the rift power button and it should be fine.

    Also to do the bit you are unclear about...

    in your level blueprint - add the node 'event begin play' (type that into the box and it will show) then add another node 'execute console command' - join them up and add the text "hmd sp XXX" in the box of the node you just added.

    I have a number of these in sequence to put me instantly into full screen (to rift) no messing needed. You won't need all these and can remove/add whatever you like but this should steer you in the right direction!

    Name:  bpstart.jpg
Views: 10357
Size:  187.7 KB
    Just what I needed, thanks! Though the 'fullscreen' doesn't seem to make it.... full screen.

  34. #34
    0
    @Inpu, that is right where mine is limited. I tried everything and its seems to be related to vsync for me. If I disable vsync (hmd vsync off) I get 3x or more frame rate consistently and it doesn't dip down. Obviously you can't run without vsync as the panel is portrait and will make you have a migraine but I'm curious if you can try it and if you get the same results.

  35. #35
    0
    I was having trouble with a DK2 on my GTX660.

    I upgraded to a GTC780 and all performance issues have gone away. VR is always going to be super heavy on the GPU, that is the nature of the beast.

    Just make sure you have sufficient hardware then make sure you are viewing in Stand-alone mode with no other 3D apps running in the background.

  36. #36
    0
    BTW guys, some tips:

    * Make sure to turn off dynamic shadows for most things
    * Turn off collisions between static actors
    * Turn off gravity for static actors.
    * Make any non-moving level geometry *static* (not movable).
    * Reduce the number of lights that cast shadows.
    * Keep GPU particles to a minimum, or use lowest LODs for GPU particles, and no scene collision.
    * Use no more than one particle light node.

    I was able to get my juddering mess of a demo to run perfectly smooth.

  37. #37
    0
    Champion
    Join Date
    Apr 2014
    Posts
    788
    i disable all gravity and i not got more fps. fortunately i still can keep my proyect adove 90fps (with a r9-290 evidently)

    perhaps gravity its cpu based?
    Last edited by knack; 09-29-2014 at 06:17 AM.
    pd: excuse my english.

    lfw/paid modeling, painting, texturing.

  38. #38
    0
    Hi,

    I've noticed this problem. I created a new project from the blueprint first person template and stuck a pointlight on the projectile. That's all.
    Now, if I use the rift (direct mode, but no special other settings made like suggested here), everything is smooth. I can move my head from left to right quickly and I got no lag.

    As soon as I fire only one single projectile and keep moving my head from left to right it studders extremely.

    Can anybody explain to me why or reproduce this?

  39. #39
    0
    Quote Originally Posted by btengelh View Post
    Hi,

    I've noticed this problem. I created a new project from the blueprint first person template and stuck a pointlight on the projectile. That's all.
    Now, if I use the rift (direct mode, but no special other settings made like suggested here), everything is smooth. I can move my head from left to right quickly and I got no lag.

    As soon as I fire only one single projectile and keep moving my head from left to right it studders extremely.

    Can anybody explain to me why or reproduce this?
    Have you checked your framerate while doing this? it needs to be hitting 75fps - with VSYNC on to be 'smooth'.

    If you haven't set up your post processing volume for VR you can save some performance by doing so (reducing/removing effects that don't work in VR or are not advised).

  40. #40
    0
    Hi Sharpfish,

    without the Oculus I can spawn about a dozend projectiles with lights attached or so before I see a real impact on the framerate.
    If I do not move my head in the Rift there is no impact on the smoothnes. It's only if I move my head quickly from left to right that the stutter occurs.
    If I find time this weekend I'll try to record a sample and upload it to Youtube.

    Thanks,

    Ben

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •