That being said, there's more room to optimize away from flicker territory (as long as you can afford the GPU).
There's a much bigger VRR range on a 240Hz OLED, so if you keep the framerates perpetually triple-digit and frametimes perpetually single-digits, even erratic framerate fluctuations in that high territory (e.g. 120-220fps swings, ala 5ms-8ms frametime swings) doesn't seem to create VRR flicker events anymore the way half that happens (e.g. 60-110fps swings).
Also, more breathing room above 120Hz is very helpful. Even if getting 120fps constant is hard, capping to 120fps can sometimes worsen the next frametime spike. A game capped to 120fps might frametime spike slightly more than a game capped to 240fps. This is because the capping algorithm is aiming to average larger frametimes (8.3ms) and sometimes frametime spikes are additive (on top and beyond) the cap-mandated minimum frametime, depending on a certain game's frame capping algorithm. So a higher framerate cap, can sometimes lessen the frametime spikes (by 1ms to 4ms), keeping it away from LFC territory. A game able to breathe 100-140fps will avoid VRR flicker events more easily than a game that can only breathe 100-120fps, due to the way some cap algorithms are programmed. By having a 240Hz OLED, you have more opportunities to optimize your triple-digit framerate games away from amplified frametime spikes.
The OLED VRR flicker events can still be there during things like bringing up a game menu (which often suddenly creates frametime spikes), but that's tolerable, compared to just mid-play.
So if you struggle with your framerates, make sure you upgrade your GPU, and optimize your game settings accordingly. Not all games will maintain triple digit framerates, but some most certainly can, and you can whitelist those games to milk the advantageous benefit of VRR, since jitter is more visible on OLED, and VRR dejitters that.
speancer wrote:
↑
20 Jun 2023, 13:00
Thank you for the links, I read your posts. So basically reducing framerate as low as it gets to keep it always as stable as possible is the only way to mitigate OLED VRR flicker, correct?
Well, that's not what I do. I keep them as high as possible!
Unlike 120Hz OLEDs, you are dealing with 240Hz OLED, you have a gigantic VRR range, 48Hz-240Hz. MUCH more breathing room away from OLED flicker territory.
My flicker events for my Corsair Xeneon Flex 45" are ONLY at frametime spikes -- e.g. sudden falls to two-digit frame rates (Even a single frametime spiking to greater than 10ms) -- especially a single frametime that makes a sudden entry into LFC territory. LFC suddenly doubles or triples frame rate to prevent refresh rates from falling below VRR range, and that's a sudden framerate change, and creates an VRR flicker event from it.
Now if you keep framerates at 100fps-240fps, I never see the flicker (which can happen to either LCD VRR and OLED VRR, of varying nit-changes of between 0.1% and 5%, depending on panel and whether or not it's G-SYNC native or not). The sudden change 100-vs-200 (as long as there's no frametime spikes beyond roughly ~10ms) doesn't create noticeable VRR flicker issues for me, while the sudden change 50-vs-100 sometimes can, especially since 50 is close enough to LFC territory to preemptively trigger it.
Even though a single frametime spike to 10ms doesn't always trigger a flicker event, I use them as reliable "potential flicker red flags" -- since a double-digit percentage of these >10ms frametime spikes create a VRR-gamma-flicker event (of roughly a 3% lumens change). Watch the RTSS graph and optimize out those double-digit milliseconds where you can.
So my approach is always to keep framerates in triple digits and frametimes in single digits (avoid even single 10ms frametime spike where possible, except during menu-bringup events, etc). Most of the flicker events are the LFC entry/exit events, which happens if you let your framerates into the two-digit territory, as the drivers decide to preemptively enable LFC suddenly when there's a single big frametimes spike (LFC suddenly turns on = roughly a sudden 3% brightness flicker in the darks). It takes only ONE frametime spike for LFC to enable = flicker event.
Avoid overloading those RTX ON and Ultra settings, and definitely DLSS-up a little bit (DLSS Balanced at least), to help your framerates stay in flickerfree territory.
System Shock Remake, for example, is one of the best games to show off a 240Hz OLED, and it always stays in triple-digit frame rates that never GSYNC-flickers, while GSYNC really helps de-jitters the game.
In System Shock remake, I set various settings High/Ultra (If you're using a 3080 series or less, step down the shadows/shader/fog one step down, they're the hog settings), plus DLSS set to either Performance or Ultra.
_________
Also here's a crosspost from another thread:
You can configure GSYNC to be OFF for some games and ON for others.
Some games really look good with GSYNC on the Cosair Xeneon Flex -- like System Shock. You simply have to make sure you keep framerates 100fps or above to prevent the flickering. The experience with GSYNC is much better ON than OFF for certain types of games, in my experience, since jitter (from non-VRR) can be more annoying to me. The way GSYNC fixes jittering more than exceeds the flicker disadvantage, as long as the game is very VRR
One problem when capping lower frame rates (e.g. 60fps) is the rapid entry/exit of LFC can be individual flicker events. LFC typically occurs at ~48Hz, but sometimes triggers on/off even if you're doing 60fps. In this situation, making sure the framerate never falls below 60fps, is key.
One method is to use GSYNC for fullscreen exclusive games only, and configure it on a per-game basis (global GSYNC turned off, but GSYNC turned on a per-game basis). There's way to use NVCP to use a whitelisting approach, where GSYNC is only enabled only when you run certain games.
The NVCP "whitelist approach" for GSYNC where it's off by default except for certain games:
- Monitor -> Adaptive Sync -> ON
- NVCP -> Set up G-SYNC -> ON only for fullscreen
- NVCP -> Manage 3D Settings -> Global Settings -> Monitor Technology -> Fixed Refresh
- NVCP -> Manage 3D Settings -> Program Settings -> Choose game to whitelist -> Monitor Technology -> G-SYNC
- NVCP -> Manage 3D Settings -> Program Settings -> Choose game to whitelist -> Vertical Sync -> ON
- NVCP -> Manage 3D Settings -> Program Settings -> Choose game to whitelist -> Max Frame Rate -> 235 (or use RTSS)
- Game Settings -> VSYNC -> OFF
NVCP per-game setting - GSYNC ON only for most co-operative games. You definitely want to whitelist some games like System Shock (games with few frametime spikes) and blacklist some games (games with massive frametime spikes).
In this situation, G-SYNC is always disabled except for specific games. You can use VSYNC OFF for things like CS:GO/Overwatch, but G-SYNC for games like System Shock that performs better with OLED VRR ON.
Also, OLED VRR flicker is from the framerate yo-yo effect -- sudden halvings or triplings of frame rates. Like when bringing up menu or when a game is loading/shader compiling/texturestreaming. This is one of the main causes of VRR flicker problems on any LCD/OLED that is subject to VRR flicker (even some of my LCDs have a slight VRR flicker effect during large framerate yoyo effects). Another reasion is rapid exit/entry of LFC mode (where drivers' framerate suddenly doubles to prevent refresh cycles from falling below min VRR Hz range). So even if you have 60fps, you're already dangerously close single frames being 48fps, it may mean some frametimes are 1/40sec and other frametimes 1/80sec, to average 1/60sec. A single frametime into LFC territory, thus, can be a minor flicker event, especially if you love doing "RTX ON" and Ultra settings, which can often cause a single-frametime dip into LFC territory -- one too-slow refresh cycle will often create flicker event as it suddenly transitions into LFC vs non-LFC mode. Also, many graphics drivers will pre-emptively enter LFC mode a bit 'early' (this is annoying). Some people resort to range-editing the VRR range in ToastyX CRU to mitigate this, but this does not always work for all games.
The key to avoiding flicker events is avoiding too-slow frametimes (making sure no frametimes spike above ~10ms), which means you have to fiddle with the game settings to keep frame rates in the triple digits.
____
Remember, VRR flicker from sudden frame rate changes ALSO affects LCD. They're just more common on uncertified Adaptive Sync panels, and I've seen some of them flicker as badly as OLED (3% lumens change in the darks) during LFC entry/exits. Now, GSYNC premium LCDs (GSYNC native chipped) have much fainter flicker, often less than 1% lumens change. I just simply say this that VRR flicker events also affects some LCDs.
It's just more common on OLED during two-digit-or-less framerates, or frametime spikes to two-digit-milliseconds-or-more territory -- Optimize your 0.1% worst frametimes for the specific game and the VRR flicker 90% goes away.
- Keep your GPU powerful (RTX 3000s or 4000s)
- Game settings reasonable
- RTX OFF (unless you can maintain triple digits)
- DLSS ON (for your solo games)
- Keep your memory big (24GB or 32GB)
- Keep your disk fast (M.2 SSD, of Samsung 960 Pro quality or better) to prevent the texturestreaming frametime spikes.
- Use Process Lasso to control your background CPU hogs
- Turn off your RGB software if the RGB software is creating regular red spikes at
www.testufo.com/animation-time-graph
(some brands of them, are known to create frametime spikes once every second or few).
There is a whole set of new optimization etiquette for 240Hz OLEDs. Maybe we should write an article about this!