i got a DK2 about a week ago and have been pretty frustrated trying to get it to perform well. I’ve read a bunch about the FPS issues and I think I have that worked out pretty much by running the game in standalone mode from the OS and closing the engine and then i set hmd sp to 100. i can get like 40FPS which isn’t ideal but it’s fine compared to this chopping problem.
the main problem i have is this choppiness. no matter what i run, i even downloaded that VR level blueprint for oculus (can’t seem to find the link right now) where all the settings were tweaked for VR and still am getting this choppiness. i have done low latency, i have turned off smooth shading and turned it back on and it didn’t make any difference. i’ve turned up the FPS in the general settings. nothing seems to get that choppiness to go away. even if do hmd sp 30 it’s still there.
by choppy i mean that every time i turn my head (or move the mouse, too) the image sort of repeats itself in two different places for a few milliseconds. it really voids the whole experience and it’s so hard to get the proper effects. it’s also a bit nauseating.
when i run the tuscany demo or download things made with unity they work pretty good and don’t do this.
i have 32gigs of ram and AMD FX™ 8core 4ghz processor
do i need an even better video card? i just got this one and i know it’s not top of the line it’s still a new and decent card, right? should be able to handle this.
running the latest 4.4.1 and the latest SDK and also updated the firmware. nvidia drivers all up to date.
please any ideas or if you can point me in some direction in terms of proper terminology for this problem it would be greatly appreciated.
I had the same issue even on higher FPS on my brother computer. On my computer it works just great though. Running the DK2 in dual screen mode helped to make the issue less annoying though.
what exactly do you mean by dual screen mode? direct hmd access or extended display in the rift display mode settings? or is there something else you’re doing like mirroring the screens in your monitor options through the OS?
thanks so much
Direct to rift mode works better than extending or mirroring for me. I would stick with that and try these things:
mitchemmc’s template (which I think is what you are referring to) is a good test, continue to use it as a baseline: ://forums.unrealengine.com/showthread.php?12874-VR-Game-Template
CouchKnights is also fairly good as a baseline, but the art assets are not well optimized. If you are having framerate issues I would recommend setting “Actor Hidden In Game” to false for the player models, which you can find by selecting the guy in the scene, going to details panel and searching for “Actor Hidden”.
Make sure you disable real time rendering in the editor viewport, or it will really kill performance for you.
Rather than running the game through the editor, build the game by going to: File > Package Project > Windows > 64 bit. This has fixed most framerate issues for me.
Hope that helps. Remember to reply back if this works for you.
thanks so much for all the help. i compiled mitchemmc’s template into an exe and ran that. the jitter was still very terrible and i only got 35fps with it.
BUT! the roller coaster demo works very smoothly even at the highest settings.
what is going on??? so weird that that’s the only thing from ue4 that works for me. any ideas what settings he could have that i don’t?
I really wonder if the next-gen engines and Oculus are a perfect match, at least in the near term. UE4 really has awesome graphics, but it obviously comes at a cost. And this seems to be even more significant for the Oculus, where you have to reach consistent fps of 75 @1080 instead of 30/60, and despite the fact that a lot has to be rendered twice. The solution can’t be that you need a GTX 780 to run an Oculus game - how many end users have one of those? So maybe right now it might be better to use an engine for Oculus games that is optimized to run on lower-end hardware, and sacrifice some of the graphical bells and whistles?
Right now there is no entry on the roadmap for VR development. I haven’t looked at the Oculus plugin code yet - is it really optimizing the render loop for the Oculus? I mean, you can e.g. take a brute-force approach and render everything twice, or you could share some render information between both eyes, but probably you need special shaders etc. for that? I am no expert on this, just wondering how much optimization potential there still is. And if so, will this make its way on the roadmap?
Nope does nothing here, no difference in performance.
Does anyone else have a bug when you try HMD SP 100? My Rift display freezes after that input which is annoying as I can see the STAT FPS jump from 65-75fps to 120fps.
EDIT:
“HMD TIMEWARP” solved my judder, now butter smooth synced 75fps
The biggest issue that never seems to be touched on; the DK2 is a huuuuuuge improvement in terms of overall pixels over the DK1. 1080p x 2, so really, it comes down to optimization and planning. Smart use of culling, simple materials, and not running the game in the editor will be huge. You can right click on your project file, and you should gain 30-40fps (I did).
That being said, a lot of people are using the rift with underpowered GPU’s - I believe that Lucky Palmer stated that currently the GTX 770 is about as low as he’d go while developing for the rift. Also - stay away from bright lights, as they will cause massive screen jitter - neutral scenes without a stupid amount of contrast between light and dark areas will work infinitely better.
You should be able to use the HMD SP command, press alt + enter to get out of full screen, and then press alt+enter again to re-enter full screen with a lower screen space resolution.
I think the per eye resolution is 960x1080, so overall it has an “ordinary” 1920x1080 resolution. But since the scene has basically to be rendered twice, optimization and planning is really important, just as you said. However, the question is what graphics card you can expect in a typical Oculus owner’s machine once it’s going commercial. Maybe it is a GTX 770 or higher because the launch is some time away, or because a typical Oculus user is a hardcore gamer anyway. Maybe not. This might become an important issue in the adoption of the Oculus itself and of the games we build for it.
i really need to have something to show by may next year so i just went out and got a gtx780. there is a definite improvement but i still have to set everything on medium or lower to get the 75FPS and that is only in super simple demos. the level i was working on has a mountain landscape that you fly through with a sky. really not so bad but the max i get on it with the gtx780 (overclocked, too!) and medium graphics is 50FPS. so i think i’m going to have to go into the code and turn off screen space relections and temporalAA and who knows what else. i’ll report back if there’s a big difference.
so even with top end stuff…this still needs a lot of crazy configuration. it’s very, very frustrating. i know it’s still in dev version, though, so i’m not complaining too much as i knew there would be a lot of set up necessary to get what you wanted. i just didn’t know it’d be quite this bad.
I’m trying to figure this out as well. Almost every scene that I try has choppy rift performance when turning my head, but the fps is still fairly high. This is in 4.4.3. BUT, the realistic rendering demo in Oculus works just fine. I wonder what is set in that demo to be making it do so.