• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.
  • We have made minor adjustments to how the search bar works on ResetEra. You can read about the changes here.

ScOULaris

Member
Oct 25, 2017
9,613
Listen. I get it. Not everyone is a sensitive to things like screen-tearing, framerate fluctuations, etc. as those of us who can't ignore such visual-performance imperfections, but I genuinely don't understand how games ship with frame pacing that is pretty much uneven at all times during gameplay.

I'm not even someone who hates on 30fps as a general rule. To me, the most important aspect of a game's visual delivery is that its frames hit the display in a smooth and consistent manner. A hard-locked 30fps game with even frame pacing can look and feel silky smooth and highly responsive, albeit not to the same level as 60fps or higher. Framerate fluctuations are somewhat of an eyesore in general, regardless of the target framerate, but IMO they are understandable if they happen when things get hectic in an otherwise visually impressive game. Like, my brain gives fps drops a pass if what I'm seeing on screen feels like it's pushing the hardware in some way.

But I've been playing the Spyro Reingited Trilogy lately, and I just don't get it. Sure, a 30fps 3D platformer is not ideal, but Toys for Bob crafted a pretty gorgeous game here from an art and animation standpoint. Since Spyro doesn't require too much precision, I could understand targeting a locked 30fps in exchange for more luscious cartoon-style visuals. But I'll be god damned if the frame pacing in this game is just always off. At no point is the game not suffering from micro-stutters, and it severely hampers the game feel and conveyance of visual polish for me.

4w1pfm6yqmk31.jpg

The game's otherwise gorgeous presentation is hampered by the ever-present stuttering due to bad frame pacing.

How does this happen though? Do none of the developers notice it? Do they think that most people won't notice it? I'd love to hear from someone with some experience in game development or rendering pipelines if they could shed some light on this topic. This issue seems to crop up even in games that otherwise show a locked framerate (30 or 60) when measured, which is what makes it all the more confusing to me.
 

Chaos2Frozen

Member
Nov 3, 2017
28,041
Video games are hard.

Frame pacing is probably low on the list of priorities compared to the other more crucial bugs they're squashing before the deadline.
 

Khanimus

Avenger
Oct 25, 2017
40,199
Greater Vancouver
Because videogames are hard to make.

Developers know the problems of their games as they encroach towards final deadlines (many times only as they approach those final days), they just don't have the time/budget/staff to get it all done.
 

Flandy

Community Resettler
Member
Oct 25, 2017
3,445
Generally the higher the GPU usage the harder it is to maintain even frame pacing I think? Not saying this is the cause but could be a factor?
 
Aug 30, 2020
2,171
I've never developed anything remotely like a full retail game, but the amount of small things you can almost immediately run into in games development that is definitely caused by the engine and nothing you did, and your job is to navigate this minefield of undocumented quirks, leads me to believe that the developers probably couldn't do anything about any small performance issues you encountered. I mean those devs didn't write Unreal Engine 4.

Game engines are doing so much stuff in the background to ease development of games, and maybe some of those are as perfectly performant as others. We know what that's like in Unity, well it's hard to imagine why they couldn't fix their time delta 'implementation' until recently, but I can't even what a 'mess' garbage collection is like in these engines.
 

RPGam3r

Member
Oct 27, 2017
13,503
I don't even know what frame pacing is bc every game that has it seems fine to me. Like I played the Spyro trilogy and don't recall anything wrong with it.
 

Liabe Brave

Professionally Enhanced
Member
Oct 27, 2017
1,672
This issue seems to crop up even in games that otherwise show a locked framerate (30 or 60) when measured, which is what makes it all the more confusing to me.
This is an artifact of arbitrary definitions. In reality, all framerate drops and surges are "framepacing issues". Just at some point that term became restricted in use only to the cases where the average meets the target.

Noting the underlying universal range of framepacing issues can help recover some truth, though. Everyone realizes that "framerate drop" pacing issues can have myriad causes. The same is true of "pure" framepacing issues too. (And also of the perceptually-similar "no framepacing issues at all, but offset frames delivered in proper cadence". Which we might call "framespacing issues". )
 

mute

▲ Legend ▲
Member
Oct 25, 2017
25,087
There are no hard requirements for performance. All left up to developers and/or publishers discretion.

There is no data out there that correlates performance vs. sales $ and without that it is hard convincing people with money that you need to dedicate time to appease people that are probably already buying your game.
 

justiceiro

Banned
Oct 30, 2017
6,664
Lol, like there is a engine checkbox written "lock framerate" and boom: the engine calculates all the possible angles, action and objects that the player can interact at all times and limits the framerate to that.

Extensive polish requires extensive testing and extensive development. You think game budget is unlimited?

If developers know anything about game design, they know that is not the uneven frame pace that would ruin the game for most of the audience. And they have to think on what the audience values the most if they want to keep in the business.
 

NeoBob688

Member
Oct 27, 2017
3,639
Nobody has yet answered the question why exactly frame pacing specifically is hard to get right, aside from "game development is hard."
 

Chaos2Frozen

Member
Nov 3, 2017
28,041
Nobody has yet answered the question why exactly frame pacing specifically is hard to get right, aside from "game development is hard."

It's like saying why is cooking so hard? Just do the thing in the instructions duh

It can go wrong due to any number of reasons. Programming is a bitch especially when it's something that complicated like a video game.
 

Chettlar

Member
Oct 25, 2017
13,604
It's like saying why is cooking so hard? Just do the thing in the instructions duh

It can go wrong due to any number of reasons. Programming is a bitch especially when it's something that complicated like a video game.

No it really isn't like asking that. They're asking why is it so easy to burn sugar. There is an answer to that, and unless you're a cook you probably don't know why. I sure don't. But there is probably a scientific answer for it.
 

ItchyTasty

Member
Feb 3, 2019
5,907
I've messed around a bit with Unity, and finding ways to optimise games while still making them look good is a hard balance.

It's not like it's by choice lol
 
Nov 2, 2017
6,809
Shibuya
Nobody has yet answered the question why exactly frame pacing specifically is hard to get right, aside from "game development is hard."
1) game development is hard
2) the vast majority of people, including the vast majority developers, do not have instant access to tools to measure frame pacing in a good way for trend observation within their titles
3) most performance targets developers set down are based purely on the framerate and resolution, which are usually more important for a variety of reasons
4) the few developers who do get to focus hard on performance (usually a minority of the team) may not realize the frame pacing is something that needs addressing and in some cases bad frame pacing can be a tool/engine quirk that the tools team has to fix
5) game development is a hundred times harder that you think it is

No it really isn't like asking that. They're asking why is it so easy to burn sugar. There is an answer to that, and unless you're a cook you probably don't know why. I sure don't. But there is probably a scientific answer for it.
I hate to be rude, but this is sort of a naive take. There are plenty of reasons games can have performance issues and there is absolutely no single answer for it. Ultimately it's always just worth remembering that only a handful of people on any given team will be assigned to really tackle performance in a big way and it's genuinely possible that they aren't really aware of the ramifications of bad frame-pacing or indeed that they're able to fully fix it even if they are aware. There is no silver bullet.
 

Vareon

Member
Oct 25, 2017
6,842
Do testers even report frame pacing if it's not critical to the game's playability overall?
 

Chettlar

Member
Oct 25, 2017
13,604
I hate to be rude, but this is sort of a naive take. There are plenty of reasons games can have performance issues and there is absolutely no single answer for it. Ultimately it's always just worth remembering that only a handful of people on any given team will be assigned to really tackle performance in a big way and it's genuinely possible that they aren't really aware of the ramifications of bad frame-pacing or indeed that they're able to fully fix it even if they are aware. There is no silver bullet.

Sorry, that's not what I meant to imply. My point was just that, while yes there are many answers and video games are hard, OP would probably appreciate an answer that is more like, well, here are some things that can go wrong that can cause it. The example I was contending against is just not parallel to the situation at all in that it's an overarching one, and OP's was more specific. Yes it's a technical answer and most people here won't have the answer, but hey maybe OP will reach someone who could link a GDC talk, or maybe one of the people here who knows could go over things like frame times, as once someone did on here (can't remember who it was). But saying it's like "why is cooking so hard" isn't really accurate. It doesn't have a simple answer, but it also doesn't have a general nonanswer either.
 

Chaos2Frozen

Member
Nov 3, 2017
28,041
No it really isn't like asking that. They're asking why is it so easy to burn sugar. There is an answer to that, and unless you're a cook you probably don't know why. I sure don't. But there is probably a scientific answer for it.

What do you think people mean when they say "any number of reasons"?

Im not a game developer but I had touched a tiny bit of programming, simple programming mind you.

It's literally any number of things could potentially screw things up. Just like how any number of missteps can mess with a dish. Video games are big complex beasts with a ton of moving parts.

Believe me I wish it was easy as why sugar burn.

edit:

here's the kicker- trying to solve this minor problem might cause a major problem as well lol.
 
Nov 2, 2017
6,809
Shibuya
Do testers even report frame pacing if it's not critical to the game's playability overall?
I worked QA for five years internally at two AAA companies and never once saw the words "frame pacing" in a bug. Most of the time performance testing involved production sending across their frame rate targets and having testers enter bugs for areas of duress. I remember on Tomb Raider (2013), we eventually got word down that we could enter bugs for areas that went below 26FPS for a sustained period of one second or more, and that was about it on QA's end. Unless performance is a high priority for the leadership of the game, you'll be lucky to get more focus than that in my experience.
 

Chettlar

Member
Oct 25, 2017
13,604
What do you think people mean when they say "any number of reasons"?

Im not a game developer but I had touched a tiny bit of programming, simple programming mind you.

It's literally any number of things could potentially screw things up. Just like how any number of missteps can mess with a dish. Video games are big complex beasts with a ton of moving parts.

Believe me I wish it was easy as why sugar burn.

edit:

here's the kicker- trying to solve this minor problem might cause a major problem as well lol.

Right but this isn't even remotely helpful to OP whatsoever. There are ways to give high level explanations for big issues like this. I don't know this particular issue, but I've had other ones, like. Man it's too late for me to think of an example right now. If someone asked me how come cooking gets messed up all the time, I'd ask for something a bit more specific, but OP has already done that. They didn't ask why video games are hard to make. They asked what causes this particular issue. If your answer is "cuz hard" like, why bother? You can give someone a general sense of the sorts of things that cause complicated issues without giving a non-answer.

EDIT:

2) the vast majority of people, including the vast majority developers, do not have instant access to tools to measure frame pacing in a good way for trend observation within their titles

This is an answer that like, gives SOME idea. It's not the only one by FAR, but it's one thing that you can hear and go "yeah that definitely tracks. I had no idea that would be the case."
 

SJPN

Member
Oct 27, 2017
1,023
I don't even know what frame pacing is bc every game that has it seems fine to me. Like I played the Spyro trilogy and don't recall anything wrong with it.


Regardless of the frame rate of the game, your console outputs and your screen displays at 60Hz.

In a locked 30fps game, each frame is repeated and displayed twice.

1,1,2,2,3,3..29,29,30,30

So the TV is refreshing at 60Hz, 30 unique frames are shown, and it looks smooth.

Frame pacing is where 30 unique frames are shown, but some only are shown for 1/60th second and others 3/60ths of a second.

1,1,2,3,3,3,4,4,5,6,6,6...

This appears as a stutter and doesn't looks smooth. Once you spot it, you can't unsee it.
 

signal

Member
Oct 28, 2017
40,192
What percentage of people even naturally notice this unless Digital Foundry puts out a video talking about it? Serious question I don't remember this actually being talked about much / ever before Bloodborne. Was it just not an issue in games until then?

The appears as a stutter and doesn't looks smooth. Once you spot it, you can't under it.
I'd say it's definitely still subjective how much it affects you even after you have been made aware of it.
 

Dyle

One Winged Slayer
The Fallen
Oct 25, 2017
29,933
What percentage of users do you think notice poor frame pacing? Maybe 10% if we're being incredibly generous? I can't think of a single game I've played where I've personally identified it if it wasn't connected to a poor frame rate
 

Feep

Lead Designer, Iridium Studios
Verified
Oct 25, 2017
4,602
To ensure either 60 FPS or 30 FPS with even frame pacing, EVERY SINGLE FRAME must come in between either 16.66 ms or 33.33 ms, every time, without exception. The possibilities of what's going on on screen are nearly endless. The player controls the action, usually the camera angle, and can be at any legal position in any level; a game could be rendering the character and a whole 64 polygons of the ground plane if you're looking straight down, or 72 characters and a wildly complex landscape if looking out over a higher cliff above a town, or something.

You could start developing the game with "well we'll shoot for an average of like 7 ms so that even our most extreme outliers stay below 16.66 ms", but you're sacrificing a TON of visual fidelity to do that. In general, you want to eke every ounce of performance to make sure your game looks great, and if it OCCASIONALLY jumps above 16.66, well, most people aren't going to notice, and your game is still gonna look great in stills.

Ultimately, as reductive as it sounds, game development is hard. Any given frame's timing is a nigh incomprehensible combination of geometry, draw calls, batching, fill rates, shader complexity, post process effects, particles, and that's assuming all the chaos on the CPU is never a bottleneck. Ultimately, it's just exceptionally difficult to manage, and it's very low on the priority list to ensure it just NEVER gets above that mark.
 

RPGam3r

Member
Oct 27, 2017
13,503
Regardless of the frame rate of the game, your console outputs and your screen displays at 60Hz.

In a locked 30fps game, each frame is repeated and displayed twice.

1,1,2,2,3,3..29,29,30,30

So the TV is refreshing at 60Hz, 30 unique frames are shown, and it looks smooth.

Frame pacing is where 30 unique frames are shown, but some only are shown for 1/60th second and others 3/60ths of a second.

1,1,2,3,3,3,4,4,5,6,6,6...

This appears as a stutter and doesn't looks smooth. Once you spot it, you can't unsee it.

I appreciate the explanation. I've really looked for it in titles that have it and I can't see it. I mean in this case ignorance (or inability to see it) is bliss I guess.
 

Teeth

Member
Nov 4, 2017
3,938
1) game development is hard
2) the vast majority of people, including the vast majority developers, do not have instant access to tools to measure frame pacing in a good way for trend observation within their titles

#2 can be relatively straightforward to write. Most programmers will just write a simple framerate average to write to screen, but you can just as easily write an accumulator that will keep a count of frames greater than 33.4/16.7ms (depending on your target), display it on screen, and just have it reset every minute.

Now, if your frame presentation is coming out of order at a deeper link in the display chain (which is absolutely dire) or if your delta-t calculator is borked (hi Unity!), then yeah, it takes deeper consideration.

To ensure either 60 FPS or 30 FPS with even frame pacing, EVERY SINGLE FRAME must come in between either 16.66 ms or 33.33 ms, every time, without exception. The possibilities of what's going on on screen are nearly endless. The player controls the action, usually the camera angle, and can be at any legal position in any level; a game could be rendering the character and a whole 64 polygons of the ground plane if you're looking straight down, or 72 characters and a wildly complex landscape if looking out over a higher cliff above a town, or something.

You could start developing the game with "well we'll shoot for an average of like 7 ms so that even our most extreme outliers stay below 16.66 ms", but you're sacrificing a TON of visual fidelity to do that. In general, you want to eke every ounce of performance to make sure your game looks great, and if it OCCASIONALLY jumps above 16.66, well, most people aren't going to notice, and your game is still gonna look great in stills.

Ultimately, as reductive as it sounds, game development is hard. Any given frame's timing is a nigh incomprehensible combination of geometry, draw calls, batching, fill rates, shader complexity, post process effects, particles, and that's assuming all the chaos on the CPU is never a bottleneck. Ultimately, it's just exceptionally difficult to manage, and it's very low on the priority list to ensure it just NEVER gets above that mark.

Is this for correct frame pacing (as described in the "digital foundry" way) or are you just referring to a steady frame rate? Because, i'm pretty sure that if you have all of your frametimes come in UNDER 16.6 or 33.3ms, then you can present your framerate consistently without pacing issues (by presenting consistently without rendering <too far> ahead and incorrectly stacking or presenting frames). If you have a particularly heavy scene that starts taking 20ms to render, then you'll end up with frame drops, not "frame pacing" issues.

Frame pacing, as described the "Digital Foundry" way and now adopted into message board parlance comes from inconsistently delivered frames that generally don't blow over the target. Especially something that's displaying at a juddering 16/33/66ms under Vsync. It'd be less juddery if they spinlocked the 16ms frames to output at 33. The original Destiny had this issue in its beta, wherein it'd judder between 16 and 33. They smoothed it out to 33 with even pacing in the final.
 
Last edited:

Chettlar

Member
Oct 25, 2017
13,604
I appreciate the explanation. I've really looked for it in titles that have it and I can't see it. I mean in this case ignorance (or inability to see it) is bliss I guess.
Certainly is, once you notice it it'll annoy the shit out of you probably.

For some reason it really bugs me in most games, but Bloodborne, one of the most notorious examples...was honestly fine for me. Although I guarantee it would have been a much better experience at 30 locked and even better at 60. Which weirdly enough, seems to fix their engine's framepacing issues, such as with Dark Souls 3. Playing it at 60 fps on PC or PS5 resolves the issues.
 

Feep

Lead Designer, Iridium Studios
Verified
Oct 25, 2017
4,602
Is this for correct frame pacing (as described in the "digital foundry" way) or are you just referring to a steady frame rate? Because, i'm pretty sure that if you have all of your frametimes come in UNDER 16.6 or 33.3ms, then you can present your framerate consistently without pacing issues (by presenting consistently without rendering <too far> ahead and incorrectly stacking or presenting frames). If you have a particularly heavy scene that starts taking 20ms to render, then you'll end up with frame drops, not "frame pacing" issues.

Frame pacing, as described the "Digital Foundry" way and now adopted into message board parlance comes from inconsistently delivered frames that generally don't blow over the target. Especially something that's displaying at a juddering 16/33/66ms under Vsync. It'd be less juddery if they spinlocked the 16ms frames to output at 33. The original Destiny had this issue in its beta, wherein it'd judder between 16 and 33. They smoothed it out to 33 with even pacing in the final.
Unless I'm quite wrong, frame pacing issues can't really occur if every frame is under the target ms (as long as you're v-sync'ed). It's when a frame goes over that limit, and the hardware manages to "catch up" on other frames, that you can retain a target framerate but still have pacing issues.

Or am I wrong? I thought that was the definition of it, I'm not sure how you could stay under the target and not manage to deliver frames on the v-sync every time.
 

nded

Member
Nov 14, 2017
10,573
Occasional frame drops are acceptable. Devs can't account for every possible in-game situation in their rendering budget after all.

It's stuff like the Sable devs deciding to cap the frame rate at 24fps or some Unity games where character movement and camera rotation update at different intervals that drive me up the wall. It's nothing I can't get past with some effort but I do wish more attention is paid to issues like these.
 

Hexadron

Member
Oct 25, 2017
750
I could always feel it [bad frame pacing] in games though. How it felt laggy, janky or slow at times but mostly smooth at others. No immediate low frame rates present - just "off"

The 'It's hard' excuse is a bit of a lame one. These are professionals and it's their job. My job is "hard" but that's no excuse for me not to do it effectively including deadlines. Games are complex, but this sounds more like developers/publishers trying to save a buck.

My experience playing Spyro was plenty of game breaking bugs which required me to reinstall the game twice and the frame pacing tarnishing the experience enough for me to not want to give it another play through.
 

Vareon

Member
Oct 25, 2017
6,842
I worked QA for five years internally at two AAA companies and never once saw the words "frame pacing" in a bug. Most of the time performance testing involved production sending across their frame rate targets and having testers enter bugs for areas of duress. I remember on Tomb Raider (2013), we eventually got word down that we could enter bugs for areas that went below 26FPS for a sustained period of one second or more, and that was about it on QA's end. Unless performance is a high priority for the leadership of the game, you'll be lucky to get more focus than that in my experience.

I see, thanks for the explanation. Getting rid of bugs before release can be a thankless job because your work isn't noticed and people are quick to point out other bugs that you probably already knew was there anyway (but the devs have no time or priority to fix it).

Certainly is, once you notice it it'll annoy the shit out of you probably.

I wonder if one can reverse or deal with this. Losing the ability to enjoy many games because of things like this sounds like a shitty situation to me. It's almost like an audiophile trying to convince me "you won't be able to listen to shitty headphones anymore if you try my REAL headphones" but why would I want to lose the ability to enjoy stuff using cheap headphones if I had no problems before.
 

Feep

Lead Designer, Iridium Studios
Verified
Oct 25, 2017
4,602
The 'It's hard' excuse is a bit of a lame one. These are professionals and it's their job. My job is "hard" but that's no excuse for me not to do it effectively including deadlines. Games are complex, but this sounds more like developers/publishers trying to save a buck.
The "excuse" is value proposition. It's an intense amount of work and it's usually more efficient/profitable to dedicate those resources elsewhere.
 

Teeth

Member
Nov 4, 2017
3,938
Unless I'm quite wrong, frame pacing issues can't really occur if every frame is under the target ms (as long as you're v-sync'ed). It's when a frame goes over that limit, and the hardware manages to "catch up" on other frames, that you can retain a target framerate but still have pacing issues.

Or am I wrong? I thought that was the definition of it, I'm not sure how you could stay under the target and not manage to deliver frames on the v-sync every time.
It's complicated, as it can happen in different places in the render and display chain, and from a number of different causes, and is dependent on the type (and correct implementation of) vsync and how many render-ahead frames are being done. Unity is (or was, as this has supposedly been fixed in one of the newer versions) really bad for this, as its built in delta-t calculator was improperly implemented and it was calculating the difference in time between (I believe) rendered frames rather than presented frames...when presented frames are what mattered and it could cause incorrect frame order presentation.

That's just one way. There are dozens of other ways it can happen, but in truth, it's far more common the more consistently you are going over your frame budget, yeah. But not always.
 

Feep

Lead Designer, Iridium Studios
Verified
Oct 25, 2017
4,602
It's complicated, as it can happen in different places in the render and display chain, and from a number of different causes, and is dependent on the type (and correct implementation of) vsync and how many render-ahead frames are being done. Unity is (or was, as this has supposedly been fixed in one of the newer versions) really bad for this, as its built in delta-t calculator was improperly implemented and it was calculating the difference in time between (I believe) rendered frames rather than presented frames...when presented frames are what mattered and it could cause incorrect frame order presentation.

That's just one way. There are dozens of other ways it can happen, but in truth, it's far more common the more consistently you are going over your frame budget, yeah. But not always.
Mmm, possibly. I was under the impression the delta-t issues didn't result in inconsistently delivered frames, but inconsistent delta-t values which would make things in motion look inconsistent even though the frames were on time. Which I suppose would have the same "juttering" effect to the player, even if the frames were always delivered right as scheduled.
 

Costa

Member
Oct 25, 2017
534
Canada
Pipelining your game engine to be able to handle every single feature within it (from the player loop, IO, AI, physics, collision, particles, and then finally the draw code (not to mention other potential features such as networking or handling all of these via multithreading)) is processed with the exact same timings every single frame is extremely difficult and doubly so if not every single feature of development is integrated before content creation. And unfortunately, game development often has game engine features & content features developed concurrently. Once content creation starts, if your game engine is not pipelined properly to the kind of game you're making it will become far too expensive to update it later down that project's line.

One way to handle it is to ensure each engine feature takes up exactly the same amount of time every time. But that way you're wasting precious ms in your frame when you might not need to. AI only needed 2ms but it takes up 4ms because that's how its designed. Drawing had to stop at its max of 5ms, causing tearing, but boy it sure could have used that extra 2ms. There are of course solutions to this as well but again, you have to make sure your game engine is designed for all of this before content creation. As it is, the easiest way to handle it is if your frame takes 17ms to finish, well, then the next one will finish in 15ms at the earliest.

It's also often just not something considered. Not every engine has in-depth and comprehensive profiling tools like the Unity engine. If your debugger is saying, "Yep, this frame took 16.7ms (despite only needing 10ms) and the average FPS is 60" then why are you going to look into it? Unless you're already designing the engine to take frame pacing into account then it's something you're not going to think about, there are more important features that need work on.

Inconsistent frame pacing was an issue in the Unity engine until a recent version of it. I was trying to find the blog post of it but it would have offered great insight into why frame pacing was not easy to solve with regards to the Unity engine. And every game using Unity from before that version would have been affected. But no luck on finding that blog...
 

purseowner

From the mirror universe
Member
Oct 25, 2017
9,444
UK
Bad frame pacing and highly fluctuating framerates give me and others headaches and migraines. It can render many games unplayable for me, so please don't paint it as a nitpick.

Interesting stuff in here - I haven't really understood why it's a thing either.
 

W17LY

Member
Aug 29, 2018
1,399
I understand that game devs can't take into account every single possibility the player can bring to the engine, but when a game has framepacing issues across the entire game we are talking about something else.

That's not some obscure and unusual situation the player can create, it's the way the game needs to be played and there's where the problem becomes something above "game dev is hard" to me.
 

Unknown

Member
Oct 29, 2017
260
Rendering APIs make fixing frame pacing extremely easy - you can specify a value (often called the swap interval) that indicates the minimum number of VSync flips for the given display refresh rate that can occur before a frame is presented.

E.g., if your running a 30fps game on a 60hz device, you specify a swap interval of 2 - which means you need two 60hz VSync events before a frame flip can occur. This api prevents you from displaying faster - hence preventing irregular frame pacing by limiting your frame rate to 30fps.
Incidentally, specifying '0' is how you disable VSync in DXgi.

So it's actually extremely easy thing to do - it's just it's buried in the docs - just an incidental line of text among lots of other stuff without explicit 'fixes frame pacing' notes. It's this one specific function ('Present' in DXgi) that takes in a value that at a glance looks to be 'vsync on or off' but it's actually more complicated. There are also weird restrictions with it, e.g. DX doesn't allow values above 4, meaning high refresh displays can't limit to lower frame rates (it'll fail to present the frame - and likely crash the sam game...) - which can be problematic.

I suspect many developers simply don't know about it, or may run in to issues due to the enforced swap delay changing frame timing sufficiently to cause stalls or performance bubbles / sync issues in their render, potentially hurting performance.

If a developer is using a 3rd party engine they often will never touch the low level present code, so it can be doubly difficult for them to know where to look / what to change. Reality is lots of games developed today don't have dedicated rendering engineers.

That's assuming they notice the problem in the first place - when you're used to the game running poorly all through development into right at the end (which it usually does) you can get desensitized to this sort of thing.
 
Last edited:
Oct 28, 2017
3,648
This whole "framepacing" thing always seems connected to Bloodborne.

Bloodborne definitely has framerate issues. I can hardly play that game nowadays, after enjoying 60 fps on PC with other From games. It hurts my eyes and gives me a headache in a longer play session. The low resolution doesn't help either.
 

Pargon

Member
Oct 27, 2017
12,013
Excluding the obvious statement that "game development is a lot harder than you think it is" which is obviously true.
One of the more common issues I see is that a game may use a frame rate limiter to limit the game to 30 FPS at 60Hz, rather than using V-Sync to limit the frame rate.
With half-rate V-Sync (a presentation interval of 2) it behaves like the game is running 30 FPS at 30Hz, not 60Hz - so there's very little opportunity for frame-pacing issues to creep in.

What percentage of users do you think notice poor frame pacing? Maybe 10% if we're being incredibly generous? I can't think of a single game I've played where I've personally identified it if it wasn't connected to a poor frame rate
Bad frame pacing is easy to see. It looks like the game is running at one divisor of the refresh rate lower than it actually is.
  • Bad frame pacing for 30 FPS at 60Hz looks like the game is running at 20 FPS.
  • Bad frame pacing for 60 FPS at 120Hz looks like the game is running at 40 FPS.
The bad frame-pacing in Dishonored 2 made 90 FPS—even with G-Sync—look like it was running worse than 60 FPS at 60Hz; more like 45 FPS.
Technically though, I'm not entirely sure that it was a frame pacing issue in that game, as much as it was some kind of timing-related issue that broke frame presentation.

Mmm, possibly. I was under the impression the delta-t issues didn't result in inconsistently delivered frames, but inconsistent delta-t values which would make things in motion look inconsistent even though the frames were on time. Which I suppose would have the same "juttering" effect to the player, even if the frames were always delivered right as scheduled.
I suspect this is what was actually wrong with Dishonored 2 - or some variation of that.
The game only ever actually looks smooth when you use the game's own frame rate limiter set to 60 FPS (and possibly 120 FPS) on a G-Sync display.
Anything else - even if there are no dropped frames, and a totally flat frame-time graph - will have bad stutter visible in the game.
 
OP
OP
ScOULaris

ScOULaris

Member
Oct 25, 2017
9,613
Thanks Teeth , Feep , and Pargon for your insightful posts on the topic.

It's interesting to know that middleware engines like Unity and maybe even Unreal can suffer from inherent flaws that make it hard to pin down the cause of frame timing issues and fix them. I'm even more curious to know just how visible this is to your average ERA member.

Like when someone calls out Bloodborne, Dishonored 2, or in my case Spyro Reignited Trilogy as examples of games with consistently bad frame pacing, do you see it in those games? For me it's something that I simply can't help but notice pretty much at all times.
 

Doskoi Panda

One Winged Slayer
Member
Oct 27, 2017
14,957
What percentage of people even naturally notice this unless Digital Foundry puts out a video talking about it? Serious question I don't remember this actually being talked about much / ever before Bloodborne. Was it just not an issue in games until then?


I'd say it's definitely still subjective how much it affects you even after you have been made aware of it.
Bloodborne serves as an easily referenced and understood example since Bloodborne's frame pacing is so bad that most people will notice it at one point or another
 

Gunny T Highway

Unshakable Resolve - One Winged Slayer
Member
Oct 27, 2017
17,018
Canada
Replaying Bloodborne the frame pacing is just too jarring when comparing to the more recent Souls games. It is a shame they never went back to correct it. I am sure it has something to do with the engine they used for it and Dark Souls 3, which is not nearly as bad, but it is still there.