I'm trying to understand what causes screen tearing. Suppose that a monitor could update every single one of its pixels instantaneously. Then I imagine refreshes would work like this:
- A monitor decides its going to start a refresh
- It looks at whatever frame the GPU is currently sending it.
- It, atomically, updates all pixels instantaneously.
With this kind of procedure, it seems like it should be completely impossible to get screen tearing, ignoring refresh rates and FPS entirely. Only a single image is drawn at a given time.
Now I know this isn't how CRT monitors work with their scanning gun (or whatever it's called). But I was under the impression that newer monitor technologies didn't work like this. Do they actually update pixels gradually, and not at once?