• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

How do monitors display video when frame rate doesn't divide refresh rate?

lefenzy

Senior member
So if I have a 60 Hz monitor showing a 60 FPS video, I should be able to see every frame because the time between each frame is the same as the time between each monitor refresh.

But what if I'm now trying to watch a 24 FPS video? Or what if I have a 75 Hz monitor showing a 60 FPS video?

I imagine for 60 FPS on a 75 Hz screen, the screen will refresh before the next video frame, so it should be forced to display certain video frames for longer. like so:

Monitor refresh:::: |---|---|---|---|---|
Video frame:::::::: |----|----|----|----|
Frame number shown: 000000001111222233334

But why don't I see stuttering?
 
I think video players solve it by mixing 2 images in case of a mismatch.

telecine.gif

http://archive.arstechnica.com/guide/audio-visual/video-cleanup/m-cleaning-4.html

something like that, but not entirely the same I guess.
 
I think video players solve it by mixing 2 images in case of a mismatch.

telecine.gif

http://archive.arstechnica.com/guide/audio-visual/video-cleanup/m-cleaning-4.html

something like that, but not entirely the same I guess.

Hmm given that many computer displays minimize input lag, I doubt computer displays do this. Some sort of plugin as TheELF mentioned could do this however.

Looks like the best solution to handling 24, 30, and 60 FPS is a minimum 120 Hz refresh rate.
 
Hmm given that many computer displays minimize input lag, I doubt computer displays do this. Some sort of plugin as TheELF mentioned could do this however.

Looks like the best solution to handling 24, 30, and 60 FPS is a minimum 120 Hz refresh rate.
Higher refresh rates do minimize observable tearing. This is also an argument as to why many people do not apply VSYNC above the range where a variable refresh rate monitor functions.

And while Flapdrol1337's graphic is both convoluting and overly simplistic (if that's possible), I would take away this example: In your original post you proposed a situation..
Monitor refresh:::: |---|---|---|---|---|
Video frame:::::::: |----|----|----|----|
Frame number shown: 000000001111222233334
I would suggest that since frames are not drawn instantaneously, and as you claimed "many computer displays minimize input lag", there could be a tear on the first non-zero monitor refresh frame which would reduced the perceived "stutter" you are asking about.

Edit: Or tears in other positions depending on what exactly "|" represents. And also remember a real frame zero is rare, in many situations it may also be torn, so it may contain some up to date image; again reducing perceived "stutter" vs what this analogy would imply.

Edit 2: Plus your example assumes both systems are using the same clock. Which I suspect is a bad assumption; even their zero point may never be exactly the same. So the first claim in the OP:
"So if I have a 60 Hz monitor showing a 60 FPS video, I should be able to see every frame because the time between each frame is the same as the time between each monitor refresh."
^This could actually be the worst case scenario, where if the clocks are off within the frame draw window, every single frame could have a tear.
 
Last edited:
Hmm given that many computer displays minimize input lag, I doubt computer displays do this. Some sort of plugin as TheELF mentioned could do this however.

Looks like the best solution to handling 24, 30, and 60 FPS is a minimum 120 Hz refresh rate.
displays don't do it, video player software does.
 
No need to,the OS drives the monitor at the refresh rate you tell it to,so the OS always knows the refresh rate and any software can access this info.
 
Higher refresh rates do minimize observable tearing. This is also an argument as to why many people do not apply VSYNC above the range where a variable refresh rate monitor functions.

And while Flapdrol1337's graphic is both convoluting and overly simplistic (if that's possible), I would take away this example: In your original post you proposed a situation..

I would suggest that since frames are not drawn instantaneously, and as you claimed "many computer displays minimize input lag", there could be a tear on the first non-zero monitor refresh frame which would reduced the perceived "stutter" you are asking about.

Edit: Or tears in other positions depending on what exactly "|" represents. And also remember a real frame zero is rare, in many situations it may also be torn, so it may contain some up to date image; again reducing perceived "stutter" vs what this analogy would imply.

Edit 2: Plus your example assumes both systems are using the same clock. Which I suspect is a bad assumption; even their zero point may never be exactly the same. So the first claim in the OP:
"So if I have a 60 Hz monitor showing a 60 FPS video, I should be able to see every frame because the time between each frame is the same as the time between each monitor refresh."
^This could actually be the worst case scenario, where if the clocks are off within the frame draw window, every single frame could have a tear.

A lot of what you said makes sense. I was imagining an ideal situation.
 
Back
Top