Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Post by Chief Blur Buster » 08 Jun 2017, 20:04

Editor's Note: This topic was split from original thread "How important is the framerate cap divisibility?"

New thought exercise: Infinite-Framerate VSYNC OFF

VSYNC OFF with infinite framerate would have no tearing at all -- each scanline would be subpixelly skewed relative to the previous. More doable than infinite but still unobtanium -- is 135000 frames per second (minimum) though at 1080p 120Hz, which has a horizontal scanrate of 135KHz.

But we already have scanout skew -- www.testufo.com/scanskew -- so VSYNC OFF infinite framerate would have no more skew than that.

In fact, the skew would cancel-out each other! (Top of scanout skew tilts into motion, and top of VSYNC OFF skews backwards from motion)
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
RealNC
Site Admin
Posts: 3737
Joined: 24 Dec 2013, 18:32
Contact:

Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Post by RealNC » 08 Jun 2017, 23:00

This would give you distorted images. Meaning slanted. Vsync off already does that, but with extremely high frame rates, the image is just smoothly slanted without steps.

I suspect the effect would be similar to shacking jello (when capturing the monitor with a high speed camera.) Not sure what the visible, real-time effect would be. I assume it would be undetectable? (Since 1000FPS right now with simple or very old games has undetectable distortion.)
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Post by Chief Blur Buster » 09 Jun 2017, 12:07

RealNC wrote:This would give you distorted images. Meaning slanted. Vsync off already does that, but with extremely high frame rates, the image is just smoothly slanted without steps.
Images are already distorted on computer monitors even during VSYNC ON due to the scanout skew.

1. Go to http://www.testufo.com/blurtrail in non-strobed mode. Easier to see at 25pps or faster, line thickness 2, and sitting a little further back. Try 60Hz, at 64 pixels per second, to see more extreme scanout skew!
2. Select "Height" -> "Full Screen"
3. The line is slanted due to the scanout
4. Now turn on ULMB (if testing at 100Hz or 120Hz)
5. The line stops slanting due to the global flash

Scanout skew has been with us for a long time -- it's worse at 60Hz -- most people don't notice but it even parallelogramizes window dragging if you drag a window very fast on a 60Hz display -- try dragging a tall-narrow browser window left-right very fast now. You can see the scanout skew in window dragging. Track your eyes on the dragging window while dragging. I still see scanout skew at 120Hz/144Hz -- albiet much more faintly -- switch to 60Hz to see it more visibly.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
RealNC
Site Admin
Posts: 3737
Joined: 24 Dec 2013, 18:32
Contact:

Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Post by RealNC » 09 Jun 2017, 22:04

I don't see it.

I don't get it either :-P Why would there be slanted vertical lines with vsync? Lines are drawn like this with vsync:

Code: Select all

       *             (frame 1)
       *             (frame 1)
       *             (frame 1)
       *             (frame 1)
       *             (frame 1)
       *             (frame 1)
Only a complete frame on every refresh is shown. Without vsync and a 2*Hz frame rate, you get:

Code: Select all

       *             (frame 1)
       *             (frame 1)
       *             (frame 1)
            *        (frame 2)
            *        (frame 2)
            *        (frame 2)
This also represents vsync scanout updates on sample and hold. Not too bad. It's not really slanted, it's two straight lines one above the other.

However, with a very high frame rate (thousands of FPS,) you get:

Code: Select all

       *             (frame 1)
        *            (frame 2)
         *           (frame 3)
          *          (frame 4)
           *         (frame 5)
            *        (frame 6)
Now *that* is slanted, unlike with vsync. And the higher the frame rate and the faster the movements, the more slanted things become.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OFF

Post by Chief Blur Buster » 17 Jun 2017, 15:38

I understand, but let's go back to the original topic first, because scanout skew interacts and cancels-out:
See Scanout Skew on a Computer Monitor:

EDIT: New Instructions

TL;DR: New animation: http://www.testufo.com/scanskew -- view at 60Hz from 2 meters away (6 feet away)

---

Old Full Instructions: See Scanout Skew on a Computer Monitor

--An interesting "optical illusion" effect--

1. Make sure your monitor is in non-strobed mode.
2. Reduce refresh rate to 60Hz (temporarily) as scanout skew is stronger at lower Hz
NOTE: Use non-GSYNC 60Hz as in certain configurations, sometimes 60Hz GSYNC sometimes will scanout at 1/144sec on a 144Hz GSYNC monitor. This is done
3. Load this preconfigured TestUFO Blur Trail test (64ppf 2-pixel-thickness 60Hz version)
4. Go into Full Screen mode. Scanout skew is easier to see in true full screen mode.
5. View the screen from about 2 to 6 feet away (1 to 2 meters away). Further back than usual.
6. TRACK your eyes on the horizontally moving lines.
7. Keep tracking continuously. Flit your eyes back to the left and then track your eyes again. Over and over.
8. While you're doing #6 and #7, if you have good vision, you will notice the scanout skew.
NOTE: VERY IMPORTANT: This trick only works with displays that scans sequentially. It works on most CRT, LCD and OLED. It won't work with plasmas, DLPs, strobe backlight enabled, or global-flash displays. Also, multipass-refresh LCD displays will show far less skew (e.g. 120Hz double-refreshing to simulate 60Hz, will show half-as-much skew). If you suspect your monitor is doing scanout sheninigians, try testing a different display. Even an iPad tablet screen also reveals scanout skew -- but sometimes only in portrait mode for some models and sometimes only in landscape mode for other models, depending on scan direction.

You'll see the scanout skew when tracking your eyes on the moving lines. The top edge of the line is tilting into the motion direction.

______________________

Commentary:
The top tip of the line is roughly 64 pixels further to the right than the bottom tip of the line, during 64 pixel step. The angle of the line is roughly only 2-3 degrees skew at 64 pixels per frame at the 1440p height at 60Hz, so it's not easy to see unless you track your eyes on the moving line. The skew reduces to only 1-2 degrees at 32 pixels per frame.

So RealNC, now, do you see the scanout skew...

Infinite-framerate VSYNC OFF would de-skew the scanout skew, cancelling each other out.
That said, if you stared your eye stationary, the skew would reappear.

This is what will happen:

Situation during VSYNC ON refresh-locked motion
- No skew during stationary gaze in fixed screen position while motion scrolls past
- Scan-out skew during eye tracking exactly on scrolling motion.

Situation of theoretical infinite VSYNC OFF motion:
- Skew during stationary gaze in fixed screen position while motion scrolls past
- No Scan-out skew during eye tracking exactly on scrolling motion.

The two situations swap! Infinite-VSYNC-OFF skew would exactly cancel-out the scanout skew (eye tracking situation). Forward-tilt versus backwards-tilt, cancelling each other out.

Scientific explanation of scanout skew during eye tracking
This is because your eyes are continuously moving from left to right as you track the panning objects (left-to-right motion). If the image is panning at 64 pixels per second, the top edge will be skewed 64 pixels forward. This is because your eyes are in a different position when the display is refreshing the bottom edge than top edge. Your eyes are further to the right when the display has refreshed the bottom. This is why vertical edges will tilt into the motion direction at the top.

Scanout skew was easier to see in old CRT tube days
Scanout skew often happened with fast moving-photographs on a CRT display -- e.g. waving a camera fast while taking a picture of a CRT tube TV. (Or rolling your eyes around fast while watching a CRT TV). When you panned a camera past a CRT, you ended up photographing the scanout skew easily. This still happens with LCDs, but their high-persistence moton-blurs the skew to make the skew less noticeable in photographs. This doesn't happen with strobed backlights since strobe backlights are global-flash rather than scanline-flash (electron beam dot painting the scanlines, one line at a time). That said, scanout skew is still alive and well in LCD days.

This assumes realtime-scanout displays (e.g. displays that scan at the same speed as cable -- as GPU scanout one pixel row at a time over the cable). In this situation of infinite VSYNC OFF skew -- the VSYNC OFF is simply giving a new 1-pixel-tall tearslice correctly time-based-corrected for current exact time of scanout; being accurate for the current eye-track position. I did some napkin mathematics, and it all checks out.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OF

Post by Chief Blur Buster » 17 Jun 2017, 21:15

If it's still hard to see, I'll make some minor modifications to the test to make it easier to automatically recognize the correct speeds needed for specific displays. The TestUFO Blur Trail was not originally designed to reveal scanout skew (especially at default settings), but it's the best case so far (when speeding it up to near max, and when thickening line a bit, 2 pixel).

Scanout skew is an advanced topic but it is also in a scientific paper too, Page 5 of http://www.poynton.com/PDFs/Motion_portrayal.pdf .... It's much more visible on impulsed displays (flicker displays like CRTs at low Hz (50/60) and old LED marquees) but it's still there on LCDs too (skew is so slight that it is easily hidden underneath the motion blur).
scanskew.png
scanskew.png (32.19 KiB) Viewed 9565 times
As you can see, scanout skew.

For this one in the paper, this is a bottom-to-top scan with right-to-left eye tracking. Many old LED marquees scanned upwards, and text often scrolled towards the left.

That said:
top-to-bottom scan, left-to-right eye tracking: Skews to right at top (TestUFO situation)
top-to-bottom scan, right-to-left eye tracking: Skews to left at top

And:
bottom-to-top scan, left-to-right eye tracking: Skews to left at top
bottom-to-top scan, right-to-left eye tracking: Skews to right at top

...Now back to the relation to the thought exercise: Infinite VSYNC OFF will tilt backwards. They would cancel out the scanout skew.
Which to my brain, is fully logical, since eye-tracking position stays in sync with gametime position (which would be perfectly superfresh every scanline).

Now, even "finite-but-high" framerate (e.g. 1000fps) VSYNC OFF produces a sawtooth effect (skewing but still averages vertically perfect). This is more visible with CRT 1000fps VSYNC OFF -- on tube monitor -- during fast horizontal motion at low 50Hz or 60Hz CRT scanrates during really fast horizontal motionspeeds. While the same paper doesn't cover the "VSYNC OFF versus scanout" sawtoothing, the paper also covers "multiscanning" artifacts which creates the same sawtooth artifact too:
Untitled.png
Untitled.png (14.57 KiB) Viewed 9560 times
[RealWorld] You can see this sawtooth VSYNC+scanout "competing skew" during bright vertical edges in FPS on a CRT (60Hz + 1000fps) during really fast horziontal flicks while trying to eye-track perfectly vertical edges (dark wall edge on bright background). The higher the framerate (e.g. 2000fps Quake), the shorter the scanned persistence while bright (e.g. a bright CRT) at low Hz, the easier to see the sawtooth skew effect of the competing skew/antiskew of scanout skew versus VSYNC OFF.

[RealWorld] Even in the sawtooth, it is still cancelling each other out (As the tearline 'resets' it back to the horizontal, eye-tracking-wise), but only at intervals (locations of tearline) during the scanout. Creating the sawtooth effect. 1000fps at 60Hz on a CRT would be sawtooth vertical edges in FPS shooters (vertical average is straight, but skews between tearlines). Too much motion blur on LCDs to easily notice "VSYNC OFF versus scanout" sawtoothing artifact. And global-flash strobing (blur reduction) would disables the skewing.

[Napkin Exercise] Now, once it's infinite framerate, each shift is perfectly aligned with eye tracking position there's no sawtooth anymore as it finally perfectly balances each other out at every scan line. The currently scanned line of the output stays in sync with eye tracking.

[RealWorld] Scanout skew is so minor that we don't see it in everyday use, but it's there, with a ~2-3 degree skew during 64 pixels per frame (ppf) at 1440p 60Hz (about 3840pps) via www.testufo.com/scanskew -> View at 60Hz from 2 meters away. And often falls to about 1 degree skew at 120/144Hz -- I can still see it if I pay attention. Only well-constructed motion tests can make scanout skew visible on modern LCD monitors -- but once done in a properly formed motion test -- from a specific (unusual) viewing distance -- it's fairly easy to see.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OF

Post by Chief Blur Buster » 17 Jun 2017, 23:20

Update:

Blur Trail at 128 pixels per frame is much more noticeable skew (4-5 degrees tilt) at 60Hz -- but I have to stand 4 meters away to see the skew, it's very hard to eye-track anywhere closer.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Glide
Posts: 280
Joined: 24 Mar 2015, 20:33

Re: Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OF

Post by Glide » 18 Jun 2017, 01:31

Chief Blur Buster wrote: [RealWorld] Scanout skew is so minor that we don't see it in everyday use, but it's there, with a ~2-3 degree skew during 64 pixels per frame (ppf) at 1440p 60Hz (about 3840pps) via this animation -> Height -> "Full Screen" -> View at 60Hz from 2 meters away. And often falls to about 1 degree skew at 120/144Hz -- I can still see it if I pay attention. Only well-constructed motion tests can make scanout skew visible on modern LCD monitors -- but once done in a properly formed motion test -- from a specific (unusual) viewing distance -- it's fairly easy to see.
I notice it all the time in everyday use.
Just drag a window sideways on the Windows desktop or scroll a web page on an iPad and it's extremely obvious.

Perhaps something changes when the framerate is "unlimited" but I always found skew to be significantly more noticeable in games running at several-hundred/thousand FPS at 60Hz with V-Sync off, so I'm not convinced that they cancel out.

Globally updated displays seem like the real solution to this problem, though that means higher latency.

User avatar
RealNC
Site Admin
Posts: 3737
Joined: 24 Dec 2013, 18:32
Contact:

Re: Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OF

Post by RealNC » 18 Jun 2017, 06:30

Yeah, I see it. Very clearly even. It's weirding me out now that I never noticed anything like that before. :P

In fact, I can see tearing (almost - sort of.) If I don't follow the lines but stare at a fixed spot, I can see the lines being drawn top to bottom... I can see that even at 120Hz. It's even easier to see with 1 pixel wide lines (they appear much sharper compared to 2 pixels and it's easier to see them "cut through" the black background top to bottom.)

Congratulations, Chief. You just ruined displays for me :mrgreen: (Only half-kidding. I hope I can "unsee" this again for regular use :lol:)
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Science: Scanout Skew -vs- Skew of Infinite-fps VSYNC OF

Post by Chief Blur Buster » 18 Jun 2017, 12:57

Glide wrote:Globally updated displays seem like the real solution to this problem, though that means higher latency.
Yes -- fast scrolling during sideways scan (e.g. rotated tablets). In certain orientations where you're getting sideways scanning (sometimes portrait, sometimes landscape, model-specific) -- fast iPad scrolling (on the 60Hz iPads) will show text lines skewing upwards/downwards. Assuming your iPad is flick-scrolling at full framerate, you can even see the skew gradually decrease as the scrolling momentum fades away.

Yes, the way globally updated displays are done today is they buffer the frame (...creating lag...) and then prepare the frame. Frames can't be instantly transmitted between the computer and the monitor, it takes time to transmit a refresh cycle over the cable. So if the display wants to display the frame faster than it can be transmitted, it has to buffer the frame first. Only scanning can truly be done in realtime (e.g. scanning a pixel row while the pixel row is being transmitted over the cable, one pixel row at a time).

Also, strobed backlight LCDs are refreshed in darkness (LCD pixel transitions occurs unseen, on a darkened panel) -- and then at the end of refresh cycle, the global backlight flash is the update seen by the eyes. With this, scanout skew is gone (for both stationary gaze & eye tracking).

Now for other globally updated displays such as DLP/plasma, they behave as global update displays but they actually use multiple high-speed refresh cycles per refresh -- temporal dithering. Whether as dithered plasma subfields or as dithered 1-bit DLP frames -- DLP/plasma -- they are basically both high-speed low-color-resolution multiple refresh sub-cycles per refresh cycle flipped rapidly one after the other at ultrahigh refresh rates. DLP and plasma do it somewhat differently, but they both use variants of temporal dithering techniques to create color. In high speed video macro close-ups, it looks like pulse-width modulation of each pixel separately -- "christmas lights" noise effect in high-speed-video closeups of darker shades can look remarkably similar for both plasma and DLP (for dark colors) -- the modulation differences of DLP/plasma becomes more apparent during brighter color shades because of plasma's phosphor and ability to keep it more continuously illuminated during brighter shades. For a 600Hz plasma, the subfields are essentially scanned out 600 times a second -- with the pulsed subfields ramping up to a bright image. DLP does it differently (they are binary-only, and they don't need to ramp up) but they also use temporal dithering techniques to create true color.

Regardless, these global-updates is simply a necessity of these specific technologies, requiring scan-conversion (buffering & adding a bit of lag) from the regular top-to-bottom scan of a video cable (which CRT/LCD/OLED can synchronously take advantage of to reduce lag).

On the iPad Mini 4th generation, and the iPad Air 2, the scanout skew is very visible when fast-flick-scrolling at full frame rate. Browser text skew appears in landscape mode; these particular models use sideways-scan (scanning along the long dimension of the screen).

Scanout skew shows up in web browser smooth-scrolling in portrait (vertical mode) for desktop monitors too! Especially more visible at lower refresh rates.

On my ASUS PG278Q in 60Hz mode if I rotate monitor into portrait mode, and use arrow key scrolling in FireFox on tall Wikipedia pages. At FireFox's default keyboard smooth scrolling speed, the lines of text skews about 1-2 degrees with the computer monitor in portrait mode. Very fast constant-speed smooth scrolling brings out visibility of scanout skew.
RealNC wrote:Yeah, I see it. Very clearly even. It's weirding me out now that I never noticed anything like that before. :P
Just don't drag your windows very fast sideways while simultaneously tracking eyes on the dragged window.

Assuming your mouse pollrate is good (1000Hz+), you will be seeing parallelograms for the rest of your life.

Wink. ;)
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply