KKNDT wrote:Why does the tearline move upward? I think the tearline should move downward when FPS<HZ.
Good catch. One-word correction applied. Even myself made that mistake. (It's been a while, but I suspect I was the one who provided that very specific quote to Jorim about scrolling tearlines)
Yes, for framerate-near-Hz situations during VSYNC OFF, the tearline scrolls downwards for bigger frametimes (lower framerates) and upwards for smaller frametimes (bigger framerates). Easy to confuse bigger/smaller -- sine frametimes are inverse to framerates.
e.g.
The tearline scrolls downwards in a 1-wraparound-every-2-seconds cycle at 143.5fps @ 144Hz (slow scrolling tearline)
The tearline scrolls downwards in a 1-wraparound-every-1-seconds cycle at 143fps @ 144Hz
The tearline scrolls downwards in a 2-wraparound-every-1-seconds cycle at 142fps @ 144Hz
The tearline scrolls downwards in a 3-wraparound-every-1-seconds cycle at 141fps @ 144Hz (faster scrolling tearline)
For framerate < refreshrate, scrolling-tearline is downwards, with wraparounds per second being (refreshrate - framerate).
For framerate > refreshrate, scrolling-tearline is upwards, with wraparounds per second being (framerate - refreshrate).
Assuming frametimes stay very consistent, of course.
The more varying the frametimes are, the more the tearline will jitter/vibrate. The tearline position represents 1 of horizontal scanrate, so if the display signal horizontal scanrate (as seen in CRU) is 135 KHz (135,000 scanlines per second), a frametime variance being delayed 1/135,000th of a second later than average frametime, means a 1 pixel shift downwards in the tearline from the average-frametime predicted location of the tearline.
Needless to say, frametimes are rarely that super-consistent, so a slow-scrolling tearline will usually vibrate quite a bit. Given sufficient frametime variations,
or sufficient difference between framerate-and-refreshrate, the tearline just looks random all over the screen.
It's only when framerate-near-refreshrate (or near a harmonic frequency, e.g. half framerate or double framerate) with fairly consistent frametimes, that you get a noticeably visible scrolling-tearling effect during horizontal motion (strafing, turning, horizontal scrolling, etc).