Overview
We dive into the questions some G-Sync users are having over flickering on the display during zero frame rate scenarios.
We’ve been tracking NVIDIA’s G-Sync for quite a while now. The comments section on Ryan’s initial article erupted with questions, and many of those were answered in a follow-on interview with NVIDIA’s Tom Petersen. The idea was radical – do away with the traditional fixed refresh rate and only send a new frame to the display when it has just completed rendering by the GPU. There are many benefits here, but the short version is that you get the low-latency benefit of V-SYNC OFF gaming combined with the image quality (lack of tearing) that you would see if V-SYNC was ON. Despite the many benefits, there are some potential disadvantages that come from attempting to drive an LCD panel at varying periods of time, as opposed to the fixed intervals that have been the norm for over a decade.
As the first round of samples came to us for review, the current leader appeared to be the ASUS ROG Swift. A G-Sync 144 Hz display at 1440P was sure to appeal to gamers who wanted faster response than the 4K 60 Hz G-Sync alternative was capable of. Due to what seemed to be large consumer demand, it has taken some time to get these panels into the hands of consumers. As our Storage Editor, I decided it was time to upgrade my home system, placed a pre-order, and waited with anticipation of finally being able to shift from my trusty Dell 3007WFP-HC to a large panel that can handle >2x the FPS.
Fast forward to last week. My pair of ROG Swifts arrived, and some other folks I knew had also received theirs. Before I could set mine up and get some quality gaming time in, my bro FifthDread and his wife both noted a very obvious flicker on their Swifts within the first few minutes of hooking them up. They reported the flicker during game loading screens and mid-game during background content loading occurring in some RTS titles. Prior to hearing from them, the most I had seen were some conflicting and contradictory reports on various forums (not limed to the Swift, though that is the earliest panel and would therefore see the majority of early reports), but now we had something more solid to go on. That night I fired up my own Swift and immediately got to doing what I do best – trying to break things. We have reproduced the issue and intend to demonstrate it in a measurable way, mostly to put some actual data out there to go along with those trying to describe something that is borderline perceptible for mere fractions of a second.
First a bit of misnomer correction / foundation laying:
- The ‘Screen refresh rate’ option you see in Windows Display Properties is actually a carryover from the CRT days. In terms of an LCD, it is the maximum rate at which a frame is output to the display. It is not representative of the frequency at which the LCD panel itself is refreshed by the display logic.
- LCD panel pixels are periodically updated by a scan, typically from top to bottom. Newer / higher quality panels repeat this process at a rate higher than 60 Hz in order to reduce the ‘rolling shutter’ effect seen when panning scenes or windows across the screen.
- In order to engineer faster responding pixels, manufacturers must deal with the side effect of faster pixel decay between refreshes. This is a balanced by increasing the frequency of scanning out to the panel.
- The effect we are going to cover here has nothing to do with motion blur, LightBoost, backlight PWM, LightBoost combined with G-Sync (not currently a thing, even though Blur Busters has theorized on how it could work, their method would not work with how G-Sync is actually implemented today).
With all of that out of the way, let’s tackle what folks out there may be seeing on their own variable refresh rate displays. Based on our testing so far, the flicker only presented at times when a game enters a 'stalled' state. These are periods where you would see a split-second freeze in the action, like during a background level load during game play in some titles. It also appears during some game level load screens, but as those are normally static scenes, they would have gone unnoticed on fixed refresh rate panels. Since we were absolutely able to see that something was happening, we wanted to be able to catch it in the act and measure it, so we rooted around the lab and put together some gear to do so. It’s not a perfect solution by any means, but we only needed to observe differences between the smooth gaming and the ‘stalled state’ where the flicker was readily observable. Once the solder dust settled, we fired up a game that we knew could instantaneously swing from a high FPS (144) to a stalled state (0 FPS) and back again. As it turns out, EVE Online does this exact thing while taking an in-game screen shot, so we used that for our initial testing. Here’s what the brightness of a small segment of the ROG Swift does during this very event:
Measured panel section brightness over time during a 'stall' event. Click to enlarge.
The relatively small ripple to the left and right of center demonstrate the panel output at just under 144 FPS. Panel redraw is in sync with the frames coming from the GPU at this rate. The center section, however, represents what takes place when the input from the GPU suddenly drops to zero. In the above case, the game briefly stalled, then resumed a few frames at 144, then stalled again for a much longer period of time. Completely stopping the panel refresh would result in all TN pixels bleeding towards white, so G-Sync has a built-in failsafe to prevent this by forcing a redraw every ~33 msec. What you are seeing are the pixels intermittently bleeding towards white and periodically being pulled back down to the appropriate brightness by a scan. The low latency panel used in the ROG Swift does this all of the time, but it is less noticeable at 144, as you can see on the left and right edges of the graph. An additional thing that’s happening here is an apparent rise in average brightness during the event. We are still researching the cause of this on our end, but this brightness increase certainly helps to draw attention to the flicker event, making it even more perceptible to those who might have not otherwise noticed it.
Some of you might be wondering why this same effect is not seen when a game drops to 30 FPS (or even lower) during the course of normal game play. While the original G-Sync upgrade kit implementation simply waited until 33 msec had passed until forcing an additional redraw, this introduced judder from 25-30 FPS. Based on our observations and testing, it appears that NVIDIA has corrected this in the retail G-Sync panels with an algorithm that intelligently re-scans at even multiples of the input frame rate in order to keep the redraw rate relatively high, and therefore keeping flicker imperceptible – even at very low continuous frame rates.
A few final points before we go:
- This is not limited to the ROG Swift. All variable refresh panels we have tested (including 4K) see this effect to a more or less degree than reported here. Again, this only occurs when games instantaneously drop to 0 FPS, and not when those games dip into low frame rates in a continuous fashion.
- The effect is less perceptible (both visually and with recorded data) at lower maximum refresh rate settings.
- The effect is not present at fixed refresh rates (G-Sync disabled or with non G-Sync panels).
This post was primarily meant as a status update and to serve as something for G-Sync users to point to when attempting to explain the flicker they are perceiving. We will continue researching, collecting data, and coordinating with NVIDIA on this issue, and will report back once we have more to discuss.
During the research and drafting of this piece, we reached out to and worked with NVIDIA to discuss this issue. Here is their statement:
"All LCD pixel values relax after refreshing. As a result, the brightness value that is set during the LCD’s scanline update slowly relaxes until the next refresh.
This means all LCDs have some slight variation in brightness. In this case, lower frequency refreshes will appear slightly brighter than high frequency refreshes by 1 – 2%.
When games are running normally (i.e., not waiting at a load screen, nor a screen capture) – users will never see this slight variation in brightness value. In the rare cases where frame rates can plummet to very low levels, there is a very slight brightness variation (barely perceptible to the human eye), which disappears when normal operation resumes."
So there you have it. It's basically down to the physics of how an LCD panel works at varying refresh rates. While I agree that it is a rare occurrence, there are some games that present this scenario more frequently (and noticeably) than others. If you've noticed this effect in some games more than others, let us know in the comments section below.
(Editor's Note: We are continuing to work with NVIDIA on this issue and hope to find a way to alleviate the flickering with either a hardware or software change in the future.)
You gotta love the “it
You gotta love the “it doesn’t show up in the games I play” comment.
Sounds like my QA saying “the bug doesn’t show up for me”. Doesn’t mean it doesn’t exist… The job of a proper reviewer is to test as many games as possible, since, well, some people will end up playing different games than your usual favorite games. That is what is called a proper and complete review. (Especially all the time you had to play around with that thing). Ah, “internet journalism”… But of course, better write good things, otherwise, no new toy to “review”. Lol.
In the article you said that
In the article you said that one of the causes of the issue was due to the TN panel pixels bleeding to white – would a switch to an IPS panel solve this issue then?
It might make the change less
It might make the change less apparent (bleeding to black vs. white), but there would still be an apparent change in brightness. IPS bleed rate should be slower, so overall it would probably make it imperceptible, though there would be added side effects of running IPS at 144 (more ghosting vs. TN, etc).
I have had this monitor for
I have had this monitor for over 3 months and really do like it and it works well on a single card. The problem I have is multiple cards. I run with 3 Titans and it just isn’t smooth or as smooth as a single card I should say. Also, 3D works nicely but Chrome is just a black screen and I have to turn off 3D to see the Chrome browser. I can’t really say I noticed the flicker (not saying it isn’t there) but I do wish they would get multi cards working well and it isn’t just me saying it.
I’m glad you commented about
I’m glad you commented about the 3D performance.
I have read on the 3Dvision forums about an “inversion” issue when playing in 3D.
Could you please compare the swift to the previous generation of 3Dvision 2 lightboost monitors?
Can you please look into this
Can you please look into this issue?:
http://rog.asus.com/forum/showthread.php?50004-PG278Q-vertical-stripes-esp.-in-3D-mode.&p=439589&viewfull=1#post439589
It’s vertical striping on fast high constrast transitions, looks like vertical interlacing. It’s not limited to 3D mode as the thread suggests. Here’s examples of it in action:
https://www.youtube.com/watch?v=gm7lNyv-frk
http://i.imgbox.com/FRbfR7Cz.jpg
It’s listed as issue S2 here: http://www.overclock.net/t/1526956/guide-to-the-problems-with-the-asus-rog-swift#post_23201615
From my experiments with a macro lens, it seems columns of red pixels alternate in brightness ever frame, so even lines of red pixels are on one frame, then odd lines the next which is what’s causing this screen door effect. It’s most noticeable with either green UI elements or quick orange explosions.
Despite a 15 page thread on the ROG forums, and several other threads about the same issue, no one from ASUS has officially responded about this at all. I just want some acknowledgement of this being a thing that maybe they’re at least investigating.
Some youtube videos of Asus
Some youtube videos of Asus RoG Swift PG278Q flickering in 2nd mode.
Asus ROG Swift PG278Q Failure
https://www.youtube.com/watch?v=wvn9F_IA6zs
Asus ROG Swift PG278Q issue, problem https://www.youtube.com/watch?v=Umx7ZvDKzdg
Asus ROG swift pg278q – white flickering lines on the right side
https://www.youtube.com/watch?v=Bv0NZhaXLzc
Asus ROG Swift PG278Q Moire Problem / color inversion problem in BF4
https://www.youtube.com/watch?v=29JRmeaAoNw
Asus ROG SWIFT PG278Q Problem
https://www.youtube.com/watch?v=LLETUsNFO68
ASUS ROG SWIFT Monitor failure
https://www.youtube.com/watch?v=q0U8HeOoOMQ
Swift Flicker
https://www.youtube.com/watch?v=ST7FPR6JF9g
Maybe since its Nvidia first time doing a scaler these are the results.
AMD is leaving the monitors scalers up to the companies that have years of experience doing so, maybe that will lead to better QA for us customers at a lower price.
I think it’s fair to say that
I think it’s fair to say that this is a monitor for first adopters. It’s a lot of money to pay for early tech that’s still imature, but I understood that before commiting, and I do not regret the decision.
As I stated above, I never see the flicker except in some game loading screens (COD Black Ops being most noticeable). This monitor is on my gaming rig, not my primary workstation, but I do a lot of browsing and file management on it, and use Remote Desktop, and have not seen flickering in the desktop so far.
Only issue I had was a problem where the monitor would not stay on 144 Hz. The monitor would randomly – sometimes during gameplay – revert to 60Hz, but the video card would continue to send 144 Hz causing the monitor to give an “out of range” error and usually requiring a reboot because the refresh rate toggle on the monitor won’t work if the monitor is out of range (bad design there), and I have no secondary display.
Very annoying – only recourse was to run my $800 144 Hz monitor at 60Hz for s month until they fixed it in a subsequent driver update (although I suspect it was a driver hack to workaround a bug in the monitor firmware). It should have been addressed before the monitor’s release.
Gonna go out on a limb here
Gonna go out on a limb here and say this seems quite solvable within the graphics driver. It seems to only noticeable when static content is sent at low frame rates (and even then, only on solid colours).
I imagine Nvidia could do something like this: Timeout and redraw the previous frame after x ms. Currently x seems to be 33. But they could make this value be a function of past history — each successive timeout causes the interval to decrease, and once a few frames are received at higher rates, reset the timeout to 33 ms. This avoids the problem of not waiting long enough for most of the time — but solves the problem of long periods of idleness. Nobody will notice a few frames of flicker, or a few frames of slightly-slower FPS when the engine unstalls. But it will make the period during the stall no longer exhibit flicker.
I’d love to see this thing solved, since it instantly bugged me when I got my ROG Swift today (and hence why I found this article). But in the end, its a minor annoyance in an otherwise awesome monitor.
Any updates to these
Any updates to these problems, and any new Swift monitors in the works?
Hi,
I’ve already had a failed
Hi,
I’ve already had a failed power supply which i changed via RMA. It now flickers in all screens. Depending what you’re doing its more or less noticeable.
This describes the exact
This describes the exact issue I experience. It seems the problem hasn’t been fixed since 2014.
It is very frustrating to spend so much money on this equipment and then have drawbacks such as the flickering. I assume there is no fix until Nvidia solves the issue with newer products in the future?
Games I experience it in are:
– World of Tanks – in the loading screen and the Garage.
– ESO loading screen
– Any loading screen really!
Thanks again for the article, I thought I was going nuts!
Great article! I notice
Great article! I notice g-sync flickering during the loading screen in Battlefield 1. Nice to know it’s normal, and my panel isn’t defective.
On my fully native g-sync monitor I find that it happens at higher frame rates too when there is a stall in the game. If there is any kind of stall in the game Msi afterburner shows that the framerates can go from any number down to any number and the monitor will have very slight brightness flicker (only noticable if you look very very hard for it on a static part of the screen in a game). Also when the framerates are lower but no where near 0 fps, that the monitor can have brightness flicker too.
I have chalked it up to any timing of frames of 30+ ms.
Maybe different monitors handly the vrr better than others. Like i said it isn’t noticable until I get to 35fps and below and it only becomes an issue at under 30fps at which point if I am playing a game that gets to that point I turn gsync off but it would be on one or two building games.
I could start another headache of a search again for the perfect monitor but apart from the fact that this monitor suffers with this brightness flicker (although not very notcable or at all in a lot of games thanks to my pc being very high spec), this monitor has perfect uniformity with 0 back light bleed and a perfect white on a white screen and a perfect black on a black screen. This in itself is near impossible to find so I will live with the birghtness flicker.
But I don’t see why Nvidia can’t fix it with an optional patch.
What sort of monitor do you have?
Which model, I should say?