Talk:VSYNC vs WAIT/@comment-25827645-20141210012405/@comment-5334617-20141211141507

I've been thinking more on this, and I think I still have to disagree with DiscordStew's sentence:

WAIT pauses a full duration of a frame, starting at whatever scanline the code was executed, and waits until the system returns back to that scanline.

If that were true, then  would not reduce tearing at all.

Say the top 10 scanlines (Y coordinates 0-9 inclusive) have been rendered, and at that moment, there's. As scanlines numbered 10-20 are rendered, that part of the line will appear, but the top part will not, until the next frame.

Say the top 10 scanlines have been rendered, and at that moment, there's, with   behaving as above. Scanines 10 to the bottom of the screen will be rendered without the line while  is waiting, then in the next frame, scanlines 0-9 will be rendered without the line, because the system is still waiting. Then  gets executed at the same phase relative to the frame clock as before and scanlines 10-20 will be rendered with the line. In the end, the tearing is not fixed at all.

Since it can be observed that  does in fact reduce tearing, I respectfully conclude that DiscordStew's sentence is incorrect.