• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Can someone explain frame-pacing?

nkarafo

Member
From a fast search results, i'm not sure if i understand it correctly.

Is it something you see or feel? How do i know if a game i'm playing has frame pacing issues? I assume it's not just "normal" frame drops, right?

I heard that Bloodborne is the poster child for this but i don't have a PS4 to see what this is all about.
 

Danlord

Member
This post explains it well.

Not quite. There are still the right number of unique frames in a given span of time that the average framerate is 30, so the game is keeping up just fine. The problem is that some frames stay onscreen the wrong amount of time.

Proper 30 FPS:
Code:
1 1 2 2 3 3 4 4 5 5

30 FPS with frame pacing issues:
Code:
1 1 1 2 3 3 4 5 5 5

Both of these have 5 unique frames in 10/60ths of a second.



Some games do intentionally tear when they start to drop frames. It's actually not a bad strategy if it's implemented well.

Improper frame pacing, on the other hand, is an actual bug.
 

Corpekata

Banned
Think of it like this.

Let's say, at 60hz, you want 30fps. Each frame must persist for 33ms but, really, you could look at it as a unique frame appearing for 16.7ms followed by a duplicate frame for the same amount of time.

So you'd get...

Frame 112233445566

Each frame persists for exactly the same amount of time. The frames are evenly paced and displayed.

When things go awry you end up with situations like...

112333445666778999

Frames can persist anywhere from 16.7ms to 50ms so even if the average frame-rate is still 30fps, different frames are on screen for variable amounts of time. This results in a very jittery looking game.


Recent post from dark10x in the DS3 Xbox One thread.
 
Frame pacing essentially describes the time it takes between displaying frames. Ideally, you want framerate to be stable (always 30, 60, 120, 144, etc) but you also want the frames to be occuring at the same interval.

For example, 60FPS sounds ideal to most people... but what happens when all 60 frames are displayed in the first half of a second, and something happens and nothing is displayed at all for the second half of the second? You get stutters... but your FPS meter says it should be a perfectly smooth 60.
 
Frame pacing essentially describes the time it takes between displaying frames. Ideally, you want framerate to be stable (always 30, 60, 120, 144, etc) but you also want the frames to be occuring at the same interval.

For example, 60FPS sounds ideal to most people... but what happens when all 60 frames are displayed in the first half of a second, and something happens and nothing is displayed at all for the second half of the second? You get stutters... but your FPS meter says it should be a perfectly smooth 60.

7rKjS4R.gif
 

Durante

Member
Extremely short explanation: (longer ones can be googled)
  1. An engine creates frames with some internal timestamp (call it TE), which it bases e.g. animations and camera position on.
  2. This frame finishes rendering at some other time (TR).
  3. It gets shown (or presented) to the user at yet another time (TP).

Let's call TE(N) the engine timestamp for frame N -- same with TR(N) and TP(N).

Frame pacing issues occur in 2 main cases:
  1. If the size of the time delta between TE and TP varies significantly over time. That is, TP(x) - TE(x) << or >> TP(y) - TE(y).
  2. If the time from TE(N) to TE(N+1) varies significantly for different N.
 

Vitor711

Member
So the explanation of what it is seems pretty simple.

My question: Why isn't it an easy fix? For something like BB and the upcoming DkS3, is it an issue with the engine?

I don't think I've ever noticed a 60FPS game with this issue. Or does it only affect 30FPS ones because the frames linger on screen for twice as long and thus are more noticeable?
 

LiK

Member
Extremely short explanation: (longer ones can be googled)
  1. An engine creates frames with some internal timestamp (call it TE), which it bases e.g. animations and camera position on.
  2. This frame finishes rendering at some other time (TR).
  3. It gets shown (or presented) to the user at yet another time (TP).

Let's call TE(N) the engine timestamp for frame N -- same with TR(N) and TP(N).

Frame pacing issues occur in 2 main cases:
  1. If the size of the time delta between TE and TP varies significantly over time. That is, TP(x) - TE(x) << or >> TP(y) - TE(y).
  2. If the time from TE(N) to TE(N+1) varies significantly for different N.

You did that on purpose.
 
Extremely short explanation: (longer ones can be googled)
  1. An engine creates frames with some internal timestamp (call it TE), which it bases e.g. animations and camera position on.
  2. This frame finishes rendering at some other time (TR).
  3. It gets shown (or presented) to the user at yet another time (TP).

Let's call TE(N) the engine timestamp for frame N -- same with TR(N) and TP(N).

Frame pacing issues occur in 2 main cases:
  1. If the size of the time delta between TE and TP varies significantly over time. That is, TP(x) - TE(x) << or >> TP(y) - TE(y).
  2. If the time from TE(N) to TE(N+1) varies significantly for different N.

Ah yes yes true thats how it is.
 

tuxfool

Banned
Without knowing that it is at a stable frame rate one cannot say that it is bad frame pacing.

Bad pacing implies all frames get displayed with a variable delta between new frames, variable frame rate is because frames get dropped.

Frame Pacing is something usually blown out of proportion, like CA, in order to shit on great games like Bloodborne
oaFJLpg.gif
 
Frame Pacing is something usually blown out of proportion, like CA, in order to shit on great games like Bloodborne
Many people recognize that Bloodborne is a great game while also acknowledging that the frame pacing is also a big issue. This isn't being blown out of proportion.

Seems like you don't want to accept that it might have flaws.
 

RoyalFool

Banned
Games like Mario kart process the AI paths once per second, so one frame is drawn slower due to it having to do a bunch of other calculations.

Only way around it is to break it into lots of smaller tasks that can be run every frame, avoid other things that frame like toning down physics or offload it to an otherwise idle cpu core.
 
Let's imagine a game (it'd be a terrible game) was 60 frames-per-minute.

In order to avoid "frame pacing issues", you'd want to display one frame per second. 60 frames. 60 seconds. One per second. This would give your slideshow a steady appearance with an obvious rhythm.

A 60 frame-per-minute game with "frame pacing issues" might still display a total of 60 frames in that minute, but maybe it would rush through 4 frames in the first second, and then freeze that 4th frame for another whole second, and then do 1 frame the next second, and then two frames in the second after that, and then hold a frame for two seconds, and so forth. It would feel uneven as you watched it, especially if you'd seen the even distribution of frames-per-minute in the previous example.
 

nkarafo

Member
Thanks for clearing it up for me people.

I think i have this issue already with the Witcher 3. Game starts to stutter sometimes even though it says 30fps on the counter. And the only way to temporary fix it is to pause the game and start again. Then it's smooth for 1 minute and starts stuttering again.
 

Corpekata

Banned
Thanks for clearing it up for me people.

I think i have this issue already with the Witcher 3. Game starts to stutter sometimes even though it says 30fps on the counter. And the only way to temporary fix it is to pause the game and start again. Then it's smooth for 1 minute and starts stuttering again.

How are you capping it to 30?
 
Thanks for clearing it up for me people.

I think i have this issue already with the Witcher 3. Game starts to stutter sometimes even though it says 30fps on the counter. And the only way to temporary fix it is to pause the game and start again. Then it's smooth for 1 minute and starts stuttering again.

Try playing in borderless windowed mode. Seems to fix lots of PC issues these days!
 

nkarafo

Member

Durante

Member
Hmm, that sucks. You should try borderless fullscreen then, it has different performance characteristics and might help.

Is that the case in every game, to just go fullscreen and cap the frame rate with RTSS?
It's not that uniform. Some games perform more consistently in borderless, some in exclusive. RTSS is usually the most reliable option for capping though.
 

BashNasty

Member
Frame Pacing is something usually blown out of proportion, like CA, in order to shit on great games like Bloodborne

People are shitting all over this post, but I agree with it. Yes, Bloodborne did have slight frame pacing issues and yes, if I tried really hard to notice it I could, but people did tend to blow it out of proportion to the point where it got annoying. Eventually every single Bloodborne thread that had even a tangential connection to performance would have a bunch of people parroting each other about frame pacing when it really wasn't that big of a deal.

For what it's worth, I'm typically very, very sensitive to judder too. Buying a G-sync monitor for my computer has been the best upgrade I've ever made, so I absolutely am affected by that kind of stuff. It's just the Bloodborne issue wasn't anywhere as big as people were hell bent on making it out to be.
 

mcrommert

Banned
Just play halo Reach on back compat on Xbox one...you will get frame pacing

Despite the fact that most of the time framerate isn't that bad...it still is absolutely unplayable
 

ryushe

Member
Haven't felt this confused since before I actually understood what "frames per second" meant.

And like with that, I'm sure once I do get it, I'll be activated and be unable to see it from then on. :(
 

nkarafo

Member
People are shitting all over this post, but I agree with it. Yes, Bloodborne did have slight frame pacing issues and yes, if I tried really hard to notice it I could, but people did tend to blow it out of proportion to the point where it got annoying.
Well, maybe some people don't have to try really hard to notice it and it is more bothersome to them. I know it would be bothersome to me. I stopped playing the Witcher 3 for this reason alone. It was bothering me and took me out of the game.
 

Fisty

Member
Extremely short explanation: (longer ones can be googled)
  1. An engine creates frames with some internal timestamp (call it TE), which it bases e.g. animations and camera position on.
  2. This frame finishes rendering at some other time (TR).
  3. It gets shown (or presented) to the user at yet another time (TP).

Let's call TE(N) the engine timestamp for frame N -- same with TR(N) and TP(N).

Frame pacing issues occur in 2 main cases:
  1. If the size of the time delta between TE and TP varies significantly over time. That is, TP(x) - TE(x) << or >> TP(y) - TE(y).
  2. If the time from TE(N) to TE(N+1) varies significantly for different N.

Damn apparently my algebra teacher was warning me about frame-pacing all those years ago and i didnt even realize it
 
People are shitting all over this post, but I agree with it. Yes, Bloodborne did have slight frame pacing issues and yes, if I tried really hard to notice it I could, but people did tend to blow it out of proportion to the point where it got annoying. Eventually every single Bloodborne thread that had even a tangential connection to performance would have a bunch of people parroting each other about frame pacing when it really wasn't that big of a deal.

For what it's worth, I'm typically very, very sensitive to judder too. Buying a G-sync monitor for my computer has been the best upgrade I've ever made, so I absolutely am affected by that kind of stuff. It's just the Bloodborne issue wasn't anywhere as big as people were hell bent on making it out to be.

"I don't see the problem therefore everyone else doesn't either, they are just looking for a reason to complain."

Thanks for telling me and other people how we should be feeling and that our opinions are wrong.
 

Kyuur

Member
It's a way to nitpick games that are already some factor/multiple of your monitor refresh rate, because some devs were getting too good at maintaining FPS and Digital Foundry was running out of things to write about.

I know it is a legitimate issue for some people, but since its already been explained thought I would poke some fun.
 
My understanding is that Frame pacing is about consistency of frames being produced. A game can be 30fps but the time it takes for each frame to be rendered is not a steady 33ms.

So even if the game is running at 30fps, it doesn't appear to be as smooth


I couldn't notice the frame pacing in Bloodborne. I noticed the frame drops tho.


First night I played BB I noticed it and it even gave me a headache. Doesn't bother me anymore though but I can still notice it
 

epmode

Member
People are shitting all over this post, but I agree with it. Yes, Bloodborne did have slight frame pacing issues and yes, if I tried really hard to notice it I could, but people did tend to blow it out of proportion to the point where it got annoying. Eventually every single Bloodborne thread that had even a tangential connection to performance would have a bunch of people parroting each other about frame pacing when it really wasn't that big of a deal.

For what it's worth, I'm typically very, very sensitive to judder too. Buying a G-sync monitor for my computer has been the best upgrade I've ever made, so I absolutely am affected by that kind of stuff. It's just the Bloodborne issue wasn't anywhere as big as people were hell bent on making it out to be.

Certain technical issues bother some more than others. I'm essentially allergic to screen tearing while others have no problem with it. Claiming the people are exaggerating makes it look like you're running damage control.

Incidentally, I can easily see Bloodborne's frame pacing problem but it's not a dealbreaker for me. The chromatic aberration slathered over the screen at all times is far worse. Here's hoping From can patch it out like Techland just did for Dying Light!
 

BashNasty

Member
"I don't see the problem therefore everyone else doesn't either, they are just looking for a reason to complain."

Thanks for telling me and other people how we should be feeling and that our opinions are wrong.

Certain technical issues both some more than others. I'm essentially allergic to screen tearing while others have no problem with it. Claiming the people are exaggerating makes it look like you're running damage control.

Incidentally, I can easily see Bloodborne's frame pacing problem but it's not a dealbreaker for me. The chromatic aberration slathered over the screen at all times is far worse. Here's hoping From can patch it out like Techland just did for Dying Light!

Hmm, certainly not trying to tell anyone how they should be feeling about the issue, though I understand how my post could have come off that way. Like I said, though it clearly wasn't as bothersome to me as it was to others, I could absolutely see the frame pacing issue if I tried. Given that I am typically very sensitive to these sorts of issues (believe it or not) and the fact that Gaffers have a tendency to blow small technological issues out of proportion, the Bloodborne framepacing talk eventually started to tickle my hyperbole sensors and became annoying.

Again, sorry if it really is that big of an issue for you, that's a bummer, and I'm certainly not here to play some sort of Bloodborne defense force, just wanted to throw my two cents in.
 
"I don't see the problem therefore everyone else doesn't either, they are just looking for a reason to complain."

Thanks for telling me and other people how we should be feeling and that our opinions are wrong.

I don't think people who don't perceive these performance issues don't understand it's not an opinion or how you're feeling -- it is a part of your direct experience playing the game.

I encountered this issue and a lot of resistance from some close friends of mine when I entered PC gaming a few years back and started to gush about the 60fps I was getting and how games I used to play on console just felt so much better. It wasn't an opinion, it was literally my experience of playing the game. My friends felt it was more fitting to instantly accuse me of some master race console war baiting crap and suggesting I was somehow delusional.

I love Bloodborne to death, played through it three times, but its frame pacing issues did on occasion cause me to feel like the game wasn't responding correctly, and I feel that's a big problem, despite being able to make it through the game three times.
 

nkarafo

Member
Well that's exactly what they are. The only difference is they are caused by asynchronous processes that don't occur on every frame.
Another difference is that they are not caused by insufficient processing power, like traditional frame rate drops do, right? I mean, you can still lock a game at 30fps on the most powerful computer and it can still have those issues. It's a problem with the game itself.
 

Canklestank

Neo Member
On PC, external tools (e.g RTSS) can insert artificial CPU/GPU barriers and/or waiting periods in order to mitigate -- and often eliminate -- the issue.

Okay, am I correct in assuming you have to specify a certain framerate so it knows the correct timings?

Also, that sounds like a good solution when the frames are finished too quickly, but what happens when you have frames that are taking too long to render?
 

Maxey

Member
For the people who still didn't get it from the text explanations, here's a quick and dirty visual explanation:

Imagine two segmented lines with the same number of segments

&#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472;

The line above has the segments all evenly sized. That's a stable framerate with no framepacing issues.

And this is that same line but now representing frame pacing issues

&#9472;&#9472; &#9472;&#9472;&#9472; &#9472; &#9472;&#9472; &#9472;&#9472;&#9472; &#9472;&#9472; &#9472;&#9472; &#9472;&#9472;&#9472; &#9472; &#9472;&#9472; &#9472;&#9472;&#9472; &#9472; &#9472;&#9472; &#9472;&#9472;&#9472;

The length of each line is a full second and each segment represents an individual frame during that second. As you can see, with bad framepacing the frames are not being displayed evenly and that's what causes judder or jerkiness of motion in certain videogames, even if the framerate is stable.
 

Clear

CliffyB's Cock Holster
Another difference is that they are not caused by insufficient processing power, like traditional frame rate drops do, right? I mean, you can still lock a game at 30fps on the most powerful computer and it can still have those issues. It's a problem with the game itself.

No, they can be caused by insufficient processing power on either the cpu or gpu side. For example drawing something is one thing, but pre-fetching the data to be drawn is another. If what's being drawn remains consistent, the render time will remain consistent *but* the frame may still miss its "window" because it was stalled waiting for some other task to complete.
 
Top Bottom