not to mention all the progress traps capitalism stepped into

  • KubeRoot@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 hours ago

    From my understanding, screen tearing happens when the GPU sends a frame to the screen in the middle of that frame being written to the buffer, which means half of the buffer has the last frame, and half has the new one (citation needed on the exact mechanics). VSync works around this by keeping two (or more) final buffers, making sure there’s always a full buffer ready to send to the screen, and waiting to start rendering another frame until one of the buffers is “free”, having been displayed on the screen.

    This means the phenomenon is different, because the monitor is displaying the image correctly - it’s receiving an image with a tear in it, and faithfully rendering that.

    As a bonus fun fact, Variable Refresh Rate (VRR, also known under marketing terms GSync and FreeSync) is a better way to work around this, it’s basically monitor hardware that can render frames with freer timing (not stuck at a specific refresh rate), and a way for the GPU to send a frame to the monitor when ready instead of a strict schedule, so instead of the GPU waiting for the monitor to be ready, the monitor can wait for the GPU.