This is a complex rabbit hole.
Short answer: DSC should not add lag, but latency-buggy DSC settings/codecs/gpus/devices do.
That's the bad DSC lag you heard from some influencers/youtubers/reviewers. But there's better DSC.
Here's the long answer:
Keep in mind DSC performance varies from monitor to monitor and GPU to GPU. Ideally, the best implementations adds no extra lag, but it's wholly true that lag-buggy early implementations may add wayyyy more lag. And sometimes it's the specific display model's fault, and sometimes it's the specific GPU or specific GPU driver's fault. Many whac a moles to do.
And some early GPU implementations emit a DSC signal that accidentally adds too much DSC latency when it should not. Even for slice sizes in the VESA DSC protocol that doesn't even warrant processing latency, but that it's easier for an early-programmed DSC implementation to buffer more and just post-process. And it does happen. Sadly.
Yes, in the best low-latency implementations possible, DSC often needs to buffer 1 pixel row so it can process the streaming compression properly, but a 1080p 240Hz signal is 135 kilohertz scan rate (135000 scanlines/sec). So 1/135000th second of latency, which is not feelable by a human. Unfortunately some firmwares royally bØяK3d the DSC implementation lag-wise, and here we are. Yup, #ConclusionJumpers.
In fact, Retrotink 4K (Blur Busters Approved video processor box for retro market) can inject BFI into a video signal that is less laggy than many TV firmwares' own native BFI. Simply because of how many TV firmwares more fully buffers and processes the signal before displaying the refresh cycle. See? I do paid work to reduce lag of various display processing.
#ScalerFirmwareImplementationFails
#DontJudgeAllScalersByOthers
#GPUsettingsFail
#JumpingToConclusions
DSC can be realtime stream decompression, and proper DSC feels exactly like 422 chroma (but better quality).
Worst DSC = more lag like what you witnessed.
Best DSC = no more lag than 422 chroma.
DSC can support slice sizes that affects latency of "lazy DSC codecs" (those not programmed to optimal latency):
VESA DSC Specification, Slice Size Chapters
But you can have a slice size of just a scanline and stream process it with nigh no latency. GPUs should expose more settings, etc, to make this adjustable, in theory.
In theory, slices don't really add latency because it's simply retroactive compression help. However, some actual implementation of codecs add unwanted latency, which is supremely dissapointing. But it is not a #DSChoax thing.
While I can say VRR has more lag than VSYNC OFF for many specific use cases (especially "framerates far exceed Hz" and/or "need mouse cursor" situations), the theoretical minimum DSC latency is far lower than the theoretical minimum VRR latency by at least two orders of magnitude from grade-school mathematics (average half a scanout lag penalty versus average 1 scanline lag penalty). So equating DSC and VRR lag as being law of physics equal, is just trying to claim 2+2=5 when the story is sadly more complciated.
It's a cesspool, yes.
But reviewers & users are jumping to conclusions.
Sadly, DSC needs to be lag-tested on a per-product basis, without wholesale DSC-algorithm conclusion jumping.
Switch GPU? Retest.
Switch Displays? Retest.
Yadda, yadda.
Oh and yeah, I edited the topic title for y'all. You are welcome
There are great points in this thread, Some implementations of DSC can be crappy yes. This part is factually correct for some, but not all DSC implementations.. But it is lost in the fog of "LOL DSC IZ HOAX" equivalent of a very completely faked bait topic subject, so I've removed the bait with #Facts. m'kay?
And hey hey, open source programmers of NVInspector style tools, please, please (CAN I HAZ HALP?)... Let us reprogram slice sizes of the outgoing DSC stream. Some displays will improve in lag if they're using buggy slice processors that accidentally adds lag. Changing slice sizes GPU-side can actually bypass some lag-bugs display-side (but not for all displays, sadly).
Oh my, if only stream codecs did not add unnecessary lag, I wish! Sometimes it's sender-side lag, and sometimes it's receiver-side lag, oh my, I wish I could find the correct tree in the lag forest, sometimes! But DSC is not a hoax. DSC is great for the refresh rate ....if implemented properly. 4K 1000fps 1000Hz OLED with lagless esports framegen FTW.
And please copy-paste the permalink to this post to your favorite DSC latency newbies:
Code: Select all
https://forums.blurbusters.com/viewtopic.php?f=2&t=12730&p=99795#p99795
You're welcome.
</>
Yes, my famous micdrop, for descendants of "Humans Cant See 30-vs-60" debators.<- Tiny Easter Egg