Announcement

Collapse
No announcement yet.

Oculus Quest performance issue

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

    Oculus Quest performance issue

    I am developing a project for an oculus quest. I have a problem of poor scene performance. All project settings are made according to the instructions of the developers for the oculus quest in UE4.

    engine version - 4.22, 4.23, 4.24
    All meshes in the scene in Static mode
    Baked lighting: Skylight - Static, Directional Light - Stationary.
    Using Forward Rendering
    Texture Resolution 256
    Resolution of reflection spheres - 128
    Maximum Lightmap resolution - 1024

    Top view, from afar on the entire interior and all furniture - 72 fps
    https://www.dropbox.com/s/otdm6gthqj...hot_7.jpg?dl=0

    Top view, close to the entire interior and all furniture - 48 fps
    https://www.dropbox.com/s/lyh69xutig...hot_8.jpg?dl=0


    View from the 1st person in the corridor - 44 fps
    https://www.dropbox.com/s/1cio3i63cg...hot_9.jpg?dl=0


    View of the room on the sofa and wardrobe - 35 fps
    https://www.dropbox.com/s/pfd00wthcm...ot_10.jpg?dl=0


    In the smallest room in the scene, the FPS can vary from 72 (red) to 58 (Green)
    https://www.dropbox.com/s/mtoir9recr...ot_11.jpg?dl=0





    4 materials were used in this project:

    wall
    https://www.dropbox.com/s/9kgdkvinie...hot_2.jpg?dl=0


    background
    https://www.dropbox.com/s/owk3ripldd...hot_3.jpg?dl=0


    glass
    https://www.dropbox.com/s/m550tefj3a...hot_4.jpg?dl=0‚Äč


    transparent furniture material
    https://www.dropbox.com/s/77bn9ijzww...hot_5.jpg?dl=0


    The total number of polygons:
    https://www.dropbox.com/s/2ofdijyg7a...hot_6.jpg?dl=0


    When the scene has FPS = 45, the Stat Unit command gives the following result:
    Frame 21 ms
    Game 5.5 ms
    Draw 16 ms
    GPU 20 ms
    Mem 461 mb
    Draws 429
    Prims 632.8 k

    "stat gpu", "stat initviews" - https://www.dropbox.com/s/ovrn6r6qoc...09-29.jpg?dl=0
    "Shader Complexity" - https://www.dropbox.com/s/uouqzpoc62...20-40.png?dl=0

    Project download link - https://www.dropbox.com/s/9sa9pp55ef...R_NEW.rar?dl=0


    Please help
    Last edited by NeverEver575; 03-02-2020, 06:26 AM.

    #2
    Best is if you can share the project file and provide a download link.
    There are so many settings and possibilities - only having the project file allows others to see behind the curtain!

    Comment


      #3
      Originally posted by BernhardRieder View Post
      Best is if you can share the project file and provide a download link.
      There are so many settings and possibilities - only having the project file allows others to see behind the curtain!

      download link has been added!

      Comment


        #4
        Looks like way too many draw calls. I presume this is still many individual meshes? Combining static meshes and going to atlas'd materials is a general recommendation. Also, I believe transparency is particularly costly. You seem to be using as a visual effect, but I would suggest developing a different approach.

        Comment


          #5
          Originally posted by Guygasm View Post
          Looks like way too many draw calls. I presume this is still many individual meshes? Combining static meshes and going to atlas'd materials is a general recommendation. Also, I believe transparency is particularly costly. You seem to be using as a visual effect, but I would suggest developing a different approach.
          1. its about 5 textures in this scene. I do not think that this action will change much.
          2. we tested meshes by unifying them (1 mesh = room). it did not give a significant result (+5-6 fps).
          3. Transparecy - Dithered opacity. I used the cheapest way to apply transparency (+3 fps).
            https://www.youtube.com/watch?v=ieHpTG_P8Q0
            I also removed material from all furniture - no result.

          Comment


            #6
            Hi, if you don't want to change color or intensity of your directional light, then make it static not stationary, else it will still be partially dynamic.

            Next keep your shader complexity low (under optimization viewmodes you can change to shader complexity). Keep the amount of instructions per pixel around/below 100 for most of your view. So try making your glass material "unlit".


            Can you show an image from the result of following stat commands?:

            "stat gpu", "stat initviews"

            Comment


              #7
              Originally posted by chrudimer View Post
              Hi, if you don't want to change color or intensity of your directional light, then make it static not stationary, else it will still be partially dynamic.

              Next keep your shader complexity low (under optimization viewmodes you can change to shader complexity). Keep the amount of instructions per pixel around/below 100 for most of your view. So try making your glass material "unlit".


              Can you show an image from the result of following stat commands?:

              "stat gpu", "stat initviews"
              I need to dynamically change the position of the sun in the scene. So stationary is necessary. Dynamic sun starts to blink in oculus quest.

              –°hanges in the material of the glass did not add FPS

              "stat gpu", "stat initviews", "shader complexity" link has been added!

              Comment


                #8
                Ok, your shader complexity is way too high. For mobile and especially oculus quest where you also need high framerates your shader complexity should be around or below 100 instructions per pixel for most of your view. At the bottom of the shader complexity view you see the scalar, so white would be 2000 instructions per pixel and the scale is linear, so you might wanna try making most of your view bright green. But you really should change the material of the pink complexity.

                Next you should test performance always in standalone, and not in viewport or PIE cause this will give you wrong results. Don't know about oculus quest, but with the rift s I needed to start the game from command line, cause there is no standalone option only "VR Preview".

                If you don't need the atmospheric fog, then I would remove it (since your level seems to be indoor, you won't see any difference but it cost you performance, that's the "atmosphere" in your GPU stat).
                Next you might wanna disable some post processing if you don't need it, cause that's what causing most of the cost on your GPU.
                "Slate UI" that's the UI, right now you have that value cause you have those stat windows open and also render the editor.
                "Unaccounted" -> you're not running in standalone.
                "Shadow Projections" and "Shadow Depths" is cause you have stationary/movable lights that cast shadows.

                Comment


                  #9
                  To me from:

                  "stat gpu", "stat initviews" - https://www.dropbox.com/s/ovrn6r6qoc...09-29.jpg?dl=0

                  it looks like your drawcall are too high! Are you sure you merged all actors? Remember mobile does not support occlusion by default so even if you only 'see' a few objects in view all the objects before those are still being rendered. In 4.23 or 4.24 epic added software occulsion for mobile which needs to be turned on in your project settings.

                  Also obvious question but do you have mobilehdr turned on? This needs to be off
                  Headgear - VR/AR solutions

                  Comment

                  Working...
                  X