Download

Low FPS causing some sort of earthquake

I don’t know what’s going on here but the lower the FPS the more everything vibrates. The only settings I’ve touched outside of my player blueprint is increasing the gravity.

https://youtube.com/watch?v=Djci5l_5am0

Also, the speed of my character/ball gets reduced. I’m using ‘add impulse’ and I don’t think it’s suppoesd to fluctuate depending on framerate. :confused:

Hi Lazy Games,

How is your project setup to do this? Can you post a list of things needed to replicate this in a new project and are you able to replicate in a new project?

You can always post your project folder here if you would like and I’ll take a look at what may be the cause of the issue.

Thank you!

Tim

Hi Tim,
Here is my project folder in a zip: https://drive.google.com/file/d/0B_kSD3YAkXjVbldETkVLbnFUTFU/edit?usp=sharing

I started with the blueprint rolling ball project, changed the ball’s blueprint to get fps style controls (in PhysicsBallBP), added some ramp meshes into the level. That’s pretty much it.

If I start a new rolling ball project and fraps it to 20fps there’s no earthquake but the ball rolls noticably slower. On the FPS project at 20fps I don’t see any difference to player speed or physics.

Hi Lazy Games,

I’ve got the project open. How did you get the FPS down to 20fps? Were you doing this intentionally and if so, how?

Thanks!

Tim

I am using fraps to record a video with ‘lock framerate while recording’. This drops everything to whatever framerate you set.

Back in my last project in UDK I had a similar issue where the lower the framerate, the higher the character would jump which completely broke the games mechanics.

Hi Lazy Games,

I’m not sure I’ll be able to reproduce this in this instance. I do not have Fraps or any recording software similar to it. If you’re able to repro this in a way that does not require Fraps running in the background I’d definitely be curious to look at it.

Thank you!

Tim

Just found out you can bring the console up in game with ` and typing “t.maxfps #” will set it to #fps. Get the same results.

Physics stuff slows down when lowering the framerate!

If you load up a new first person project, shoot the boxes, they bounce around with a certain weight to them. Right?

Now if you type “t.maxfps 10” into the console it brings the framerate down to 10, shoot the boxes, suddenly they bounce around a lot slower as if in slow motion, but the player can move around at the same speed as before.

So if you have a game with physics objects that need to behave in a certain way, then it’s pretty much broken as their behaviour changes depending on the fps.

I’m really not sure how this works so this might not make any sense - maybe physics objects need to be updated per tick instead of per frame? Or something similar to the fps character?

Ok I seem to have fixed the screen shaking this by turning on substepping. The boxes physics are fixed too.
But my rolling ball character still slows down/is less responsive at a lower framerate :confused:
I’ve tried playing around with substepping but haven’t got it how it should be.

The reason you’re seeing it be less responsive is because the InputAxis nodes only check once per frame. If you’re frame rate is only 20 it’ll be checking 20 times. The higher the FPS the more checks it provides on the current value of the InputAxis.

Aside from using Fraps and having that lower your FPS are there other instances where you would need the FPS be this low or are you just testing situations?

Tim

Ok I think I see whats going on, my add impulse is getting fired less times the lower the framerate. Causing it to act more sluggish.

I’m going for a little deathmatch multiplayer game but the players character has a ball for legs (could be a robot) causing the players to move around as if the floor was ice and the levels will look like something out of tony hawks. Now if a player cant get up a little ramp because their PC is rubbish (low fps) while a faster computer can glide up with ease… its a pretty broken game.

I just need things to be consistent regardless of framerate.