Announcement

Collapse
No announcement yet.

UE4.9.1 does not recognise Rift with 0.6.0.1, and has game breaking performance with 0.7.0.0

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    I'm getting 75fps most of the time, with PD @ 0.9.

    However, when I look in certain directions, I suddenly get 37fps. Its like the v-sync is automatically halving the framerate, rather than just letting it go to where it ought to be. The framerate is either 75, or its 37.5 (with a microscopic variation), but never anything else...

    EDIT:

    Just to clarify - the performance difference between the low and high complexity areas in mono rendering is 120fps to 115/110fps. OVR is clearly doing something boring here...
    Last edited by scrcr0; 09-24-2015, 10:21 AM.

    Comment


      #17
      Originally posted by mechanicalsnowman View Post
      Hoping someone can shed some light on this -

      Updating from 4.9.0 to 4.9.1 stops UE from even recognizing that a HMD is attached, with "VR Preview" greyed out. I figure this is maybe because Epic wants to push people to use runtime 0.7.0.0, so I updated from 0.6.0.1 to 0.7.0.0.

      VR preview works, but with framerates down to 50fps from a solid 75 in worst cases, and from a solid 75 to 71-74 in the best case.

      I'm not sure if the culprit is the runtime update or 4.9.1 update, but I'm just wondering if Epic knows of this issue and if anyone else is experiencing it.

      Also, I'd like to know if the incompatibility between 0.6.0.1 and UE4.9.1 was intentional? With UE4.9.0 and 0.6.0.1, performance was hitting a perfect 75 at all times.

      Thanks!
      What kind of GPU do you have? I was having some issues like this with my Nvidia 770 GTX but I was able to get everything running again at 75 on my DK2 with the following drivers and settings.

      NVIDIA Drivers: 350.12
      Oculus Version: 0.7.0.0
      Current Screen Percentage: First in the UE console type showlog(make sure there are no spaces) to active your log. Then type r.ScreenPercentage to see what the current Screen Percentage is set to. It should be set to 130 by default and that is what you should see in the log. If it is not set it to 130 by typing HMD SP 130 into the console and then check to see if you are running at 75 FPS or not. If that does not help then try HMD SP 120 and see if you can get back up to 75 FPS after that. If that still does not work try HMD SP 30 and see what your FPS is. If setting HMD SP to 30 still does not get your project up to 75 FPS then there could be something outside of UE4 that is causing the issues. Please let me know if you get it working and if not we can try and figure out something else.
      Last edited by Sam Deiter; 09-25-2015, 09:56 AM.

      Comment


        #18
        Thanks for replying Sam, I'll get on that troubleshooting right now and get back to you within an hour or so --

        My GPU is a GTX680 4GB,

        One thing though, your driver is not the one recommended by Oculus for the runtime 0.7:

        The runtime now supports Direct Driver Mode. Direct Driver Mode requires the latest GPU drivers:

        - NVIDIA Driver Version 355.83 or later
        Does this mean that the direct driver mode is not actually necessary? My technical knowledge of this kind of thing is admittedly lacking, I assumed that the two (runtime and nVidia driver) needed to go hand-in-hand.

        Edit - r.ScreenPercentage does not change anything in stereo, the command there is HMD SP, right? Should I be using that instead?

        Edit 2 - showlog window states that HMD SP is an unknown command when I type it on it's own. Setting HMD SP to a number makes it work though, so I've deduced that the default HMD SP is 100, and setting it to 130 drops the framerate from a choppy 75 to a solid 50, as if it's being synch'd. Bringing it down to 80 brings back the performance to how it was on 0.6 and 4.8 / 4.9.

        I'm going to install 350.12 now to see if that increases performance.

        Edit 3 - I made a mistake with Edit 2. After installing 350.12 and testing, and then re-installing 355.98, I can now reach a HMD SP of 110 with a solid 75 fps. I had forgotten to turn off a test feature I was working on that isn't optimized yet.

        So in summary

        - Lowering HMD SP does make the game renderable. If 130 is the default value then setting this to 110 achieves the same performance as I had with 4.9.0
        - A particularly CPU heavy feature that ran fine on 4.9.0 w/0.6 seems to hit performance harder in 4.9.1 w/0.7 (no matter the screen percentage value)
        - 350.12 and 355.98 have comparable performance (though when there are frame drops in 350.12, there is a strange tearing artifact on the Rift's right eye. Frame drops appear simply as jitter on 355.98 with no tearing. This visual artifact is only present in the Rift display and not on the monitor displaying the Rift's feed)
        Last edited by mechanicalsnowman; 09-24-2015, 12:18 PM.

        Comment


          #19
          Originally posted by mechanicalsnowman View Post
          Thanks for replying Sam, I'll get on that troubleshooting right now and get back to you within an hour or so --

          My GPU is a GTX680 4GB,

          One thing though, your driver is not the one recommended by Oculus for the runtime 0.7:



          Does this mean that the direct driver mode is not actually necessary? My technical knowledge of this kind of thing is admittedly lacking, I assumed that the two (runtime and nVidia driver) needed to go hand-in-hand.

          Edit - r.ScreenPercentage does not change anything in stereo, the command there is HMD SP, right? Should I be using that instead?

          Edit 2 - showlog window states that HMD SP is an unknown command when I type it on it's own. Setting HMD SP to a number makes it work though, so I've deduced that the default HMD SP is 100, and setting it to 130 drops the framerate from a choppy 75 to a solid 50, as if it's being synch'd. Bringing it down to 80 brings back the performance to how it was on 0.6 and 4.8 / 4.9.

          I'm going to install 350.12 now to see if that increases performance.

          Edit 3 - I made a mistake with Edit 2. After installing 350.12 and testing, and then re-installing 355.98, I can now reach a HMD SP of 110 with a solid 75 fps. I had forgotten to turn off a test feature I was working on that isn't optimized yet.

          So in summary

          - Lowering HMD SP does make the game renderable. If 130 is the default value then setting this to 110 achieves the same performance as I had with 4.9.0
          - A particularly CPU heavy feature that ran fine on 4.9.0 w/0.6 seems to hit performance harder in 4.9.1 w/0.7 (no matter the screen percentage value)
          - 350.12 and 355.98 have comparable performance (though when there are frame drops in 350.12, there is a strange tearing artifact on the Rift's right eye. Frame drops appear simply as jitter on 355.98 with no tearing. This visual artifact is only present in the Rift display and not on the monitor displaying the Rift's feed)
          Hey Mechanicalsnowman,

          Thanks for testing this and getting back to me with the results. Let me clarify a few things as it looks like I did in fact give you some incorrect information.

          Does this mean that the direct driver mode is not actually necessary? My technical knowledge of this kind of thing is admittedly lacking, I assumed that the two (runtime and nVidia driver) needed to go hand-in-hand.

          I have no idea about direct driver mode but I can look into this and see what more info I can get about this.

          One thing though, your driver is not the one recommended by Oculus for the runtime 0.7:

          I tried the 355.83 drivers and I could not get my HMD to attach to UE4 in VR. I was able to get everything working using the 350.12 drivers so I just rolled back. I have not tried the latest ones again because I was in the middle of working on something so I just needed things to work and that is why I used the older version because I knew that one worked. When I get some more time to dig deeper into this I will have a look and see if I can figure out what is going on.

          r.ScreenPercentage does not change anything in stereo, the command there is HMD SP, right? Should I be using that instead?

          This is correct however what r.ScreenPercentage does is tell you the current screen percentage and that is what I wanted to know. However now that I am re-reading my post I was completely wrong in saying use r.ScreenPercentage to set your Screen Percentage and you should in fact be using HMD SP (Number you want to use) command. Sorry about that it completely did not register that I was using the wrong command when I was writing the response as I was thinking HMD SP in my head but was actually writing r.ScreenPercentage. Also adjusting the HMD SP should be the last thing that you do when trying to get your game to run at desired frame rate.

          Thanks again for testing this out and positing such detailed results. If I figure anything else out I will make sure to let you know and if you figure anything else out please respond back to this thread so that I can track it.

          Cheers-

          Sam Deiter
          Last edited by Sam Deiter; 09-25-2015, 10:01 AM.

          Comment


            #20
            Here is the reference for the 0.7 performance issues I mentioned previously:
            https://forums.oculus.com/viewtopic.php?f=34&t=26161
            https://forums.oculus.com/viewtopic.php?f=34&t=25914

            The second link is especially a good read. But in a nutshell there is a serious bug in the 0.7 runtime that causes extremely high CPU usage from a generic "SYSTEM" process, essentially sucking down an entire core.

            Comment


              #21
              I thought hmd sp was deprecated and we were supposed to use hmd pd...so confusing! hmd sp at 90 got my stutter a little more under control but the quality is pretty bad now. hmd pd never really did anything no matter how low I set it. (i'm in 4.9.1 with .7, 355.98 nvidia drivers)

              I wish there was a way for independent, amateur developers to get reliable info on this stuff. Like a comprehensive list of console commands and information about them like defaults, what they do..etc...like, where did this poster get this list from? https://forums.oculus.com/viewtopic.php?t=25215#p287626
              and how reliable is it?

              Comment


                #22
                Is it possible to uninstall engine updates from the launcher? I just completely removed 4.9.1 thinking I could add 4.9.0, but it doesn't show up.

                I was going to run some comparison benchmarks of the two engine versions and the two runtime versions to hopefully get an idea of where the issues show up most, and exactly how much worse the performance is, but engine installs seem to be locked to their latest stable update.

                And is it possible to force 4.9.1 to recognize 0.6.01 at all? If features and support for certain software are going to be removed from the Engine (especially in 'hotfix' updates which imply that only small fixes will be included) it would be really great if it was mentioned in the announcement threads.

                Comment


                  #23
                  Hey Guys,

                  I was messing around with my DK2 last night and I would like for anyone who is having performance issues to try the following.
                  Create a new project and instead of using the maximum quality settings try and use the mobile / table setting and see if you get the same problems persist. If it does then add a Post Process volume to the world, set it to be unbound, and then inside of the Lens flares, Reflections, AO, and Bloom sections enable the first property but set it's value to 0. Then try out the headset and see if your performance problems still happen. If you notice that a certain feature cause the HMD causes lag when enabled please let us know so we can look into it.

                  Cheers-

                  Sam
                  Last edited by Sam Deiter; 09-25-2015, 01:22 PM.

                  Comment


                    #24
                    Originally posted by Sam Deiter View Post
                    Hey Guys,

                    I was messing around with my DK2 last night and I would like for anyone who is having performance issues to try the following.
                    Create a new project and instead of using the maximum quality settings try and use the mobile / table setting and see if you get the same problems persist. If it does then add a Post Process volume to the world, set it to be unbound, and then inside of the Lens flares, Reflections, AO, and Bloom sections enable the first property but set it's value to 0. Then try out the headset and see if your performance problems still happen. I have noticed that turning some of these settings off help my DK2's performance in VR. Let me know if this works for you or not or if you have any further questions.

                    Cheers-

                    Sam
                    Hey Sam,

                    I appreciate the suggestion, but how would this contribute to debugging?

                    I may have misunderstood your post, but the issue is a performance drop compared to a previous engine version with all the same project settings. Obviously creating a blank project with the quality of post processing, reflections, ambient occlusion, bloom at 0 would make performance good in VR, but what would it prove?

                    I can also achieve performance gains similar to my 4.8.3 and 4.9.0 projects in 4.9.1 by turning off reflections, and turning down screen percentage, but that's obviously not a solution to anything.

                    Comment


                      #25
                      Originally posted by mechanicalsnowman View Post
                      Hey Sam,

                      I appreciate the suggestion, but how would this contribute to debugging?

                      I may have misunderstood your post, but the issue is a performance drop compared to a previous engine version with all the same project settings. Obviously creating a blank project with the quality of post processing, reflections, ambient occlusion, bloom at 0 would make performance good in VR, but what would it prove?

                      I can also achieve performance gains similar to my 4.8.3 and 4.9.0 projects in 4.9.1 by turning off reflections, and turning down screen percentage, but that's obviously not a solution to anything.
                      This would contribute to debugging in a major way because without first knowing what works you can not determine what is broken. Getting a project to a state where it is running at the proper frame rate and then re-enabling options one by one to see which options or combination of options causes the issues gives us a better idea of what is happening in between builds. If for EXAMPLE (This is PURELY for example sake as I have no data that would otherwise back this up) you find that enabling bloom causes FPS issues on 4.9 but did not in 4.8, we can then look at that code, see what changed were made and why that is affecting VR. Just simply saying that the performance in 4.9 is worse than the performance in 4.8 gives me nothing to go on, I need more data than that to make a case about performance.

                      Comment


                        #26
                        You're right, I understand now. I'll begin debugging with your suggestions.

                        Comment


                          #27
                          Sorry i can't help much in this case because i haven't seen any performance issue with 0.7.0.0 + 4.9.1 on my machine.

                          However would it not be a better approach to simply record a couple of profiles (.ue4stats) in the same problematic map and in the exact same location but running on different versions of the runtime/engine, and then compare them?

                          Comment


                            #28
                            Originally posted by PatimPatam View Post
                            Sorry i can't help much in this case because i haven't seen any performance issue with 0.7.0.0 + 4.9.1 on my machine.

                            However would it not be a better approach to simply record a couple of profiles (.ue4stats) in the same problematic map and in the exact same location but running on different versions of the runtime/engine, and then compare them?
                            Yes that is a totally valid way to do test performance but I find it easier (and this is just me) to first compare if different Rendering settings are causing the issues and if that does not cause the problem I look at performance profiles to see if I can figure out what is going on. Performance profiles can be a bit overwhelming at first especially if you do not know what you should be looking for.

                            Comment


                              #29
                              I'm back with some numbers; I barely know what I'm looking at, but what I'm hoping is that it sparks enough of a concern to have it looked into by Oculus and Epic. I used Vehicle Game (completely unmodified) to test because it's something that has a fair balance of CPU and GPU going on, and anyone else can download it to replicate these results.

                              I created a project in 4.8.3 and 4.9.1, and took screenshots with stat unit, and stat fps displayed. I apologize that I don't know how to more efficiently benchmark than this. I couldn't get the more advanced render stats to draw on the VR screen, such as the draw calls and render query result stuff. I took two samples from different points in the track to rule out anomalies (I started with 3 on the first couple of tests as you can see, but I realized that it would be a nightmare to type out, hopefully two is enough)

                              I used 4 tiers of quality settings in each Engine + Runtime combination just to be thorough, and in hopes that people smarter than me might find some pattern:

                              1. 'Epic' settings in Engine Scalability menu with all post process settings at default
                              2. 'Low' settings in Engine Scalability menu with all post process settings at default
                              3. 'Epic' settings with AA, AO, Bloom, Lens Flare, and SSR OFF
                              4. 'Low' settings AA, AO, Bloom, Lens Flare, and SSR OFF

                              All of the benchmarks used 100% HMD screen percentage

                              4.9.1 with 0.7

                              Code:
                              •Epic		
                              	FPS	47.50		47.72		47.60
                              	Frame	20.00ms		20.35ms		20.36ms
                              	Game	4.40ms		4.12ms		4.00ms
                              	Draw	9.12ms		8.22ms		5.18ms
                              	GPU	20.27ms		19.98ms		19.81ms
                              
                              •Low		
                              	FPS	47.70		47.72		50.36
                              	Frame	20.35ms		20.35ms		19.63ms
                              	Game	4.37ms		4.09ms		4.06ms
                              	Draw	10.40ms		8.37ms		4.97ms
                              	GPU	20.01ms		19.88ms		18.90ms
                              
                              •Epic with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	52.54		74.99		
                              	Frame	19.64ms		13.33ms		
                              	Game	4.41ms		3.73ms		
                              	Draw	8.37ms		5.13ms		
                              	GPU	20.25ms		13.36ms		
                              
                              •Low with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	74.99		75.02		
                              	Frame	13.34ms		13.33ms		
                              	Game	3.93ms		3.66ms		
                              	Draw	7.84ms		4.34ms		
                              	GPU	13.38ms		13.36ms
                              4.8.3 with 0.7

                              Code:
                              •Epic
                              
                              	FPS	57.34		62.25		
                              	Frame	16.40ms		10.47ms		
                              	Game	4.22ms		4.16ms		
                              	Draw	5.06ms		8.34ms		
                              	GPU	15.80ms		16.76ms	
                              
                              •Low
                              
                              	FPS	58.83		64.23		
                              	Frame	16.83ms		15.53ms		
                              	Game	4.33ms		4.36ms		
                              	Draw	9.67ms		5.20ms		
                              	GPU	16.58ms		15.56ms	
                              
                              •Epic with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	74.98		75.06		
                              	Frame	13.33ms		13.33ms		
                              	Game	3.95ms		3.65ms		
                              	Draw	8.37ms		4.04ms		
                              	GPU	13.33ms		13.32ms	
                              
                              •Low with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	75.12		75.01		
                              	Frame	13.33ms		13.33ms		
                              	Game	3.93ms		3.91ms		
                              	Draw	4.28ms		7.93ms		
                              	GPU	13.35ms		13.31ms
                              4.8.3 with 0.6.0.1

                              Code:
                              •Epic		
                              	FPS	75.12		74.97		
                              	Frame	13.33ms		13.33ms		
                              	Game	4.06ms		3.65ms		
                              	Draw	8.66ms		4.40ms		
                              	GPU	13.32ms		13.33ms		
                              
                              •Low		
                              	FPS	74.96		74.08		
                              	Frame	13.34ms		13.77ms		
                              	Game	4.00ms		4.77ms		
                              	Draw	9.69ms		5.23ms		
                              	GPU	13.35ms		13.81ms	
                              
                              •Epic with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	75.00		74.97		
                              	Frame	13.33ms		13.34ms		
                              	Game	3.95ms		3.90ms		
                              	Draw	7.87ms		5.01ms		
                              	GPU	13.33ms		13.32ms		
                              
                              •Low with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	75.05		74.98		
                              	Frame	13.33ms		13.33ms		
                              	Game	4.04ms		3.91ms		
                              	Draw	7.93ms		4.73ms		
                              	GPU	13.33ms		13.35ms
                              In conclusion of these three benchmarks, at 100% HMD SP, the lowest possible settings I could achieve with both 4.8.3 and 4.9.1 with runtime 0.7 barely keeps up with the highest possible settings with 4.8.3 and runtime 0.6.0.1: heavily implying that the issue is with Oculus' runtime. These benchmarks don't reflect frame time variance, which 0.6.0.1 also performed better at even when the performance was comparable between the two runtimes.

                              Out of curiosity, I also benched 4.8.3 and 0.6.0.1 with an increased HMD SP, trying to achieve similar performance to the bad 0.7 results. The result was that @ 130% HMD SP, 4.8.3 + 0.6.0.1 was roughly as performant as 0.7 @ 100% HMD SP.

                              Code:
                              •Epic		
                              	FPS	58.98		69.99		
                              	Frame	16.72ms		15.02ms		
                              	Game	4.28ms		4.07ms		
                              	Draw	7.84ms		5.76ms		
                              	GPU	16.44ms		15.56ms		
                              
                              •Low		
                              	FPS	58.84		59.82		
                              	Frame	16.82ms		14.99ms		
                              	Game	4.29ms		4.14ms		
                              	Draw	9.63ms		4.87ms		
                              	GPU	16.53ms		13.94ms	
                              
                              •Epic with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	74.98		69.55		
                              	Frame	13.34ms		14.23ms		
                              	Game	4.10ms		4.22ms		
                              	Draw	4.79ms		7.82ms		
                              	GPU	13.51ms		13.92ms		
                              
                              •Low with AA, AO, Bloom, Lens Flare OFF
                              		
                              	FPS	75.03		75.16		
                              	Frame	13.34ms		13.33ms		
                              	Game	4.15ms		4.05ms		
                              	Draw	3.17ms		4.75ms		
                              	GPU	13.35ms		13.33ms
                              I have saved all the screenshots with stats, if Epic wants I can annotate them and upload somewhere, but the numbers written above are those results converted into a text format. I'd really appreciate it if this was replicated at Epic so that the information can be forwarded in an official manner to Oculus or whatever it takes to fix this. My hardware is as follows, but looking at the other responses in this thread, I'm positive it is not just my specific set up that's affected:

                              4GBGTX 680 (stock)
                              3930k@3.20Ghz (stock)
                              32GB RAM

                              Comment


                                #30
                                Hey Mechanicalsnowman,

                                Thanks for the detailed feedback and I will make sure to pass it along to the VR guys. If I hear anything back about this I will be sure to let you know.

                                Comment

                                Working...
                                X