How can I *accurately* detect frame rate in blueprints?

I’m trying to add a warning in my in-game UI when the frame rate dips below 75 fps, below the vsync of DK2.

I have a scene tweaked for performance which runs minimum 130fps in stereo with vsync off.

To calculate fps I tried using the inverse of “elapsed” value provided by “Event Tick”. However it gives values that equate to below 75 (as low as 71) even though i’m at a hard 75fps due to vsync.

Even the raw elapsed value will consistently report over 0.01333 when it’s clear i’m hitting a rock solid 75hz vsync.

Is there a more accurate way to calculate rendering frame rate from within blueprints?

Hey tmek,

A simple way of getting the current framerate is to use a Tick event, and a Divide (float). Set the first input of the division node as 1, plug the tick even’s delta time into the second slot, the value that comes out from this will be your current frames per second.

I created a little UMG widget that runs all the time so I can always see in game how my FPS is doing, here is the entire setup:


With this you can get the current FPS to show in the top right corner of the viewport, it is very handy to have when debugging performance issues. :slight_smile:

Hope that helps!

This helped me out! Never knew it would be so simple. Thanks :slight_smile:

The first answer is awsome