New To The Forum? Click Here To Read The How To Guide. -- Developers Click Here.

How to balance both Oculus game Quality and Performance in Unity?

NirmlRjNirmlRj Posts: 13
NerveGear
edited June 14 in Unity
Hello Guys, 
  
               I have been working on a car simulator for Oculus CV1 in Unity...Initially I gained 100+ FPS but image resolution was so weird and then I changed RenderScale to 2. It made my game look perfect but FPS went below 60 FPS (with Realtime Lighting and shadows enabled). When shadows get disabled FPS reaches 70 - 75..CPU usage in Profiler shows Rendering takes some extra time that cause FPS drop and I couldn't track GPU performance as there is a bug in Unity 5.5..3...So the question is how can I get sharp and crisp visual with req FPS? Hope I will get some solution here.
   
  FYI,
      Unity Settings I use :
                                          Unity Version : 5.5.3 (for some reasons I don't want to upgrade to 5.6)
                                          Color Space : Gamma
                                          Stereo Rendering Method : Multi-Pass
                                          AA : 2x Multi Sampling
                                          Anisotrophic Textures : Forced On
                                          VSync : Disabled
                                          Texture Quality : Full Res
                                          Rendering Path : Forward
                                          RenderScale : 2 (currently using) 

     PC specs :
                                          Processor : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz  4.00GHz
                                          RAM : 32GB
                                          Gfx : NVIDIA GeForce GTX 1070

Tagged:

Comments

  • imperativityimperativity Posts: 1,711 Oculus Staff
    Hi,

    Welcome to the Oculus Developer Forums.

    Go through this checklist of common issues for addressing image quality with respect to maintaining frame rate:

    1.      Low render scale. Set UnityEngine.VR.VRSettings.renderScale to 1-1.5.

    2.      No antialiasing. Set QualitySettings.antiAliasing to 2 or higher, or enable OVRManager.useRecommendedMSAALevel.

    3.      Deferred rendering. Be sure to use Forward.

    4.      Image effects. We generally don't recommend using image effects because they cost a lot of texture bandwidth and may introduce artifacts.

    5.      Low performance when adaptive resolution is enabled. Use the Unity profiler to make sure your game renders at 90Hz before you enable OVRManager.enableAdaptiveResolution. If your game is rendering slowly, adaptive resolution will turn down the render scale to save performance. We only recommend using it when your game is generally running at 90Hz and you need an extra performance boost here and there.

    ----------------------------------------

    Also, try running OVRLint from within the Oculus menu of Unity and it will advise you on certain image effects and other settings you can adjust to maintain frame rate in the event that you've hit a wall in this regard.


  • NirmlRjNirmlRj Posts: 13
    NerveGear
    Hi,

    Welcome to the Oculus Developer Forums.

    Go through this checklist of common issues for addressing image quality with respect to maintaining frame rate:

    1.      Low render scale. Set UnityEngine.VR.VRSettings.renderScale to 1-1.5.

    2.      No antialiasing. Set QualitySettings.antiAliasing to 2 or higher, or enable OVRManager.useRecommendedMSAALevel.

    3.      Deferred rendering. Be sure to use Forward.

    4.      Image effects. We generally don't recommend using image effects because they cost a lot of texture bandwidth and may introduce artifacts.

    5.      Low performance when adaptive resolution is enabled. Use the Unity profiler to make sure your game renders at 90Hz before you enable OVRManager.enableAdaptiveResolution. If your game is rendering slowly, adaptive resolution will turn down the render scale to save performance. We only recommend using it when your game is generally running at 90Hz and you need an extra performance boost here and there.

    ----------------------------------------

    Also, try running OVRLint from within the Oculus menu of Unity and it will advise you on certain image effects and other settings you can adjust to maintain frame rate in the event that you've hit a wall in this regard.


    Thank you for reply Sir,

      1. Yes I changed renderScale value and finalized it to 1.2

      2. I am using 8x MSAA as I get little satisfication with it.

      3. Using default rendering option(Forward).

      4. Not using any image effects except post-process AA.

      5. I will try those remaing points and update ASAP with the result.

    After following those four steps now I am satisfied with game quality and FPS is around 95 - 120. But the problem I noticed is mesh edge Flickering/Jittering(especially trees and distant objects). But those edge flickerings are visible mainly in Oculus screen. My PC Monitor shows very less jitterings compared to Oculus screen. And one more thing is this problem exists only when VR is enabled(Ouclus). When VR is disabled mesh edges were sharp and crisp. What could the reason for that. am I doing anything wrong or missing something?   
Sign In or Register to comment.