Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
etherlord's avatar
etherlord
Explorer
9 years ago
Solved

Fps bouncing from 90 to 45 discretly

Hello everyone!
i need some help. Fps in my game in UE4 when i use VR preview - jumps from 90 to 45 and back discretely. Like something lock fps :( who faced something like this? 
  • I'm on Unity, but expect the same will apply. I struggled with the same thing for a while. From what I can tell this is due to VSync forced on through the SDK. It will lock the FPS to 90, if you get less that 90 fps it drops to 45 fps.

    If you are constantly jumping between FPS I would suggest you have something in your game that is causing you to drop below 90 FPS.

    To combat this I created a script to report the FPS to a canvas attached to my camera so it told me to FPS for where I was looking on the game. Turning on and off objects will often lead to finding the offending object(s). I got the the point of check lights, particles and shadows first as these were often the biggest offenders.

    Hope that helps a ltitle
    Mike
  • But i`m not Unity.... i`m UE :(
    Thank you guys. All of you are right.
     Seems before my Oculus drivers/UE 4.14.0 working wrong and not use Oculus Vsync.

    But trouble comes from r.ScreenPercentage command. seems it set more than 100% by default. After set in to 100 - i have 90 fps anywhere.

5 Replies

Replies have been turned off for this discussion
  • Fulby's avatar
    Fulby
    Heroic Explorer
    Yes I saw it in my game. I think it's because a 90Hz display panel can only display a frame after 1/90th of a second, 1/45th (if it misses a frame), 1/30th, etc. If your game's internal framerate is 85Hz, the panel will only display a new frame every 1/90 or 1/45 of a second, making the FPS jump between the two.
  • I'm on Unity, but expect the same will apply. I struggled with the same thing for a while. From what I can tell this is due to VSync forced on through the SDK. It will lock the FPS to 90, if you get less that 90 fps it drops to 45 fps.

    If you are constantly jumping between FPS I would suggest you have something in your game that is causing you to drop below 90 FPS.

    To combat this I created a script to report the FPS to a canvas attached to my camera so it told me to FPS for where I was looking on the game. Turning on and off objects will often lead to finding the offending object(s). I got the the point of check lights, particles and shadows first as these were often the biggest offenders.

    Hope that helps a ltitle
    Mike

  • Fulby said:

    Yes I saw it in my game. I think it's because a 90Hz display panel can only display a frame after 1/90th of a second, 1/45th (if it misses a frame), 1/30th, etc. If your game's internal framerate is 85Hz, the panel will only display a new frame every 1/90 or 1/45 of a second, making the FPS jump between the two.


    Nope. Before i start to optimize everything - it was 22-40 fps, sometimes 35-37. So i don`t think it`s because of Oculus 90Hz... but, rly dunno ( Before i hadn`t this storngly locked 45 and 90 fps

    MickyX said:

    I'm on Unity, but expect the same will apply. I struggled with the same thing for a while. From what I can tell this is due to VSync forced on through the SDK. It will lock the FPS to 90, if you get less that 90 fps it drops to 45 fps.

    If you are constantly jumping between FPS I would suggest you have something in your game that is causing you to drop below 90 FPS.

    To combat this I created a script to report the FPS to a canvas attached to my camera so it told me to FPS for where I was looking on the game. Turning on and off objects will often lead to finding the offending object(s). I got the the point of check lights, particles and shadows first as these were often the biggest offenders.

    Hope that helps a ltitle
    Mike



    UE4 have a build in stats, but it jumps randomly - i can look at 1 place - and have a 90 fps, turn around, look at same place and have 45 fps and vise versa

  • vrdaveb's avatar
    vrdaveb
    Oculus Staff
    If your app doesn't consistently render at 90Hz, the Rift SDK drops the app frame rate to 45Hz by blocking in Unity's VR.DeviceSDK profiler scope and then enables Asynchronous SpaceWarp (ASW) to keep the system responding with low-latency. Without ASW, the user would see dropped frames and hitching, leading to discomfort. To avoid ASW, you need to very consistently keep your CPU and GPU frame times under 10ms in Unity's profiler.
  • But i`m not Unity.... i`m UE :(
    Thank you guys. All of you are right.
     Seems before my Oculus drivers/UE 4.14.0 working wrong and not use Oculus Vsync.

    But trouble comes from r.ScreenPercentage command. seems it set more than 100% by default. After set in to 100 - i have 90 fps anywhere.