This is just a question I have always wondered and thought about for ages. When there is a console game (like for Xbox or PS) and the frame rate is bad and low, is it because the game is maxing out the console? Or is it just like a game thing? How do developers fix it? Do developers code things in different ways to reduce low fps problems? Sorry if this is a silly question, just wanted to ask you guys, cause I’m sure there is a bunch of intelligent people on this forum who have a good idea.
Looking something up on Assassin’s Creed Unity’s framerate issues will probably give you your answer.
Low frame rates are essentially caused by the game asking the console to do too many things.
In order to draw one frame, the console has to do many things. It has to calculate the position of every object relative to the player, then it has to know what each of those objects should look like. For example, what kind of shape and texture they have, and how light reflects off them. Finally, it has to draw all that on the screen.
To display the game at 30 fps, the game has 0.033 seconds to draw each frame. The console has a certain amount of “cycles” it can do within that time. Every action the game asks the console to do takes some cycles. If the console can only do, say, 900,000 cycles in that 0.033 seconds, but the game is asking it to do 1,000,000 cycles, then the console can’t keep up with the game’s demands, and it will take longer than 0.033 seconds to draw that frame. And this is the simplified version of how frame rate drops happen. So yes, low frame rate is kind of caused by the game “maxing out” the console. But more accurately, the game is actually asking too much from the console.
There’s only one way the developers can make the frame rates better, which is by making each of their frames require less cycles, so that the frame requires as many or less cycles as the console can do. However, this can be done in more than one way. It can mean that they just make the frame simpler by taking objects away, or making some objects less detailed, but it can also mean making things more efficient. For instance, there might be something happening in the frame that takes 200,000 of the cycles to draw, but there might be a better way to code it so that it only takes 100,000 cycles, which would also help. A combination of both methods is used in game design to reach frame rate targets.
I hope this helps.