We are developing a VR tittle and during the initial progress tests, we have seen that our framerate under the Oculus Rift CV1 headset was always stuck at 45.
We updated motherboard drivers including firmware plus graphic card one also. The problem persist.
Then we try to disable the Oculus plugin and using the SteamVR SDK the framerate boostet to 90 stables but the problem is that while testing on VR preview, we experiment a cross eye effect which we dont know actually how to solve. If we enable both SteamVR and Oculus plugins, this problem disapeares but the framerate drops to 45 like we comented.
Has anyone of you suffered the same problems and find a solution to it?
Like additional details, comment that our testing PC has a 6700K with a GTX 980Ti and our intentions are to release the future title for Oculus and Steam VR.
The official word from Oculus is that you should not have the SteamVR plugin enabled for any applications which you package for the Oculus Store. If you package for Steam, you can have the SteamVR and Oculus plugins enabled.
In my VR project, I haven’t really experienced notable framerate differences between the Vive and Rift platforms. If you are hitting 45 FPS, it means you’re getting reprojection, where the hardware switches from 90 FPS to 45 FPS by showing the same frame twice so that the game can catch up. That generally means that you’ve got some performance bottlenecks you need to identify and fix. Use the profiling tools within UE4 to figure out whether you’re CPU bound or GPU bound and then work to shave off those precious milliseconds. Framerate optimization for VR is almost a black art.
Edit Note: 90 / 2 = 45. The hardware refresh rates for the HTC Vive is hard fixed at 90 frames per second, and it will always render 90 frames per second. If your app can’t keep up, the hardware driver switches into reprojection mode. This is always, always an optimization problem if you are running on minspec hardware.
The game will be released on Steam so we should compile at least with SteamVR plugin.
Talking about bottlenecks, It shouldnt be like that since the testing hardware its up to date for today standard and the OS its freshly installed.
Also I dont understand why we’re suffering the cross eye sensation when using only SteamVR plugin. If we can solve this issue, we can keep working with this plugin and left Oculus ones to one side.
We have read some topic where users perform my same issue but it seems that its a problem on the actual build. I dont know if its imposible to fix or not because right now all the base code its programmed for the 4.18 version and I cant go back to 4.17 where from what I read, this issue its not happening.
Personally, I advise against this. Steam is supposed to be an open platform, where players may have either Oculus Rift or HTC Vive. There’s a reasonably good chance that a player on Steam has an oculus rift (see their hardware survey).
Yeah… this hints to me that you don’t understand a few things about bottlenecks and optimization. You may have the best hardware in the world, for both GPU and CPU. Hardware can only do so much to help performance. For example, if all of your algorithms ran in O(N^2) time or O(N^3) or O(N!), no matter how much hardware you throw at it, you’re going to run slow. On the GPU side, if your scene has lots of expensive stuff going on (dynamic point lights, dynamic shadows, tons of translucent or masked materials, etc), you are going to run into performance problems just as surely as if you’re running O(N^2) algorithms every frame. No amount of hardware upgrades, OS reinstalls, driver updates, etc. will fix the underlying problem: You NEED to optimize your scene. As a dev, you’ll certainly want to work from a common baseline with minspec hardware, fresh installs, etc, That’s the first step towards proper optimization and testing for performance problems.
I can’t offer any clear explanations here. This might be something you need to test rigorously. Do you get the cross eyed effect in an empty project? Does switching between hardware devices make a difference? Does toggling plugins matter? Does switching to a different engine version make a difference? If you can consistently recreate the same cross eyed effect in an empty project, I encourage you to submit a bug report to Epic with details of your findings so that they can fix it before they release the next update. If the fix is included in 4.19, you can just upgrade your project to the next engine version.
If its 4.18 specific and you can’t wait, you can always create a 4.17 version of your project. Unfortunately, assets are not forward compatible, so you can’t migrate assets from 4.18 to 4.17, because assets may be using 4.18 features. Depending on the size of your project, this may or may not be worth the effort.
Im not an optimization master but in this case, It’s not the reason behind my performance issues. We are talking that we are performing same FPS issues using the Epic’s standard VR template. We’re around 40 - 50 FPS using Oculus or Oculus + SteamVR plugin and at 90 FPS rocksolid using only SteamVR but with crosseye effect.
Like I’ve comment, the cross eye effect happens on 4.18 version custom and Epic’s templates. It’s not happening on 4.17 but we cant go back with the actual progress made on development.
We should test if 4.19 solved the issue. How difficult would be to upgrade the engine? Our project works with different plugins. I guess they would be broken.