matteo wrote:Wow! I am very grateful for the incredibly exhaustive and quick answer. Thank you very much. Considering my lack of knowledge I understand the principles but I would have no idea how to implement any of the solutions you posted (fortunately that would not be my job).
We're happy to help whomever wants to attempt this.
Your inquiry resulted in the creation of pretty eye candy that I've been long meaning to create for an eventual Blur Busters article. Guess that article is going to arrive a little sooner.
matteo wrote:Nonetheless I am impressed by the tricks you conceived to achieve effective 120hz on a 60hz panel. Very clever! I'm sure someone more competent than me will be able to appreciate them even more. The question is probably very stupid, but how is vsync on able to do its job with 120hz on a 60hz panel? Each of the two off scans have a corresponding vertical blank interval so it can't tell the difference with a "true" 120hz? From what I understand these are the possible cases:
To help make it easier to think:
Scanout on a cable doesn't have to be the same thing as scanout on a panel.
- Yes on CRT it can be synchronous.
- Yes on most gaming LCDs (Instant Mode / Lagless mode) it can be synchronous to zero-out input lag.
- Yes (when it's synchronous) the Large Vertical Total tricks is useful for
reducing strobe crosstalk.
Since 1930s, analog displays had to scan synchronously directly off the cable, they don't have "memory" needed for scan conversion.
However, today, digital displays don't *NEED* to do it the same way. Scanout is still important for cables because it's a convenient serialization of a 2D image into a single stream of pixels over a wire (aka a video cable).
Scanout on cable doesn't have to be same thing Scanout on Display Panel
But today, display scanout can be totally different from cable scanout. Not all display use scanout synchronous to scanout on the cable. The original video signal retains it full VSYNC, but digital display panels don't need to treat VSYNC the same way (except as a signal for other purposes, such as "Hello, it's time to begin buffering this new refresh cycle for your custom digital refresh logic." equivalent -- like DLP/Plasma needs to do).
Scanout is still used today on cables because it's a convenient serialization of a 2D image (image) into 1D (wire)
The pictures you see on your monitor comes from (essentially) comes from a single binary stream (sequence of 1's and 0's, at 24 bits per pixel, hundreds of million pixels per second for gaming monitors). Scanout is still important at the cable level as you're rapidly transmitting millions of pixels over a wire, so you're scanning out the image, one pixel at a time. Left to right, then top to bottom, calendar-style fashion. Formerly that was over analog cable. But nowadays today DVI, HDMI, DisplayPort. Still a sequential scanout today. That metaphorical equivalent of a 1930s stream train is still a great 2010s bullet train today. However, when the pixels are finally inside the monitor (e.g. in a buffer), the display doesn't have to display (scanout) the same way as the cable did. It may do a totally different image-painting technique than scanout from GPU over the cable.
...Heck, if cable scanout was slow enough, a mechanical computer monitor could just use robotic crayons or pencils to draw the refresh cycles -- that would be quite the Rube Goldberg display with a very low refresh rate!...
Vertical Blanking Intevals (VBI) -- Including VSYNC -- is in theory obsolete
It stays around because of legacy purposes. In theory, VSYNC could be eliminated from digital display signals, but that eliminates backwards compatibility, and not all electronics are fast enough to instantly begin handling the next refresh cycle immediately after the prior, and not all electronics buffer the refresh cycles either. Yes, it is impressive that a 1930s signal still digitally exists on HDMI and DisplayPort cables. But then "VSYNC OFF" would need to be renamed to "Wait For Next Refresh Cycle = OFF" if we killed VSYNC from all cables and all displays (even if the panel doesn't use VSYNC, it still needs to understand VSYNC coming in on the cable). They still even use VBI for the variable refresh rate technologies (FreeSync, VESA Adaptive-Sync, and HDMI 2.1 VRR -- all virtually identical).
Variable Refresh Rate technologies and VBI: In fact, FreeSync modifies VBI in realtime. It is easily 100% convertible from digital into analog using simple DP/HDMI/DVI-to-VGA adaptors -- and apparently allowing variable refresh rate to sometimes successfully work on certain old analog multisync CRTs in tests. (In theory, nothing prevents VRR on CRT natively -- Vector CRTs were always variable refresh rates -- like the old 1982 Star Wars arcade machines that used line art)
DLP/Plasma Require Scanout Conversion (from original video signal)
Some display technologies need to do this (e.g. plasma, DLP) because they do ultrarapid scanouts of low-resolution pulse-width-modulated pixels at ultrahigh frequencies. For example, plasma subfields (often has very low color resolution -- they look like christmass-tree-sparkly images in high-resolution high speed video) are often refreshed at 600Hz. And DLP projectors use ultra rapid cycling of all tiny mirror pixels on a tiny chips -- that's done by converting the normal 60Hz scanouts (on cable) to an ultra-high-frequency scanout (kilohertz league, 1-bit ON|OFF). The rapid 1-bit flickering (ON/OFF) of each DLP pixel hundreds of times a second is what generates the brilliant 12-bit colors you see today in 4K DLP cinemas today...
Multiple simultaneous scans on OLED is just another form of scanout conversion (from original video signal)
The dual-scan OLED is no different of a "scanout conversion" logic (and even far simpler scanout conversion than plasma/DLP, in fact!), it's simply conversion of the ordinary scanout on the cable to the display's native scanout. Not all display panels need VSYNC (formery used to give CRT electron guns enough time to move back to the beginning of the display -- upper-right corner) and the electronics can completely eliminate VSYNC (zero waits between refresh cycles) or even overlap refresh cycles (like my diagrams).
Some displays use a different scanout direction
Your Samsung Galaxy S8 smartphone uses a bottom-to-top scan. Some iPad models use a left-to-right scan (when held with Home button pointing down) but not all of them. It's also possible that scanout on a display can be different than scanout direction over video cable (scanout conversion logic -- via buffered frames).
The GPU doesn't do anything different -- it keeps delivering the frames to the monitor (with normal VSYNC embedded in the signal on the cable). Display can simply internally convert this all to a different scanout mechanism to achieve specific goals (e.g. making 1-bit DLP pixels create 10-bit color for example)
matteo wrote:1) Electronics is not scanrate limited
Overclock + rolling-scan window height adjustment + slight voltage boost
2) Electronics is scanrate limited
a) Can address 4 rows simultaneously
Double-window rolling-scan (requires extra buffer) + rolling-scan window height adjustment + slight voltage boost
b) Can address 2 rows simultaneously
Double scan without strobing (requires extra buffer) (already having the display always on, no voltage boost here)
Essentially, yep.
matteo wrote:Why are options 2a and 2b only achievable if scanrate is limited?
Sorry about the confusion. It's not limited to that. But you'll prefer to have faster scanouts if you *can* do faster scanouts. Doing scanouts synchronously off the cable can be made essentially laglessly. Display engineers have to do creative work arounds for display panel quirks and limitations.