Jump to content

Is frame limiting different than Vsync?

Go to solution Solved by Oshino Shinobu,
1 minute ago, Luke said:

But Vsync is described as "Limiting your FPS to your monitors refresh rate" which sounds like the exact same thing as frame limiting. I understand that it's not but i just don't see where the actual difference is in Vsync.

VSync forces an entire frame to be drawn, not allowing another frame to overwrite it mid-draw. This eliminates screen-tearing, but can cause input delay. FPS caps don't do this, they just stop the GPU from rendering more than a certain amount of frames, without managing screen tearing. It can help reduce screen-tearing, but is not a solution in the same way VSync is. 
 

VSync basically waits until the monitor has displayed a full frame before displaying another. FPS caps just shove out the frame when they're ready. Even if you cap it at your refresh rate, the frames can still be out of sync with the monitor, resulting in tearing. 

Just a simple question. I've noticed in some games like LoL for example there's an option to turn on Vsync or Limit your frams to 30/60/90 etc. Is there a difference between limiting your frames to 60 on a 60Hz monitor compared to just using Vsync?

 

 

Intel i7 3770K [] Asrock Z77 Extreme 4 [] MSI R9 290X 4GB [] 16GB  G.SKILL 2133Mhz [] Crucial MX100 256GB [] WD Black 1TB [] XFX Pro 850W [] Fractal Define R3 [] Func MS-3 R2 [] Corsair K60 [] 

 

 

 

Link to comment
https://linustechtips.com/topic/601246-is-frame-limiting-different-than-vsync/
Share on other sites

Link to post
Share on other sites

Frame limiting is just capping your frame rate to a certain amount.

CPU: 6700K Case: Corsair Air 740 CPU Cooler: H110i GTX Storage: 2x250gb SSD 960gb SSD PSU: Corsair 1200watt GPU: EVGA 1080ti FTW3 RAM: 16gb DDR4 

Other Stuffs: Red sleeved cables, White LED lighting 2 noctua fans on cpu cooler and Be Quiet PWM fans on case.

Link to post
Share on other sites

16 minutes ago, MadyTehWolfie said:

Frame limiting is just capping your frame rate to a certain amount.

But Vsync is described as "Limiting your FPS to your monitors refresh rate" which sounds like the exact same thing as frame limiting if you limit to to whatever your monitors refresh rate is. I understand that it's not but i just don't see where the actual difference is in Vsync.

Intel i7 3770K [] Asrock Z77 Extreme 4 [] MSI R9 290X 4GB [] 16GB  G.SKILL 2133Mhz [] Crucial MX100 256GB [] WD Black 1TB [] XFX Pro 850W [] Fractal Define R3 [] Func MS-3 R2 [] Corsair K60 [] 

 

 

 

Link to post
Share on other sites

1 minute ago, Luke said:

But Vsync is described as "Limiting your FPS to your monitors refresh rate" which sounds like the exact same thing as frame limiting. I understand that it's not but i just don't see where the actual difference is in Vsync.

Honestly I know what you are talking about and I know the difference but I lack the right words to put it on paper. 

CPU: 6700K Case: Corsair Air 740 CPU Cooler: H110i GTX Storage: 2x250gb SSD 960gb SSD PSU: Corsair 1200watt GPU: EVGA 1080ti FTW3 RAM: 16gb DDR4 

Other Stuffs: Red sleeved cables, White LED lighting 2 noctua fans on cpu cooler and Be Quiet PWM fans on case.

Link to post
Share on other sites

3 minutes ago, Luke said:

But Vsync is described as "Limiting your FPS to your monitors refresh rate" which sounds like the exact same thing as frame limiting. I understand that it's not but i just don't see where the actual difference is in Vsync.

V-Sync is not the same as frame limiting.

 

In frame limiting, you can choose the max FPS to be even beyond your refresh rate if you so desire. V-Sync locks the GPU to render with the refresh rate of the panel, which in the case of 60Hz panels, that would be 1/60, while on a 144Hz panel, that would be 1/144. 

"It pays to keep an open mind, but not so open your brain falls out." - Carl Sagan.

"I can explain it to you, but I can't understand it for you" - Edward I. Koch

"I didn't die! I performed a tactical reset!" - Apollolol

Link to post
Share on other sites

vsync = GPU tries to synchronize frames with your monitor (1 frame per hertz)

frame limiting = GPU only renders the set number of frames specified in the limit (if your limit is 10, then you'll get 10 fps, regardless of how beefy the GPU is or what the monitor's refresh rate is)

Remember kids, the only difference between screwing around and science is writing it down. - Adam Savage

 

PHOΞNIX Ryzen 5 1600 @ 3.75GHz | Corsair LPX 16Gb DDR4 @ 2933 | MSI B350 Tomahawk | Sapphire RX 480 Nitro+ 8Gb | Intel 535 120Gb | Western Digital WD5000AAKS x2 | Cooler Master HAF XB Evo | Corsair H80 + Corsair SP120 | Cooler Master 120mm AF | Corsair SP120 | Icy Box IB-172SK-B | OCZ CX500W | Acer GF246 24" + AOC <some model> 21.5" | Steelseries Apex 350 | Steelseries Diablo 3 | Steelseries Syberia RAW Prism | Corsair HS-1 | Akai AM-A1

D.VA coming soon™ xoxo

Sapphire Acer Aspire 1410 Celeron 743 | 3Gb DDR2-667 | 120Gb HDD | Windows 10 Home x32

Vault Tec Celeron 420 | 2Gb DDR2-667 | Storage pending | Open Media Vault

gh0st Asus K50IJ T3100 | 2Gb DDR2-667 | 40Gb HDD | Ubuntu 17.04

Diskord Apple MacBook A1181 Mid-2007 Core2Duo T7400 @2.16GHz | 4Gb DDR2-667 | 120Gb HDD | Windows 10 Pro x32

Firebird//Phoeniix FX-4320 | Gigabyte 990X-Gaming SLI | Asus GTS 450 | 16Gb DDR3-1600 | 2x Intel 535 250Gb | 4x 10Tb Western Digital Red | 600W Segotep custom refurb unit | Windows 10 Pro x64 // offisite backup and dad's PC

 

Saint Olms Apple iPhone 6 16Gb Gold

Archon Microsoft Lumia 640 LTE

Gulliver Nokia Lumia 1320

Werkfern Nokia Lumia 520

Hydromancer Acer Liquid Z220

Link to post
Share on other sites

1 minute ago, Luke said:

But Vsync is described as "Limiting your FPS to your monitors refresh rate" which sounds like the exact same thing as frame limiting. I understand that it's not but i just don't see where the actual difference is in Vsync.

VSync forces an entire frame to be drawn, not allowing another frame to overwrite it mid-draw. This eliminates screen-tearing, but can cause input delay. FPS caps don't do this, they just stop the GPU from rendering more than a certain amount of frames, without managing screen tearing. It can help reduce screen-tearing, but is not a solution in the same way VSync is. 
 

VSync basically waits until the monitor has displayed a full frame before displaying another. FPS caps just shove out the frame when they're ready. Even if you cap it at your refresh rate, the frames can still be out of sync with the monitor, resulting in tearing. 

Link to post
Share on other sites

Frame limiting is limiting the maximum FPS to what the limit is set to. Vsync makes the video card wait for the monitor to display an entire frame on its refresh cycle before allowing the video card to send another.

 

http://www.anandtech.com/show/2794 is a good article on the topic of Vsync.

Link to post
Share on other sites

13 minutes ago, Godlygamer23 said:

V-Sync is not the same as frame limiting.

 

In frame limiting, you can choose the max FPS to be even beyond your refresh rate if you so desire. V-Sync locks the GPU to render with the refresh rate of the panel, which in the case of 60Hz panels, that would be 1/60, while on a 144Hz panel, that would be 1/144. 

But on a 60Hz panel is there any difference between locking your FPS to 60 and using Vsync?

Intel i7 3770K [] Asrock Z77 Extreme 4 [] MSI R9 290X 4GB [] 16GB  G.SKILL 2133Mhz [] Crucial MX100 256GB [] WD Black 1TB [] XFX Pro 850W [] Fractal Define R3 [] Func MS-3 R2 [] Corsair K60 [] 

 

 

 

Link to post
Share on other sites

With a framerate cap (lets say 60fps cap for example), your framerate could be 59fps, or 58fps, or 57fps, or anything else, it just won't go above 60.

 

V-Sync locks your framerate to a factor of your monitor's refresh rate. If your framerate drops below 60, it will immediately drop to 30fps. You'll never get 55fps or 42fps. It will be either 60 or 30. If you drop below 30, then it will drop to 20, then 15, and so forth.

Link to post
Share on other sites

13 minutes ago, Oshino Shinobu said:

VSync forces an entire frame to be drawn, not allowing another frame to overwrite it mid-draw. This eliminates screen-tearing, but can cause input delay. FPS caps don't do this, they just stop the GPU from rendering more than a certain amount of frames, without managing screen tearing. It can help reduce screen-tearing, but is not a solution in the same way VSync is. 
 

VSync basically waits until the monitor has displayed a full frame before displaying another. FPS caps just shove out the frame when they're ready. Even if you cap it at your refresh rate, the frames can still be out of sync with the monitor, resulting in tearing. 

 

This explains so much thank you very much!

Intel i7 3770K [] Asrock Z77 Extreme 4 [] MSI R9 290X 4GB [] 16GB  G.SKILL 2133Mhz [] Crucial MX100 256GB [] WD Black 1TB [] XFX Pro 850W [] Fractal Define R3 [] Func MS-3 R2 [] Corsair K60 [] 

 

 

 

Link to post
Share on other sites

1 hour ago, Glenwing said:

V-Sync locks your framerate to a factor of your monitor's refresh rate. If your framerate drops below 60, it will immediately drop to 30fps. You'll never get 55fps or 42fps. It will be either 60 or 30. If you drop below 30, then it will drop to 20, then 15, and so forth.

How does triple buffering fit in to this?

If the framerate is not consistently at monitor's refresh rate, would you use vsync+triple buffering, use frame cap instead of vsync, or use none at all?

Link to post
Share on other sites

1 hour ago, theProvider said:

How does triple buffering fit in to this?

If the framerate is not consistently at monitor's refresh rate, would you use vsync+triple buffering, use frame cap instead of vsync, or use none at all?

Vsync + triple buffering is kind of the holy grail, you get no tearing and latency is much lower than normal double buffered vsync when no frame cap is used, what it does is just throw away all the frames that never got displayed ensuring you always have the newest. If you frame cap it then its going to increase latency to ever closer towards that of double buffering, triple buffering on a 60hz screen with a 60 hz cap is going to look and behave very similar to double buffering. Although just remember basically no DirectX games are actually triple buffered, they might use a command queue but its not the same thing, some developers called it the same thing but it isn't, its extremely rare on anything but openGL and it only recently got introduced again by Nvidia as Fast Sync (which is just triple buffering by a stupid marketing name).

 

Its important to understand the difference here. Vsync is backpressuring the game engine on the present command at the end of the CPU preparing and passing the details to the GPU, in effect holding it from starting to render the next frame because the buffers are full, once the swap occurs and one of the buffers has finished scanning out its swapped and the CPU is released again to do the next frame. However with frame capping its not based on the state of the buffers instead its a simple CPU sleep command that usually sits on the present call which is intercepted and it looks at the last time it was called and waits to spread out the frames.

 

That may not sound very different because they are both stopping the game from rendering on the present call but buffers clearing and filling is dependent on GPU rendering and scan out to the monitor, so you when you are GPU limited this is going to be very based on the GPU and its variance of performance. However frame cap can shift the limitation back to the CPU (all be it sleeping rather than doing work). This subtle difference can for a few badly written games be beneficial in getting rid of microstutter. Most microstutter is caused by CPU limited benchs as while GPU rendering just adjust it does so slowly image to image, however the CPU can wildly differ depending on what happens. A frame cap can smooth that out if the game isn't GPU limited.

 

Its a lot to take in, its not a simple topic at all and its very specific to how DirectX actually works.

Link to post
Share on other sites

5 hours ago, BrightCandle said:

Vsync + triple buffering is kind of the holy grail, you get no tearing and latency is much lower than normal double buffered vsync when no frame cap is used, what it does is just throw away all the frames that never got displayed ensuring you always have the newest. If you frame cap it then its going to increase latency to ever closer towards that of double buffering, triple buffering on a 60hz screen with a 60 hz cap is going to look and behave very similar to double buffering. Although just remember basically no DirectX games are actually triple buffered, they might use a command queue but its not the same thing, some developers called it the same thing but it isn't, its extremely rare on anything but openGL and it only recently got introduced again by Nvidia as Fast Sync (which is just triple buffering by a stupid marketing name).

 

 

Would it be a good idea to enable Vsync and triple buffering in the AMD crimson software?

Intel i7 3770K [] Asrock Z77 Extreme 4 [] MSI R9 290X 4GB [] 16GB  G.SKILL 2133Mhz [] Crucial MX100 256GB [] WD Black 1TB [] XFX Pro 850W [] Fractal Define R3 [] Func MS-3 R2 [] Corsair K60 [] 

 

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×