Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.
Options

Low FPS in Hololens App

Ciel712Ciel712
edited April 2016 in Questions And Answers

I have a chess board setup with some low poly pieces that total to somewhere around 16,000 polygons. I'm using the Standard Fast shaders from the Holotoolkit. I'm using the project settings from Origami, yet my fps is between 20-30fps.

I tried just opening the Origami project and the fps is at a solid 30 (on the hololens). Am I doing something wrong? I thought the FPS on Origami would be near the 90 range, not 30.

Update: I made a simple cube and it's still capped to 30fps on the hololens, although sometimes going to 31 or 32 briefly.

Best Answers

  • Options
    PatrickPatrick mod
    Answer ✓

    I'm running the Origami scene at 60hz (with some dips if I render the spatial mapping wireframe). Are you running Debug or Release?

    ===
    This post provided as-is with no warranties and confers no rights. Using information provided is done at own risk.

    (Daddy, what does 'now formatting drive C:' mean?)

  • Options
    Answer ✓

    Make sure you are deploying Release not Debug, it makes a HUGE difference.

Answers

  • Options

    Ciel72,
    The stats you list seem inline with what should get good performance. Have you setup the quality setting yet? If not I would suggest you edit those for optimal performance.

    You can edit this by going to Edit -> Project Settings -> Quality

    Two key areas to look at:

    Levels
    I suggest you un-check Fantastic, Beautiful, and Good for both then make sure you click the black down arrows and set the default to Simple for windows store.

    V-sync Count
    Try setting this to "Don't Sync"

    Extra - Shadows
    For Simple try turning off Shadows completely. You can do this through the quality settings or turning off shadows from the default direct light unity places in the scene. A MUCH BETTER solution for something like a chess game for the pieces is doing a cheap blob shadow for each piece. I think Unity refers to blob shadows as projectors.

    Cheers,
    Ryan

  • Options

    Hey Ryan,

    I'm using the project settings from Origami, and I double checked that those are all set. So if I get this right, what you're saying is 30fps on the Hololens is good?

    I thought the target fps was 60, according to this: https://developer.microsoft.com/en-us/windows/holographic/performance_recommendations

    I ran my cube test UWP build on my local machine and it caps out at 60, ran it on the emulator and it caps out at 60 (dipping into the high 50s), and ran it on the hololens getting 30 cap.

    Anyway, if the hololens has a 30fps cap, there's a noticeable stutter when I move left and right to view the cube.

  • Options
    MondayMonday admin
    edited April 2016

    Ciel712,

    60 is Ideal however the issue you are running into sounds like an Stabilization Plane issue: https://developer.microsoft.com/en-us/windows/holographic/Hologram_stability.html#Stabilization_plane and not due to frame rate. If you link in the UnityEngine.VR.WSA library by adding:
    using UnityEngine.VR.WSA;
    to an active C# script in your scene.

    Then you can use:
    HolographicSettings.SetFocusPointForFrame(enter Vector3 position here, return normal dir here);

    Whenever the focus changes. For a blank scene with a cube you may just need to call it once at the cubes position on the start function. It should fix/help the stutter.

    Cheers,
    Ryan

  • Options
    Ciel712Ciel712
    edited April 2016
    Thanks for the help Ryan,

    I will try that out later today. But my question still remains: if the ideal fps is 60, why am i getting 30 fps on the hololens with just a cube?

    From your link above:
    "The single most important thing a developer can do to stabilize holograms is to render at 60 FPS. Dropping below 60 FPS will dramatically reduce hologram stability, regardless of the stabilization plane optimization."
  • Options
    PatrickPatrick mod
    Answer ✓

    I'm running the Origami scene at 60hz (with some dips if I render the spatial mapping wireframe). Are you running Debug or Release?

    ===
    This post provided as-is with no warranties and confers no rights. Using information provided is done at own risk.

    (Daddy, what does 'now formatting drive C:' mean?)

  • Options
    Answer ✓

    Make sure you are deploying Release not Debug, it makes a HUGE difference.

  • Options

    What a silly mistake! (surprised at the difference it makes on such a simple scene) Thank you Patrick and jboulanger :)

  • Options
    Ciel712Ciel712
    edited April 2016

    So now a new problem is manifesting, my 16k polygon scene renders at steady 60 most of the time, however at certain angles it renders at steady 30. Any thoughts on how viewing angle can affect performance?

    Literally what happens is I sit up straight, steady 60; duck down, steady 30.

    Update: viewing angle led me to believe the issue seems to be with the Holotoolkit StandardFast shader. I switched to using Mobile Diffuse and it's fixed.

  • Options

    A difference in shadows perhaps?

    ===
    This post provided as-is with no warranties and confers no rights. Using information provided is done at own risk.

    (Daddy, what does 'now formatting drive C:' mean?)

Sign In or Register to comment.