Quick answer: Screen tearing happens when frame output isn't synchronized with the display's refresh, so the monitor shows parts of two frames at once. The cause is rendering out of sync with the display refresh, which VSync addresses.

Screen tearing, a visible horizontal line where the image looks split, is a specific rendering artifact with a clear cause and fix. Here's what causes screen tearing.

Why Tearing Happens

Screen tearing occurs when the game updates the frame buffer while the display is in the middle of drawing the screen, so the monitor shows part of one frame and part of the next, with a visible tear where they meet. This happens because the game's frame output isn't synchronized with the display's refresh.

The display refreshes at a fixed rate (say 60Hz), and if the game presents a new frame partway through a refresh, the result is a torn image. Tearing is fundamentally a synchronization problem between rendering and the display, not a bug in your game logic.

Why It's a Sync Problem, Not a Bug

Tearing isn't caused by a defect in your code, it's caused by frame output not aligning with the display refresh. It's most noticeable during fast motion and when the frame rate doesn't match the refresh rate. Understanding it as a sync issue points directly at the fix.

Unlike crashes or logic bugs, tearing is about display timing, so it's addressed with synchronization techniques rather than debugging. Bugnet focuses on crashes and errors; tearing is a rendering-presentation concern you fix with sync settings.

Fixing Screen Tearing

The fix is synchronizing frame output to the display refresh: VSync (vertical synchronization) presents new frames only when the display refreshes, eliminating tearing, though it can add input latency. Adaptive sync technologies (like variable refresh rate) reduce tearing while minimizing latency. Offering a VSync option lets players choose.

So screen tearing is caused by frame output not synchronized with the display's refresh, showing parts of two frames at once, and the fix is VSync or adaptive sync to align frame presentation with the display, trading a little latency for a tear-free image.

Screen tearing happens when frame output isn't synced to the display refresh, showing parts of two frames at once. It's a sync issue, not a logic bug, fixed with VSync or adaptive sync to align presentation with the display.