IMPORTANT:

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible: https://developer.oculus.com/quest-pitch/

For additional information and context, please see "Submitting Your App to the Oculus Quest Store".
Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

What's the Target FPS for Quest?

remozremoz Posts: 58
Hiro Protagonist
Is there a specific Target-FPS you want to hit for FPS?
90, 70? 

What's recommended for the Quest?

Thank you so much!
Tagged:

Comments

  • HalfspacerHalfspacer Posts: 85 Oculus Start Member
    72
  • remozremoz Posts: 58
    Hiro Protagonist
    edited February 9
    Thank you very much. So that means, that 72-FPS the absolute maximum FPS you can reach with the Quest, is this correct?

    Also, if that's the case. Is there anything inside of the Unreal project settings you need to consider before deploying?
    Like, setting up a fixed FPS? 
  • prokshitprokshit Posts: 15
    NerveGear
    Nope, once you start working on more projects you realize it tough to maintain that FPS. For now, if you are hitting 70, that is fantastic
  • remozremoz Posts: 58
    Hiro Protagonist
    edited February 9
    Thank you prokshit. I am currently tackling three major issues.

    1. Is there a faster way to deploy to the Quest?
      It takes some time to run tests, because deploying to the quest using the USB3 cable takes some significant time. Isn't there a way to simulate the Quest-Deployment directly on PC?
    2. For some reason, when running the app with Five-Primitive Objects only, I am dropping in some areas down to 55-FPS. All lights are static, everything is baked.
    3. When running on the Quest, and moving my head left to right, the objects look like they are "jumping". A jittery effect happens. What could possible cause that problem and how to fix it?
    additional question:
    if you don't have a PC, how can you copy a packaged Android Game to the Quest and run it?

    I'll upload my project file asap.
  • remozremoz Posts: 58
    Hiro Protagonist
    edited February 9
    VR VIDEO Capture Test-Result can be found here:
    https://www.youtube.com/watch?v=Re6RmLMxl4Y


    Unreal Project File for Download:
    https://mega.nz/#!hfR2wKAD!IO4PFmSoShJG7eNIxmNYrbk4WgvXsZmz4dvjx0xR8BQ

    Problem #1:
    As you can see in the Video, I am having an AA issue.
    The edges appear jaggy and black - I am using 8xMSAA .

    There is also an additional problem, you can NOT see in the video-capture.
    When using the Quest, the cubes (1mx1m) seem to "jump" when turning the headset.
    Ruins the entire experience and can make your head spin.

    For some reason, we can also see a significant FPS-Drop when looking at the cubes or the picture on the wall.
    Even so, I am just dealing only with 1000 triangles, just using static lights and all is baked.

    Question:
    • What could cause the problem and how could I fix that?
    Thank you so much!
  • Michael_ChuangMichael_Chuang Posts: 1
    NerveGear
    Choose "Scalable 3D or 2D" in  "Target hardware".  That may be helpful to the "jump".
  • MaxArchMaxArch Posts: 179 Oculus Start Member
    If I'm not mistaken, the Quest is hardcoded to 4x MSAA.

    Are you using textures that have a size of 2^n ? How complex are your materials? A big part of your view is filled with the same material so maybe look for problems within the materials.

    I downloaded your project file to have a look myself but there are 2 issues that prevent me to open it;
    1. its using substance textures so I need to download and install the substance plugin. Dont need it and dont want to add it to UE.
    2. apparently its using a custom build UnrealEngine so its asking me to rebuild UE. Don't want to do that in case it could potentially break other projects.


  • remozremoz Posts: 58
    Hiro Protagonist
    edited February 11
    Thank you Michael and MaxArch.

    My project is setup with "Scalable 3D or 2D". So the "jumping" still remains and that doesn't really cause this problem.

    @MaxArch:
    The Plugin Substance:
    You don't need that plugin at all. Just uncheck in the Plugin Settings. And you are 100% good.
    There are only 4-Materials I am using for this test.

    They are Standard Unreal Materials. And only texture maps are added to the Difuse Slot.
    One Shader (on the red sphere) is using some roughness. Just to test reflection. 

    It's a super simple setup, just with primitive objects.

    VIDEO EXPLANATION:
    https://youtu.be/U1sdR8S73P4

    Custom Build UnrealEngine:
    That's odd. I am just using the latest 4.24.2 you can download from the Epic Launcher. It's nothing special, just the general build.

    Updated Scene File:
    In my latest Project File, I added a rotating head-sculpture. I wanted to see the performance when an object is rotating. As expected, Frames Drop. For the rotation I am losing about -20 FPS. Wow, that's a lot.

    DOWNLOAD PROJECT FILE:
    https://mega.nz/#!gWJREKYI!XIlBMFzjC9OKbHffLKr8aKF6kZ6MdFQJBhPN-RzzBE8

    My Documentation about HotFixes, Debugging and my Developing-Process for the Quest can be found here:
    https://fattybull.com/oculus-quest/

    cheers




  • MaxArchMaxArch Posts: 179 Oculus Start Member
    I had a look at the project file. I haven't tested it on the Quest but you could try changing these settings in the Project Settings;

    Rendering section;
    - lower the reflection capture resolution to 256 or 128. 2048 is way too high.
    - set auto exposure to manual
    - instanced stereo not needed for quest

    Android section;
    - Quest is 64 bit if I'm not mistaken. Use arm64
    - Disable Vulkan - its not as fast as OpenGl (yet) + Vulkan has artifacts.
    - Multi texture formats - untick all but ASTC

    Lights in your scene;
    - there are multiple stationary and moveable lights. Put them all to static and only change one to something else if you have moving objects and you really need real-time shadows.

    Materials;
    - there are several textures that are not using the 2^n size. Textures should be 2 4 8 16 32 64 128 256 512 1024 2048 in pixel size so Unreal can create mip maps. 512x512 is ok. 512x2048 is ok etc. If you don't do this, Unreal will always have the large resolution texture loaded instead of switching back to a lower one if appropriate. The 'have a nice day' texture in Unreal already takes 40Mb like this.

    I strongly recommend to watch several tutorial series by Sjoerd de Jong on materials, real time rendering, lighting etc Several of your issues are explained in these videos. https://learn.unrealengine.com/home/dashboard




  • remozremoz Posts: 58
    Hiro Protagonist
    Hi Max!

    Thank you so much for your reply - suuuuper cool, appreciate it!!!  :)

    I will test each component to see what impact it will have. It's a lot of testing, but I also want to document what's causing issues or what's "eating up" the performance.

    @vulkan:
    I also noticed in another test, when Vulkan was enabled the app stopped working on the Quest. It took me a while to figure out that it was Vulkan. It was not clear for me, when you check "Support Vulkan" if the Quest automatically uses Vulkan and ignores OpenGl. 

    However. When I turned off Vulkan at all, I still had the Anti-Aliasing issues on all the edges. Even if I was using 8xMSAA.

    @Lights:
    At my very first test I just used static lights for best performance. After that est, I loaded the statue (head) to see how the lights will react when using an animation. I noticed that my frames dropped -20FPS. Pretty huge for an animation. But that seems to be intense for the rendering. And yes, I guess I just want to test one Moving Light with Real Time Shadows on to see how the performance will be using also the turntable animation (statue on the cube).

    @TexturMaps Resolution:
    Yes, that makes totally sense. I think I loaded just three texture maps. The one on the cube (1meter grid size) is for sure 512x512 so that works for mipmaps. The two other ones I just compressed as .jpg images and then added .. also for testing purpose. What's interesting.. is that you mentioned that the two texture maps are already using 40MB RAM. Hmm... how much RAM can the Quest actually handle? Didn't look into that yet, but for sure super interesting.

    I am going to watch again Sjoerd de Jong's Unreal Videos. I did already as soon as they have been released. However, I am also testing.. meaning.. I want to see what impact texture maps have, reflections etc.

    But so far, I only created a base Material.. there is nothing complex. Just a texture map in the Base Color. Besides the Glossy Plastic Shader, that uses Roughness Values. 

    Good Texture maps are for sure very important. But I am also a "nerd" in render quality. And for sure, reflections are important for materials. One thing that is unclear, is the texture format: I am using .jpg images, but I could read on some other documentations that you should use ASTC Texture compression: https://youtu.be/JvMQUz0g_Tk?t=459

    Is this a compression you automatically have when saving .jpg images using Photoshop?
    or is this a specific compression format you need an additional plugin?

    Thank you so much for all your input - that's super nice and kind of you.
    I really do appreciate that!

    Happy developing and testing!
    cheers, Bernhard 

    ps: I'll keep you posted with my tests.. really curios if I can resolve the two current issues: AA, and "jumping" effect.
  • remozremoz Posts: 58
    Hiro Protagonist
    update:
    all changes made... but it didn't get any better... quite the opposite... the "jittery" effect ob the objects got even worse... I really wonder what that is....
  • MaxArchMaxArch Posts: 179 Oculus Start Member
    I'm afraid the only way to find out is to dive into your project and step by step start eliminating possible causes;
    - delete all lights and only use 1 static directional light, rebuild light  -test on the Quest
    - delete objects one by one, rebuild light and test on the Quest
    - delete all audio etc
    - delete all reflection captures etc
    etc etc...
  • remozremoz Posts: 58
    Hiro Protagonist
    edited February 13
    yes, that's how I started. The funny part about this.
    I started with one plane, and one cube only. Two primitive objects with just one static light and one material, that has only one color assigned.

    Result: --> Same problem.

    I kept going adding and testing a bit more. But it never changed those two original issues.

    #1: Objecs are "jumping" or "jittery"
    When moving your head from left to right - the cube object (especially to see on the edges) are "jumping" and "jittery".

    #3: Black Artificats on Overlapping Geometry 
    I was just guessing that the black artifacts are caused by Anti-Aliasing issues... but I could be wrong.
    Maybe it's something else.

    Sooo.. regardless... even if I am just using two primitive objects, I am having those issues.

    That's why I thought it must be somewhere something inside the Project Settings.
    It would be super helpful from Unreal / and or Oculus to just give away a Project Setting Template in which everything is being taking care for. I mean, the settings you do need specifically for the Quest. That would make it so much easier.

    But so far I can't even find a community and people developing for the Quest using Unreal.
    If you know any additional Sources, Community and Forum please let me know, I would like to connect with people of the same interest.

    Again.. thank you so much for your reply, I really do appreciate that!

    I guess I am going to start from scratch with another project - but I am afraid I will run into the same problem.
    I will document this weekend exactly how I started setting up the project with all the settings.

    I am going to update my documentation I started here:
    https://fattybull.com/oculus-quest/

    Just curious if there is anyone out there who would like to share his project settings and successfully deployed a level to the Quest.


    so far the status...cheers

  • remozremoz Posts: 58
    Hiro Protagonist
    update report:
    I figured out the problem with the black artifacts and updated my blog-documentation.

    next problem:
    moving object doesn't cast any shadows.

    Video Capture:
    https://youtu.be/_EXrKGdPydQ

    Light Source: Rectangular
    • One Light
    • Stationary
    • Dynamic Shadows: True


    Hmm... I am sure I am missing something major here... 
    cheers
  • MaxArchMaxArch Posts: 179 Oculus Start Member
    edited February 15
    @remoz would be nice if you would post your findings / solution for the black artifacts here as well instead of an exterior source where people have to search for it.
    As for the dynamic shadows, did you follow this guide from A to Z? Hint; you need a directional light, not a rectangular light. https://docs.unrealengine.com/en-US/Platforms/Mobile/Lighting/HowTo/CascadedShadow/index.html

Sign In or Register to comment.