• 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.

PC gaming: best method to eliminate screen tearing and reduce input lag?

For non-gsync/freesync monitors.

I've wrestled with various configurations over the years and can never decide one what works best for settings like vsync and fullscreen mode.

I like using fullscreen mode simply because more GPU power is devoted to the game, but I've read that using borderless fullscreen uses triple buffering, which reduces input lag when vsync is on.

Today my cousin was talking to me about the settings he uses for most games, and he argued that vsync should be off for borderless fullscreen. I came home and ran some tests with Battlefield 4. First, I played using fullscreen with vsync on. Input lag was evident, but the frame rate appeared smooth/matched my monitor's output. I then switched to borderless fullscreen with vsync disabled. Input lag was virtually non-existent, however I noticed the slightest difference with the frame rate. It wasn't as smooth as my previous setting, but it also wasn't jittery, either. I had the show fps feature on during these tests, and for the former it stayed locked at 60fps as expected, and jumped around in the mid 100s for the latter (also as expected). Is it because the frame rate wasn't staying at a constant that I was able to notice a difference between the two settings? Should vsync still be enabled with borderless fullscreen on, and if so, will input latency be less than when using regular fullscreen with vsync (due to triple buffering being active)?

What are the best ways to reduce input lag and keeps consistent frame rates when gaming on a PC? Hoping there's a definitive answer to this issue. The internet at large seems to have varying opinions on practically every solution imaginable.

Edit: I'm using two matching 60Hz monitors with a GTX 780.

youre going to have to use some form of vsync as many here already suggested to get rid of the tearing. youre going to also need to set maximum prerendered frames to 1 in the nv control panel to help reduce the input lag.
 

Arulan

Member
So if I want to play Skyrim at 30 fps with both no tearing and minimal input, this is what to do? Is double buffered V-sync just V-sync activated in the control panel and triple buffering disabled?

Assuming you're using a 60Hz monitor, what you want is half-refresh Vsync, which is double-buffered, and then use RTSS at a 30 fps cap. In Nvidia Inspector you just have to change Vertical Sync to "1/2 Refresh Rate", and leave the rest as is. Also, if I remember correctly Bethesda's engine has a micro-stuttering problem, but I believe there is a mod for that.
 

drotahorror

Member
Why do some games tear with uncapped framerate and some don't? Like when I play most competitive games I don't have any noticeable tearing. Smite at 150fps, no tearing. No tearing in CSGO etc.

What's strange is if I play smite and turn fraps on and cap framerate at 60, i get horrific tearing.
 

Arulan

Member
Why do some games tear with uncapped framerate and some don't? Like when I play most competitive games I don't have any noticeable tearing. Smite at 150fps, no tearing. No tearing in CSGO etc.

If you're not using some type of vertical syncing, you ARE getting tearing. Another thing is if you're running at such a high frame rate that the tearing location, or magnitude is diminished. Some engines may behave a little differently too.
 

mm04

Member
Lots of people on enthusiast forums are unhappy about the IPS glow and other quality control issues on those panels.

I noticed the IPS glow for about a day when I got it. In practice, I never notice it now. Don't regret the purchase one bit and I would consider myself to be an enthusiast.
 

Ivan

Member
Quick offtopic question (or not) :

Does vsync work the same way on consoles?
Is console method of rendering smooth 60 fps game any better or worse in terms of input lag?
 

Durante

Member
Lots of people on enthusiast forums are unhappy about the IPS glow and other quality control issues on those panels.
I'm unhappy that they are IPS panels in the first place, but still, they are easily the best 1440p gaming monitors around if you look at the whole package.

(If you disregard resolution the Eizo "240Hz" VA is still a great contender)

Quick offtopic question (or not) :

Does vsync work the same way on consoles?
Is console method of rendering smooth 60 fps game any better or worse in terms of input lag?
There is no "console method" really. There are just games on consoles which implement some method, and you have to live with that. You can do the same thing on PC, but this thread is about how to get the best possible result with external tools (a result which is often superior to the in-game one).
 

DocSeuss

Member
I've been experiencing MORE screen tearing over the past few months on my monitor. I have no idea what's causing it. It's getting out of hand, and nothing I do (enable/disable vsync in-game, on Nvidia CP, etc) fixes it.

The paranoid part of me wonders if Nvidia did something to their drivers to encourage people to go after gsync.

The rational part of me just thinks I haven't done something really obvious.
 

Durante

Member
There's no such thing as undefeatable screen tearing on PC, so I'd go with the latter. (Or maybe you didn't do something not very obvious ;))
 

shockdude

Member
I just tried to force VSync with Nvidia Inspector, and it only seemed to work for OpenGL games and not for Direct3D games. Is there a setting that I'm missing? Some quick google searches haven't turned up anything useful.
 

BigBoss

Member
I just tried to force VSync with Nvidia Inspector, and it only seemed to work for OpenGL games and not for Direct3D games. Is there a setting that I'm missing? Some quick google searches haven't turned up anything useful.

RadeonPro works across all games.
 

shockdude

Member
RadeonPro works across all games.
RadeonPro is what I currently use. I'm just playing around with other tools, partially due to RadeonPro's occasional incompatibilities (games freezing on exit, games running in the background after exit, etc.)
 

Durante

Member
I'm inclined to believe you. No idea what I should be doing to troubleshoot, however.
Which game are we talking about, and what have you tried?

Basically, here's a list of approaches to get rid of tearing, from minimally invasive to not so much:
  • In-game settings.
  • Borderless fullscreen windowed mode (with desktop composition on).
  • Driver-level override (e.g. in inspector)
  • DirectX-level fiddling, e.g. with D3DOverrider or GeDoSaTo (for DX9).
 
For non-gsync/freesync monitors.

I've wrestled with various configurations over the years and can never decide one what works best for settings like vsync and fullscreen mode.

I like using fullscreen mode simply because more GPU power is devoted to the game, but I've read that using borderless fullscreen uses triple buffering, which reduces input lag when vsync is on.

Today my cousin was talking to me about the settings he uses for most games, and he argued that vsync should be off for borderless fullscreen. I came home and ran some tests with Battlefield 4. First, I played using fullscreen with vsync on. Input lag was evident, but the frame rate appeared smooth/matched my monitor's output. I then switched to borderless fullscreen with vsync disabled. Input lag was virtually non-existent, however I noticed the slightest difference with the frame rate. It wasn't as smooth as my previous setting, but it also wasn't jittery, either. I had the show fps feature on during these tests, and for the former it stayed locked at 60fps as expected, and jumped around in the mid 100s for the latter (also as expected). Is it because the frame rate wasn't staying at a constant that I was able to notice a difference between the two settings? Should vsync still be enabled with borderless fullscreen on, and if so, will input latency be less than when using regular fullscreen with vsync (due to triple buffering being active)?

What are the best ways to reduce input lag and keeps consistent frame rates when gaming on a PC? Hoping there's a definitive answer to this issue. The internet at large seems to have varying opinions on practically every solution imaginable.

Edit: I'm using two matching 60Hz monitors with a GTX 780.

I'm going to piss you off... but I've just spent my first weekend gaming on a 21:9 3440x1440 IPS G-sync display... my very first experience with G-sync... and like everyone has said before me, there's just no going back to a fixed frequency display. You can tinker all you want, but 60Hz monitors need to die.
 
G-Sync is the best method for screen tearing but can be expensive.

I have the Asus ROG Swift monitor and the difference is incredible.

Personally i never had great results with borderless window mode and other tricks.

I used to aim for 60 FPS, with a frame cap of 60, on my 60 Hz monitor. Even then I'd sometimes see the frame counter read 59.9 or something. It would alternate between that and 60, and I'd feel the stutter.

With G-sync there's just none of that. You always see a solid number. And in most games (not all), once you're over 50 frames the frame counter can jump all over the place and you won't even feel it. Like other people have said, even at 50 FPS, G-sync feels smoother than V-sync at 60.

I recommend G-sync to everyone who's a gamer - it's just superb.
 
980ti, 4690k, 16gb RAM

Your next purchase should be a G-sync monitor then.

Here's the thing: G-sync makes almost everything smooth over 50 FPS, so you need to take advantage of that by purchasing a display that goes up to at least 100hz.

IMO, if you buy a G-sync monitor that's capped at 60Hz, then you're wasting the G-sync technology.

I've spent the entire weekend playing Watch Dogs and I couldn't believe how smooth it was. I was constantly between 50 and 68 frames, yet I never felt the changing frequency.

Games that fluctuate between 50 and about 80 frames are the ones that benefit the most from G-sync.
 

Arulan

Member
I just tried to force VSync with Nvidia Inspector, and it only seemed to work for OpenGL games and not for Direct3D games. Is there a setting that I'm missing? Some quick google searches haven't turned up anything useful.

Nvidia Inspector's Vsync most certainly does work with DirectX. You are using an Nvidia GPU, right? Try making sure it's fullscreen.
 

shockdude

Member
Nvidia Inspector's Vsync most certainly does work with DirectX. You are using an Nvidia GPU, right? Try making sure it's fullscreen.
Welp, it's because I'm using a laptop. Nvidia Inspector's VSync setting does nothing, but fortunately Intel Control Panel's VSync setting works perfectly.
I guess it's one of those settings that the Nvidia GPU can't directly control in a laptop, which tbh makes sense.

Edit: Strange question, is there a way to limit the framerate to a non-integer framerate? A lot of HDTVs have a refresh rate of 59.94Hz instead of 60Hz, for example, and Dolphin Emulator also runs at 59.94FPS.
 
Saw this linked from another thread, so I have to ask: what are frame rate intervals? And what would the frame rate intervals for a 144hz monitor be? Can't seem to find much online.
 

Arulan

Member
Saw this linked from another thread, so I have to ask: what are frame rate intervals? And what would the frame rate intervals for a 144hz monitor be? Can't seem to find much online.

They're the frame rate (frame time or instaneous frame rate as FPS is an average over 1s) that can be divided evenly into the max refresh rate.

1/144 = 0.00694 = 6.94ms (or an instant frame rate of 144)
2/144 = 0.0138 = 13.8ms (or an instant frame rate of 72)
Etc...
 

dr_rus

Member
Gsync is the best option, but failing that:

If you can achieve a stable frame rate interval (60, 30, etc. on a 60Hz display, or 120, 60, 40, etc. on 120Hz) then use double-buffered Vsync, ideally through Nvidia Inspector. Use half-refresh (or 1/3, 1/4, etc.) to match the stable frame rate you desire. In addition use RivaTuner Statistics Server to limit your frame rate to the number you chose previously.

If you can't achieve a stable frame rate, and do not want to drop down to the next nearest frame rate interval, then the best option is usually Borderless Windowed-Mode with Windows Aero ON, and then use RivaTuner Statistics Server to limit your frame rate to the nearest interval (60, 30, etc. on a 60Hz display, or 120, 60, 40, etc. on 120Hz) based on your average.

...And in all cases where you're running vsynced with lots of GPU power to spare (<50% GPU load when vsynced) set your maximum prerendered frames limit to 1 or 0 to remove input lag.
 
I'll be keeping an eye on this thread. I've been eyeballing a 27" Gsync monitor- the downside is that most of the 1080p types that I want only have a displayport, and adapters apparently need to be active and look to be slow. I really like being able to use my pc/360/ps4/xb1 with my monitor, and I primarily game at 1080 on PC and lately the XB1- so I'd like to stick to native res.

From what I've used of gsync, it's great. Just having a hard time finding a monitor that works for me.

Back on topic- I'm through fiddling with all of the little fixes and such- but I have to echo the rest of the thread- faster monitors make a world of difference (and gsync).
 

Yudoken

Member
For Nvidia cards change in the global settings pre-rendered frames to one.

Makes a huge difference if you use Vsync in games, games like Hotline Miami are suddenly playable.
 
They're the frame rate (frame time or instaneous frame rate as FPS is an average over 1s) that can be divided evenly into the max refresh rate.

1/144 = 0.00694 = 6.94ms (or an instant frame rate of 144)
2/144 = 0.0138 = 13.8ms (or an instant frame rate of 72)
Etc...

So I should be locking framerates at 144, 72, 36, etc?
 

Arulan

Member
So I should be locking framerates at 144, 72, 48, 36, etc?

Yes, in order to eliminate judder (with Vsync matched as well). Vsync (force on in NVinspector) for 144, 1/2 refresh for 72, 1/3 refresh for 48, and so-on. Of course, if you have Gsync you don't have to worry about any of this. ;)
 
Top Bottom