Jump to content
Double Fine Action Forums
Sign in to follow this  
Jack Dandy

Game is capped at 30FPS

Recommended Posts

Hi!

I've downloaded the game on Steam, and it's pretty nice, but it's annoying how it's stuck at 30FPS. Feels really choppy. It's not like this game has ULTRA REALISTIC graphics, so I don't really understand why it's like that.

Is there any fix?

Share this post


Link to post
Share on other sites

It's an engine limit (something to do with the physics, specifically, if I'm remembering right). The Buddha engine was originally made to run a console game, for which 30FPS is the norm. Getting rid of that limit is on their list of things to do, but removing the FPS cap is apparently easier said than done.

Share this post


Link to post
Share on other sites

Have they stated they'll work on it, though? Because I got other games on my backlog, and I can hold out on playing this for awhile, at least until they finish fixing it.

Share this post


Link to post
Share on other sites

Actually, looks like it's likely going to get fixed pretty soon. The cap is being removed for the PC release of Brutal Legend, and all their other games that run the same engine (everything but Psychonauts, basically) will hopefully get updated with uncapped FPS afterwards.

Share this post


Link to post
Share on other sites

Weird, normally aspects like logic, rendering and physics are detached from each other in order to better avoid potential bottlenecks.

Share this post


Link to post
Share on other sites
Weird, normally aspects like logic, rendering and physics are detached from each other in order to better avoid potential bottlenecks.

The engine's sim runs at a fixed step for various reasons, like determinsm and physics stability. The renderer was already in a separate thread (many threads on console), but if the sim is generating 30 Hz it's not meaningful to render > 30Hz.... Unless you do interpolated rendering, which is one of the things we're adding. We're also adding a 60 Hz sim option for single player.

Share this post


Link to post
Share on other sites

Ahh okay, i'm more used to keeping these things flexible and frame rate independent rendering wise due to a wide range of systems. But how does determinism and physics stability increase by going with a lower frequency? Do you use some middleware or did you implement your own system? I was wondering about this when i read about certain bugs in The Cave too.

Share this post


Link to post
Share on other sites
Ahh okay, i'm more used to keeping these things flexible and frame rate independent rendering wise due to a wide range of systems. But how does determinism and physics stability increase by going with a lower frequency? Do you use some middleware or did you implement your own system? I was wondering about this when i read about certain bugs in The Cave too.

Physics stability is good at any consistent timestep. We could have picked a 60Hz sim, but that would have been too much on consoles and even on many modern PCs. Also, if you're determinstic/lockstep/peer-to-peer multiplayer, doubling your sim rate doubles your bandwidth and we were already pushing low end connections in 4x4 games of BL.

The engine is pretty much all internally built, except for Flash rendering, audio, and video playback.

Share this post


Link to post
Share on other sites

Well, it certainly depends on your specific implementation/target platform and other factors like choosing the right scale, the proper tolerance for your colliders, complexity of a scene,how much it is in the focus ... but generally if you can afford it, things look nicer by going with smaller fixed steps (like 50Hz/60Hz), less bullet miss the paper situations, slow motion is less an issue and so on (although you can keep this dynamic as well). Depending on if it's server based or what kind of information you're exchanging via peer to peer it doesn't automatically increase the bandwith but it can keep things more stable but you know this all on your own and i'm sure you selected the best solution for your needs.

As for deterministic reasons is your solution integer based or did you implement your own floating point solution/utalise a lib?

Are you using Scaleform then?

Share this post


Link to post
Share on other sites
Unless you do interpolated rendering, which is one of the things we're adding. We're also adding a 60 Hz sim option for single player.

The problem with interpolation though is that you'll introduce an extra latency of one sim step since you can't start interpolating until the next step is computed. You could try extrapolation instead, but I doubt it would look good. :-)

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...