4.8 + Rift locked at 37 fps - SOLVED (kinda)

Hi all,

This is my first post, so thought I’d throw up something I found useful.

I booted up the VR Content Examples today, and found it was locked at 37 fps. Not sure why, I was using rift in Direct HMD mode, and my machine has plenty of power for this tiny level. (I was getting 256 FPS in windowed mode).

I used the console command “stat fps” to read the frame rate.

According to what I have read, you need between 75 and 90 FPS for a judder free VR experience. 37 is going to look bad and cause simulator sickness (it did).

Anyway, long story short, what solved it was pressing “~” to bring up the console and typing “hmd sp 100”. After that it capped at 75 fps

I’m running an NVIDIA GTX 670, and can run most of the Demos with little judder on this card.

It would be good if someone could point me to some documentation on the hmd commands, and explain why Unreal seems to cap the FPS. Don’t really understand why you would want to cap FPS at all, let alone to 37 FPS.

So I’ve just tried this and while it does uncap it from 37, to something closer to 75 on my machine, I now get horrible judder. I think the engine is capping it at 37, because it cannot get to near to 75. I can get to 75 by optimizing my graphics or switching everything to low without using this console command.


Yeah if you turn off vsync: console: “hmd vsync off”, you’ll see your true fps. Dipping even slightly below 75 at any point will automatically get you down to 37.5 with vsync on.

hmd sp 100 is only a temporary solution. Unfortunately the result is pretty low perceived resolution. Blurry. I like to try and optimize my digs for a screen percentage of 135. Though depending on what’s going on, sometimes I cheat and bring it down to 120 if I’ve got lots going on on-screen.

In any case, would love an explanation as to why it gets capped.

I have the same issue (with a 680GTX). It happens even with the simplest of scenes, like the Third Person template. Currently, I’m putting the “hmd sp 100” command into the level blueprint and trigger it with the Begin Play event but that’s hardly a solution.

I’ve found that PBR materials in general have a massive performance impact, most of the stuff we make is simpler and a bit more stylized in order to get round PBR.

As a test if you change the materials to have 0 metallic and 1 roughness you will see a major boost but will come at the cost of material quality.

Also lighting in general will also have an impact, changing all your lights to static and avoiding dynamic lighting as much as possible will also give you a boost.

We have found that by starting simple and building scenes up piece by piece will give a much better result, most of the default scenes that ship with unreal will not give adequate performance for good VR experiences on modest machines.