Calculating bone speed

I am trying to calculate bone speed, namely left foot and right foot speed, but on low frame rates I get abnormally high speeds.

This is the snippet that you can add in fresh Third person example project to reproduce the problem.

How ever you must make sure your system is slow enough to not be able to give steady frame rate. limiting the frame rate does not reproduce the problem because frame rate must be fluctuating and not steady.

Make sure that “Use Fixed Frame Rate” in general project settings is also turned off. (should be off by default)

image below shows the game is running on slow computer (Intel HD 530 graphics)

with command “t.MaxFPS = 120” you can see that I get velocities up to 3800 but if I limit the frame rate to say 30FPS then I get steady frame rate and maximum speed is around 1000.

This problem makes my calculations obsolete when frame rate is not fixed. limiting the frame rate is not the real solution, is this a bug or problem in my calculations?

From what I understand by skipping frames, “delta X” becomes greater but so does “delta Time” so calculated speed shouldn’t become significantly higher.

It’s worth mentioning if I calculate the root bone speed I always get the correct speed using this snippet.

delta time is taken directly from “Event Blueprint Update Animation”

Ether calculate avrage by comparing few delta results you have or use timer and compare with grater interval.

Thanks a lot, actually I can make interval only 10 times per second and still get reliable speed. not sure what is wrong with game ticks and my calculations

Using a timer and comparing time difference takes away the dependence on delta time and frame rates, unless the frame rate is lower than the timer rate.