Jump to content

Hello,

 

I would like to know if you think this is correct/accurate description of FPS to Hz data:

 

Hz vs FPS, when is a frame sent from the GPU to the monitor to be drawn?

If your monitor is a 60hz monitor, but your game is running at more than 60fps then your monitor will render the frames it received. If you are running at 120fps but your monitor is a 60hz monitor, then maybe the 60th frame you monitor received might be the 120th your PC sent. This means that its better to not limit your fps in order to get the most accurate frame, but it will cause tearing since you can jump from the 59th frame to the 120th frame if your fps is 120 but your refresh rate is 60hz.

What you can do is to take advantage of double buffering, triple buffering to reduce the # of frames sent by your graphics processor to your monitor, as each frame will be processed more before being sent to the monitor.

 

What about V-Sync, G-Sync, Freesync?

V-Sync is done at the GPU level while G-Sync and Freesync are done at the monitor level.

 

1) V-Sync

V-Sync will lock the # of frames sent to your monitor to 60, but it will process the frames to have a more accurate version of each frame sent to the monitor, double buffering or triple buffering will bring even more accurateness to each frame sent via V-Sync method, however you have to make sure to always have more fps than 60! (important, after the buffering chosen). If you are below 60fps and your monitor is 60hz, then you will get downgraded heavily to 30fps/30hz.

 

2) Gsync or FreeSync

Then comes G-Sync and Freesync, which works hand in hand with your GPU:

If your GPU even after all the V-sync, double buffering or triple buffering, is still able to render more frames. (could be that you have chosen only V-Sync and your GPU still render 240fps) then G-Sync or freeSync will take these extra frames, coupled with what has been sent with V-Sync to compute the frames between the 60hz and the monitor refresh rate.So if you have V-Sync and you still get 240 fps but your monitor is a 100hz then G-sync or FreeSync will still take those extra frames up to 100hz and will put them where it sees fit, its some kind of AI technology.

FPS LOCKING
What about if you lock FPS to the refresh rate of your monitor, with G-SYnc or FreeSync? Locking the refresh rate will tell your GPU not to process the detail frames over the locked fps, this means that instead of asking for data x times per second, it will ask for data at a slower interval. Some frames will be lost, which will lower the quality of V-Sync, of the buffers and of the SyncAI tech used. However, it will also make your GPU work less hard, lowering heat, and maybe give extra room for this buffering to work better.
Some Scenarios:
1- Perfect Scenario: I have everything off and I run at 300fps. I turn V-Sync on and I run at 280fps, I turn double buffering on and I run at 180fps, I turn triple buffering on and I run at 100fps, my monitor is 100hz G-sync.
2- Bad Scenario: I have everything off and I run at 200fps. I turn V-Sync on and I run at 180 fps, I turn double buffering on and I run at 80fps, I turn triple buffering on and I run at 50fps. -> bad you are running under V-Sync 60hz remove triple buffering, you get 80fps, still bad since your monitor is 100hz gsync, then remove double buffering, still bad since your GPU is overused by 80 frames not rendered since your monitor is 100hz -> limit fps to 98-100
 
These 2 scenarios above are point-in-time scenarios, which is not the reality, when you are on a 3D application, depending on what is rendered your fps fluctuates. So at scenario 2 above, if you have 180 fps and you are thinking of limiting your fps, that would only be for slow-paced application where the fps fluctuation is low, for high variability of rendered vertices, you would not reduce your fps since you expect your frames to drop. If you think on average your frames drops by 30 then to limit your fps to 100 is totally fine since you will range between 70 and 100, but if your frames drop by around 60, then you should limit your fps to around 150-160 so that you stay above 60fps and below (better) or above your monitor's refresh rate.
 
Edited by Gunshark
Formating for readability

GTX 1080 - 2x M.2 NVMe SSD - Gsync 100Hz - 1440p - 7700K (Q1/2017 mini-ITX build)

Link to comment
https://linustechtips.com/topic/1099183-refresh-rate-and-graphics-settings/
Share on other sites

Link to post
Share on other sites

I always had 60Hz screens, even the last 4K IPS HDR 10BIT FreeSync, i still use V-sync and nothing else.

It's like trying to fill a bag that take maximum 60 oranges and you want to put more inside, you just can't they will fall down... no meaning.

Everything start and end with the refresh rate of the screen!

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to post
Share on other sites

2 minutes ago, Constantin said:

I always had 60Hz screens, even the last 4K IPS HDR 10BIT FreeSync, i still use V-sync and nothing else.

It's like trying to fill a bag that take maximum 60 oranges and you want to put more inside, you just can't they will fall down... no meaning.

Everything start and end with the refresh rate of the screen!

What about taking into account at which point in time a frame is sent to the monitor?

What about how many times a frame has been processed before being sent to the monitor?

What about the quality of the buffer frames? 

 

Wouldnt these be taken into account to?

GTX 1080 - 2x M.2 NVMe SSD - Gsync 100Hz - 1440p - 7700K (Q1/2017 mini-ITX build)

Link to post
Share on other sites

V-sync is taking care of that, that is why it's such a heavy setting.

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to post
Share on other sites

Just now, GoldenLag said:

damn thats a huge wall of text. 

V-sync is not a heavy setting. it just locks the framerate.......

It is heavy for what it does, have a look at it..

CPU:i7 9700k 5047.5Mhz All Cores Mobo: MSI MPG Z390 Gaming Edge AC, RAM:Corsair Vengeance LPX 16GB 3200MHz DDR4 OC 3467Mhz GPU:MSI RTX 2070 ARMOR 8GB OC Storage:Samsung SSD 970 EVO NVMe M.2 250GB, 2x SSD ADATA PRO SP900 256GB, HDD WD CB 2TB, HDD GREEN 2TB PSU: Seasonic focus plus 750w Gold Display(s): 1st: LG 27UK650-W, 4K, IPS, HDR10, 10bit(8bit + A-FRC). 2nd: Samsung 24" LED Monitor (SE390), Cooling:Fazn CPU Cooler Aero 120T Push/pull Corsair ML PRO Fans Keyboard: Corsair K95 Platinum RGB mx Rapidfire Mouse:Razer Naga Chroma  Headset: Razer Kraken 7.1 Chroma Sound: Logitech X-540 5.1 Surround Sound Speaker Case: Modded Case Inverted, 5 intake 120mm, one exhaust 120mm.

Link to post
Share on other sites

Just now, Constantin said:

It is heavy for what it does, have a look at it..

are you saying its innefficient for what it does?

 

it locks frames, it really doesnt do a whole lot more. and its not computationally intensive. 

Link to post
Share on other sites

21 minutes ago, Gunshark said:

I would like to know if you think this is correct/accurate description of FPS to Hz data:

FPS is frames rendered. HZ is the number of frames drawn. 

 

when drawing frames, you may end up with 2 different frames on the picture drawn on screen. this is what is known as tearing. 

Link to post
Share on other sites

13 minutes ago, GoldenLag said:

FPS is frames rendered. HZ is the number of frames drawn. 

 

when drawing frames, you may end up with 2 different frames on the picture drawn on screen. this is what is known as tearing. 

FPS is frames rendered at the GPU side, then the data is sent via the cable (now DVI or HDMI 2) to the monitor, which drawn them at a Hz rate.

The question is the data sent to the monitor can be more refined or can be sent in a more synchronous rythm to have a better quality depending on your settings?

I try to give example of how it can be done and I ask if it is correct/accurate.

 

30 minutes ago, Constantin said:

I always had 60Hz screens, even the last 4K IPS HDR 10BIT FreeSync, i still use V-sync and nothing else.

It's like trying to fill a bag that take maximum 60 oranges and you want to put more inside, you just can't they will fall down... no meaning.

Everything start and end with the refresh rate of the screen!

 

Here you say that you only use V-Sync even though you got a high-end GPU/CPU. Just because your monitor is locked to 60Hz.

IMO it means that if your CPU/GPU can render frames above 60hz then these frames are lost in between what V-Sync does.

If you have 300fps but V-Sync locks you to 60fps it will only take out of a book of 300frames, each 5 frame. This means that your GPU works 4 out of 5 frames for nothing (xooooxooooxoooox=GPU sends the frame X and discards the frames O)

A question could be:

If you use double buffering, then will the GPU still take the same frames to work out the buffers, or will it also tale the O frames to create the buffer?

GTX 1080 - 2x M.2 NVMe SSD - Gsync 100Hz - 1440p - 7700K (Q1/2017 mini-ITX build)

Link to post
Share on other sites

1 minute ago, Gunshark said:

The question is the data sent to the monitor can be more refined or can be sent in a more synchronous rythm to have a better quality depending on your settings?

more refined would be to render at a higher resolution and then downsample. 

 

sync it would be what adaptive sync, freesync, gsync and Vsync attempts to do. only thing that does is remove tearing from 2 different frames on screen at the same time. 

2 minutes ago, Gunshark said:

FPS is frames rendered at the GPU side, then the data is sent via the cable (now DVI or HDMI 2) to the monitor, which drawn them at a Hz rate.

thats what i said......... 

3 minutes ago, Gunshark said:

I ask if it is correct/accurate.

the things you wrote in the OP? kinda. its a big block of text that wasnt very easy to read, so im sure i missed something. 

 

Link to post
Share on other sites

4 minutes ago, GoldenLag said:

sync it would be what adaptive sync, freesync, gsync and Vsync attempts to do. only thing that does is remove tearing from 2 different frames on screen at the same time. 

 

Yea sync is very general, does v-sync work at the rendering level, while gsync/freesync at the drawing level? 

Are you sure tearing is not because the 2 different frames are too far apart from each other because the drawing is too slow compared to the rendering? as in the 59th frame is drawn before and then comes the 120th frame.

 

7 minutes ago, GoldenLag said:

thats what i said......... 

 

 

I mean that you didn't talk about timings, Frames can be rendered but not drawn, and this is because the data was not sent.

 

9 minutes ago, GoldenLag said:

 

the things you wrote in the OP? kinda. its a big block of text that wasnt very easy to read, so im sure i missed something. 

 

 

Finally I edited the block of text

 

 

GTX 1080 - 2x M.2 NVMe SSD - Gsync 100Hz - 1440p - 7700K (Q1/2017 mini-ITX build)

Link to post
Share on other sites

9 minutes ago, Gunshark said:

Are you sure tearing is not because the 2 different frames are too far apart from each other because the drawing is too slow compared to the rendering? as in the 59th frame is drawn before and then comes the 120th frame.

Yeah, im sure. Because that wouldnt cause tearing. Nor is it possible to happen......

10 minutes ago, Gunshark said:

Yea sync is very general, does v-sync work at the rendering level, while gsync/freesync at the drawing level? 

Vsync times the rendering with the refreshrate.

 

Freesync locks the refreshrate to the rendering. 

11 minutes ago, Gunshark said:

I mean that you didn't talk about timings, Frames can be rendered but not drawn, and this is because the data was not sent

I mentioned 2 frames being present on Screen at the same time. I though it would be obvious what happens when there os no next frame ready.

1 hour ago, Gunshark said:

What about if you lock FPS to the refresh rate of your monitor, with G-SYnc or FreeSync?

Thats not what either of those do. They lock the refreshrate to the FPS (when possible offcourse)

1 hour ago, Gunshark said:

V-Sync will lock the # of frames sent to your monitor to 60, but it will process the frames to have a more accurate version of each frame sent to the monitor,

No, thats not what V-Sync does. It does not imprpve the picture in any ways other than rendering 1 frame per refresh. 

1 hour ago, Gunshark said:

G-sync or FreeSync will still take those extra frames up to 100hz and will put them where it sees fit, its some kind of AI technology.

No its not.

Also im pretty sure you are reffering to fast-sync or its derivatives, tho im less certain about that one. 

1 hour ago, Gunshark said:

What you can do is to take advantage of double buffering, triple buffering to reduce the # of frames sent by your graphics processor to your monitor, as each frame will be processed more before being sent to the monitor.

While it can help. It does not remove tearing as an issue. 

Link to post
Share on other sites

36 minutes ago, Gunshark said:

If you have 300fps but V-Sync locks you to 60fps it will only take out of a book of 300frames, each 5 frame. This means that your GPU works 4 out of 5 frames for nothing (xooooxooooxoooox=GPU sends the frame X and discards the frames O)

Vsync tells the GPU when to draw the fram and then send it. It doesnt waste frames.

1 hour ago, Gunshark said:

still bad since your GPU is overused by 80 frames not rendered since your monitor is 100hz -> limit fps to 98-100

Frames not displayed on screen are not wasted and can be used for input. 

 

 

I think you have missunderstood a whole lot of things here......

Link to post
Share on other sites

4 hours ago, Gunshark said:

If you are running at 120fps but your monitor is a 60hz monitor, then maybe the 60th frame you monitor received might be the 120th your PC sent.

No that never happens. Without any sync the monitor displays the newest information it receives, without caring whether it has completely shown the previous frame. In other words, you'll see part of multiple frames in the monitor refresh cycle. 

Spoiler

300px-Tearing_(simulated).jpg

The part above the line of mismatch is from a different frame than the part below.

 

4 hours ago, Gunshark said:

1) V-Sync

V-Sync will lock the # of frames sent to your monitor to 60, but it will process the frames to have a more accurate version of each frame sent to the monitor, double buffering or triple buffering will bring even more accurateness to each frame sent via V-Sync method, however you have to make sure to always have more fps than 60! (important, after the buffering chosen). If you are below 60fps and your monitor is 60hz, then you will get downgraded heavily to 30fps/30hz.

No, Vsync in fact sends outdated frames to the monitor in an attempt to remove screen tearing. That's why esports players disable V-sync no matter what.

 

V-sync works by inserting multiple frame buffers in the GPU to monitor flow. Say double buffering (the lowest buffer count you can use), after the monitor pulls a frame out from no.1 buffer and starts refreshing itself with it, the GPU renders a frame and stuck it into no.2 buffer. The GPU won't do any more work until the monitor has finished its job with no.1 buffer and starts using no.2 buffer, in which the GPU renders a frame for no.1 buffer. Triple buffering means there are 3 buffers now. As a result, Vsync always makes the monitor receive old frames, at worst [ 1/(refresh_rate)*(buffer_count-1) ] milliseconds late compared to no sync. 60fps double buffering? 16.67ms late at worst. 30fps triple buffering? 66.67ms late at worst.

 

Now there is one such thing that aims to correct the ancient frame problem, and that's Fast Sync. Instead of halting the GPU after it's done with a frame before the monitor pulls it, the GPU immediately starts rendering the next frame and progresses to replace whatever buffer the monitor isn't refreshing based on. So if it completes two frames when the monitor is still stuck on no.1 buffer, the monitor will eventually get the later frame of the two on no.2 buffer. This makes the frame less outdated, though it doesn't compensate for the slow monitor refresh. 

 

4 hours ago, Gunshark said:

2) Gsync or FreeSync

Then comes G-Sync and Freesync, which works hand in hand with your GPU:

If your GPU even after all the V-sync, double buffering or triple buffering, is still able to render more frames. (could be that you have chosen only V-Sync and your GPU still render 240fps) then G-Sync or freeSync will take these extra frames, coupled with what has been sent with V-Sync to compute the frames between the 60hz and the monitor refresh rate.So if you have V-Sync and you still get 240 fps but your monitor is a 100hz then G-sync or FreeSync will still take those extra frames up to 100hz and will put them where it sees fit, its some kind of AI technology.

Gsync and Freesync only works when frame rate (FPS) is lower than refresh rate (Hz), so this entire paragraph can be scrapped, clean into the bin.

 

The basic feature of Gsync and Freesync is to lower refresh rate to match frame rate, so that the monitor doesn't refresh itself with the each frame more than once. This doesn't increase input latency compared to not having sync, as the monitor will start displaying the new frame whenever it's done right away. If you let V-sync get into the same situation, it will make the monitor refresh with the same old frame again, effectively delaying the already late (due to low frame rate) frame more.

 

And it's not related to AI. It's some code that starts out simple, with more and more stuff (such as low framerate compensation LFC) tacked on.

 

4 hours ago, Gunshark said:
FPS LOCKING
What about if you lock FPS to the refresh rate of your monitor, with G-SYnc or FreeSync? Locking the refresh rate will tell your GPU not to process the detail frames over the locked fps, this means that instead of asking for data x times per second, it will ask for data at a slower interval. Some frames will be lost, which will lower the quality of V-Sync, of the buffers and of the SyncAI tech used. However, it will also make your GPU work less hard, lowering heat, and maybe give extra room for this buffering to work better.

Gsync and Freesync cannot lock fps to refresh rate. Sometimes tho they can engage frame rate locking feature in the graphics engine (on a per program basis), and this does match up with what you said apart from the crossed out part. If it's not rendered (processed by the GPU), then it's not a frame because they dont exist.

 

4 hours ago, Gunshark said:
- Perfect Scenario: I have everything off and I run at 300fps. I turn V-Sync on and I run at 280fps, I turn double buffering on and I run at 180fps, I turn triple buffering on and I run at 100fps, my monitor is 100hz G-sync.
2- Bad Scenario: I have everything off and I run at 200fps. I turn V-Sync on and I run at 180 fps, I turn double buffering on and I run at 80fps, I turn triple buffering on and I run at 50fps. -> bad you are running under V-Sync 60hz remove triple buffering, you get 80fps, still bad since your monitor is 100hz gsync, then remove double buffering, still bad since your GPU is overused by 80 frames not rendered since your monitor is 100hz -> limit fps to 98-100

Entirely [strong_language] up thoughts. Wash your brain, RIGHT NOW

CPU: i7-2600K 4751MHz 1.44V (software) --> 1.47V at the back of the socket Motherboard: Asrock Z77 Extreme4 (BCLK: 103.3MHz) CPU Cooler: Noctua NH-D15 RAM: Adata XPG 2x8GB DDR3 (XMP: 2133MHz 10-11-11-30 CR2, custom: 2203MHz 10-11-10-26 CR1 tRFC:230 tREFI:14000) GPU: Asus GTX 1070 Dual (Super Jetstream vbios, +70(2025-2088MHz)/+400(8.8Gbps)) SSD: Samsung 840 Pro 256GB (main boot drive), Transcend SSD370 128GB PSU: Seasonic X-660 80+ Gold Case: Antec P110 Silent, 5 intakes 1 exhaust Monitor: AOC G2460PF 1080p 144Hz (150Hz max w/ DP, 121Hz max w/ HDMI) TN panel Keyboard: Logitech G610 Orion (Cherry MX Blue) with SteelSeries Apex M260 keycaps Mouse: BenQ Zowie FK1

 

Model: HP Omen 17 17-an110ca CPU: i7-8750H (0.125V core & cache, 50mV SA undervolt) GPU: GTX 1060 6GB Mobile (+80/+450, 1650MHz~1750MHz 0.78V~0.85V) RAM: 8+8GB DDR4-2400 18-17-17-39 2T Storage: HP EX920 1TB PCIe x4 M.2 SSD + Crucial MX500 1TB 2.5" SATA SSD, 128GB Toshiba PCIe x2 M.2 SSD (KBG30ZMV128G) gone cooking externally, 1TB Seagate 7200RPM 2.5" HDD (ST1000LM049-2GH172) left outside Monitor: 1080p 126Hz IPS G-sync

 

Desktop benching:

Cinebench R15 Single thread:168 Multi-thread: 833 

SuperPi (v1.5 from Techpowerup, PI value output) 16K: 0.100s 1M: 8.255s 32M: 7m 45.93s

Link to post
Share on other sites

15 hours ago, Jurrunio said:

...

Thanks for the right up, I understand a bit more now.

Anyway, I thought it was more complicated than what it is actually.
They should totally do a lot more work on these things, it seems to me that their technology is still very immature.

Looking forward to improvements.

 

Can you please try to make Scenarios the way I did, even if it was wrong, so that I can understand and maybe others too?

 

GTX 1080 - 2x M.2 NVMe SSD - Gsync 100Hz - 1440p - 7700K (Q1/2017 mini-ITX build)

Link to post
Share on other sites

3 hours ago, Gunshark said:

They should totally do a lot more work on these things, it seems to me that their technology is still very immature.

If it works well there's no need to fix it. Unless you can come up with flaws on the current mechanics.

 

3 hours ago, Gunshark said:

Can you please try to make Scenarios the way I did, even if it was wrong, so that I can understand and maybe others too?

No. I'd rather deal with more questions than give more examples. Breaking down on where people get stuck on is way more useful than explaining the whole thing over and over again (like what you did)

CPU: i7-2600K 4751MHz 1.44V (software) --> 1.47V at the back of the socket Motherboard: Asrock Z77 Extreme4 (BCLK: 103.3MHz) CPU Cooler: Noctua NH-D15 RAM: Adata XPG 2x8GB DDR3 (XMP: 2133MHz 10-11-11-30 CR2, custom: 2203MHz 10-11-10-26 CR1 tRFC:230 tREFI:14000) GPU: Asus GTX 1070 Dual (Super Jetstream vbios, +70(2025-2088MHz)/+400(8.8Gbps)) SSD: Samsung 840 Pro 256GB (main boot drive), Transcend SSD370 128GB PSU: Seasonic X-660 80+ Gold Case: Antec P110 Silent, 5 intakes 1 exhaust Monitor: AOC G2460PF 1080p 144Hz (150Hz max w/ DP, 121Hz max w/ HDMI) TN panel Keyboard: Logitech G610 Orion (Cherry MX Blue) with SteelSeries Apex M260 keycaps Mouse: BenQ Zowie FK1

 

Model: HP Omen 17 17-an110ca CPU: i7-8750H (0.125V core & cache, 50mV SA undervolt) GPU: GTX 1060 6GB Mobile (+80/+450, 1650MHz~1750MHz 0.78V~0.85V) RAM: 8+8GB DDR4-2400 18-17-17-39 2T Storage: HP EX920 1TB PCIe x4 M.2 SSD + Crucial MX500 1TB 2.5" SATA SSD, 128GB Toshiba PCIe x2 M.2 SSD (KBG30ZMV128G) gone cooking externally, 1TB Seagate 7200RPM 2.5" HDD (ST1000LM049-2GH172) left outside Monitor: 1080p 126Hz IPS G-sync

 

Desktop benching:

Cinebench R15 Single thread:168 Multi-thread: 833 

SuperPi (v1.5 from Techpowerup, PI value output) 16K: 0.100s 1M: 8.255s 32M: 7m 45.93s

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

×