Game slightly tears, despite vsync being enabled
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Game slightly tears, despite vsync being enabled
Hi, I have a strange problem:
My game (and the game of my mate too) has slightly tearing, despite vsync being enabled.
For the normal gameplay it is so slightly that it doesnt get noticed, but on a frame by frame base you see it. I'm normally a player who doesnt care about tearing, but I capture my videos for youtube with a capture card - so the capture card receives the teared frames and in a video I would highly prefer the videos to have no tearing at all.
I never had this problem. It seems to be introduced with gzdoom 3? I have no clue. I just can say Zandronum and GZDoom 2 dont have this problem at all.
I play with GZDoom 3.24
I use the OpenGL Renderer at exclusive fullscreen.
I have Geforce GTX 1080 and in the driver I have vsync set to application controlled and my game is set to vsync on. The refreshrate for me is 120hz and for my mate jonath it is 144hz. Jonath set the refreshrate to 144 in vid_refreshrate and I used always 0 for auto. But we both have the problem.
The Refreshrate is correctly limited in the game, but with slight peaks over 120fps. But it also happens on cases where I'm lower than 120fps like you can see on my screenshot.
https://abload.de/img/letsplaydoompb-starte71ums.png
My game (and the game of my mate too) has slightly tearing, despite vsync being enabled.
For the normal gameplay it is so slightly that it doesnt get noticed, but on a frame by frame base you see it. I'm normally a player who doesnt care about tearing, but I capture my videos for youtube with a capture card - so the capture card receives the teared frames and in a video I would highly prefer the videos to have no tearing at all.
I never had this problem. It seems to be introduced with gzdoom 3? I have no clue. I just can say Zandronum and GZDoom 2 dont have this problem at all.
I play with GZDoom 3.24
I use the OpenGL Renderer at exclusive fullscreen.
I have Geforce GTX 1080 and in the driver I have vsync set to application controlled and my game is set to vsync on. The refreshrate for me is 120hz and for my mate jonath it is 144hz. Jonath set the refreshrate to 144 in vid_refreshrate and I used always 0 for auto. But we both have the problem.
The Refreshrate is correctly limited in the game, but with slight peaks over 120fps. But it also happens on cases where I'm lower than 120fps like you can see on my screenshot.
https://abload.de/img/letsplaydoompb-starte71ums.png
Last edited by De-M-oN on Sat Dec 30, 2017 10:44 am, edited 1 time in total.
Re: Game slightly tears, despite vsync being enabled
That's a massive tear for 120 hz.
Can your card really handle 120hz at 1600p?
Can your card really handle 120hz at 1600p?
Re: Game slightly tears, despite vsync being enabled
Yes. It could even do 135hz.
I have the Datapath VisionSC-DP2 ( https://www.datapath.co.uk/video-captur ... sionsc-dp2 )
I never ever had this issue. I was really surprised to see it at gzdoom3. Its the first time I capture gzdoom 3. And how said my mate has the problem as well
Every other game works. Doom 2016, GZDoom 2, Zandronum, any other game.
I have the Datapath VisionSC-DP2 ( https://www.datapath.co.uk/video-captur ... sionsc-dp2 )
I never ever had this issue. I was really surprised to see it at gzdoom3. Its the first time I capture gzdoom 3. And how said my mate has the problem as well
Every other game works. Doom 2016, GZDoom 2, Zandronum, any other game.
-
- Posts: 219
- Joined: Wed Jan 08, 2014 8:40 am
- Graphics Processor: nVidia with Vulkan support
- Location: Germany
Re: Game slightly tears, despite vsync being enabled
I can confirm this bug (I am the Jonath he is referring to).
I am running 2560x1440@144Hz, also having a GTX 1080 and my capture card is a Magewell HDMI 4k Plus (http://www.magewell.com/pro-capture-hdmi-4k-plus)
The tearing is fairly rare and if so mostly small tearing. The picture attached is a worst-case tearing. I am running Vanilla Doom, so the frame rate should be fairly constant
I am running 2560x1440@144Hz, also having a GTX 1080 and my capture card is a Magewell HDMI 4k Plus (http://www.magewell.com/pro-capture-hdmi-4k-plus)
The tearing is fairly rare and if so mostly small tearing. The picture attached is a worst-case tearing. I am running Vanilla Doom, so the frame rate should be fairly constant
Re: Game slightly tears, despite vsync being enabled
rare is the massive tear like our 2 posted screenshots. But slightly teared frames we have less enough to mostly not notice it while running video/game, but often enough that it is not so nice to have on a youtube video.
So at least it is for me.
So at least it is for me.
- Chris
- Posts: 2942
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Game slightly tears, despite vsync being enabled
What OS?
Is it possible adaptive sync is being used? Not sure if there's a specific setting/cvar for it in GZDoom, but if it's being used the card will vsync as long as its "on time", but if a frame happens to be late it will exhibit tearing instead of waiting for the next refresh. The first screenshot does show an fps of 112 rather than 120, indicating it fell behind.
Is it possible adaptive sync is being used? Not sure if there's a specific setting/cvar for it in GZDoom, but if it's being used the card will vsync as long as its "on time", but if a frame happens to be late it will exhibit tearing instead of waiting for the next refresh. The first screenshot does show an fps of 112 rather than 120, indicating it fell behind.
-
- Posts: 219
- Joined: Wed Jan 08, 2014 8:40 am
- Graphics Processor: nVidia with Vulkan support
- Location: Germany
Re: Game slightly tears, despite vsync being enabled
I am on Windows 10, De-M-oN is on Windows 7.
I am not aware of a setting for adaptive Sync in GZDoom, in my NVidia control panel it is set to "Application Controlled".
And even if the FPS fall behind, VSync should then use the next lower fraction, in this case 60FPS in his case or 72 in my case. I think 112 in his case is visible, because he has such an high update rate for his FPS counter.
I am not aware of a setting for adaptive Sync in GZDoom, in my NVidia control panel it is set to "Application Controlled".
And even if the FPS fall behind, VSync should then use the next lower fraction, in this case 60FPS in his case or 72 in my case. I think 112 in his case is visible, because he has such an high update rate for his FPS counter.
Last edited by XxMiltenXx on Sat Dec 30, 2017 4:22 pm, edited 1 time in total.
Re: Game slightly tears, despite vsync being enabled
Chris wrote: Is it possible adaptive sync is being used?
If this is the same as WGL_EXT_swap_control_tear then it is being used.
Re: Game slightly tears, despite vsync being enabled
No I use Windows 7. But I think it was a typo, because you normally know it^^De-M-oN is on Windows 10.
It is because of project brutality being very ressource intensive, but that shouldnt have any influence to tearing, also you jonath, you play the vanilla game and there it is the same.I think 112 in his case is visible, because he has such an high update rate for his FPS counter.
Also Complex Doom is often ressource intensive and with zandronum this doesnt happen either. Just to clarify that.
I will later try out what happens if I force vsync on in nvidia control panel instead the game. But even if that helps - then even more we know that the game's vsync is apparently something wrong with. I'll update as soon as I tested it.
- Chris
- Posts: 2942
- Joined: Thu Jul 17, 2003 12:07 am
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
Re: Game slightly tears, despite vsync being enabled
Depends. Some people would prefer a bit of tearing to maintain a high FPS rate, rather than cutting the FPS in half because a frame was a few milliseconds late.XxMiltenXx wrote:And even if the FPS fall behind, VSync should then use the next lower fraction, in this case 60FPS in his case or 72 in my case.
Yes. There's a GLX equivalent also that SDL may use (the SDL GL code doesn't seem to check for the extension though; if vsync is wanted it just tries to set a swap interval of -1 regardless, and if that fails falls back to 1). This certainly seems like the kind of thing that could be toggled with a cvar.Kotti wrote:If this is the same as WGL_EXT_swap_control_tear then it is being used.
Re: Game slightly tears, despite vsync being enabled
fractional fps changes are normally avoided by using Triple Buffering. I dont know if GZDoom is using it. The setting in nvidia has just influence to Direct3D.Depends. Some people would prefer a bit of tearing to maintain a high FPS rate, rather than cutting the FPS in half because a frame was a few milliseconds late.
Re: Game slightly tears, despite vsync being enabled
Only video playback uses triple buffering. The mouse lag you get from queuing that many buffers is unacceptable for most games.
Re: Game slightly tears, despite vsync being enabled
The setting in Nvidia controls it on/off for Direct3D though - also games. Just OpenGL and Vulkan not.
Honestly with 60hz it didnt make much of a difference for me with 1 or 2 prerendered frames. 60hz vsync is in both cases - on or off awful, inacceptable input xDDD
And with 120hz it doesnt make a difference to me either. Thats high enough to have almost no perceptible input delay by vsync, no matter if Triple is on or off. For me at least no difference.
Honestly with 60hz it didnt make much of a difference for me with 1 or 2 prerendered frames. 60hz vsync is in both cases - on or off awful, inacceptable input xDDD
And with 120hz it doesnt make a difference to me either. Thats high enough to have almost no perceptible input delay by vsync, no matter if Triple is on or off. For me at least no difference.
Re: Game slightly tears, despite vsync being enabled
I guarantee you that if I forced triple buffering in GZDoom people would be complaining instantly about the mouse lag. With 120 hz the latency is half, of course, but ultimately it doesn't fix the problem Chris was talking about. If a game is unable to maintain the desired frame rate, then, unless its due to some resource load problem, it will continue to miss the deadline for many frames - the triple buffers will therefore end up empty as the game/GPU can't keep up.
If it gives some compatibility problem with some software we can of course make an option for disabling adaptive vsync.
If it gives some compatibility problem with some software we can of course make an option for disabling adaptive vsync.
Re: Game slightly tears, despite vsync being enabled
So the game is using adaptive vsync and not permanent vsync?
That would explain the tearing then if it is like this.
But then it really should be called the same in options of the game and also should be a seperate option. If I see vsync I expected a permanent vsync and not adaptive (and it is permanent vsync in zandronum and gzdoom 2) (at least my observation. Sorry if incorrect ;D )
Triple Buffering : I didnt request to add it And if so it of course would have to be optional too with default being off. But if it is adaptive vsync, Triple Buffering wouldnt avoid the tearing either ;D
But I personally definitely need a permanent vsync. Otherwise I cant capture videos without tearing. Or I must use the nvidia control panel vsync. But I think the game should be able to do it as well, shouldnt it?
That would explain the tearing then if it is like this.
But then it really should be called the same in options of the game and also should be a seperate option. If I see vsync I expected a permanent vsync and not adaptive (and it is permanent vsync in zandronum and gzdoom 2) (at least my observation. Sorry if incorrect ;D )
Triple Buffering : I didnt request to add it And if so it of course would have to be optional too with default being off. But if it is adaptive vsync, Triple Buffering wouldnt avoid the tearing either ;D
But I personally definitely need a permanent vsync. Otherwise I cant capture videos without tearing. Or I must use the nvidia control panel vsync. But I think the game should be able to do it as well, shouldnt it?