Understanding LCD Screen Tearing Effect

Understanding LCD Screen Tearing

A Visual Guide for Embedded Developers

What is Screen Tearing?

Screen tearing is a visual glitch where a display shows information from multiple frames in a single screen draw. This creates a noticeable horizontal "tear" because the display's memory was updated while it was still being read.

📖 Imagine reading a book while someone tries to swap it for a new one mid-page. You'd read the top of the old page and the bottom of the new one—that's screen tearing.

The Root Cause: A Synchronization Mismatch

An LCD refreshes at a fixed rate (e.g., 60Hz). Tearing happens when the microcontroller writes new frame data during the screen's "Active Display Period" instead of waiting for the safe "V-Blank Interval".

Frame 1 Complete

Display finishes drawing the current frame.


The Conflict Point

MCU writes Frame 2 data while the display is still active, causing a tear.


V-Blank Interval

🛡️

The "safe" period to update the display memory without causing artifacts.

Solutions: Restoring Order

1. The TE Signal (Hardware Handshake)

Many displays provide a Tearing Effect (TE) signal. It sends a pulse to the MCU precisely at the start of the V-Blank interval, effectively saying: "It's safe to write the next frame now!"

Process Flow:

  1. Display finishes drawing a frame.
  2. Display enters V-Blank and sends TE pulse to MCU.
  3. MCU receives TE signal via an interrupt.
  4. MCU starts sending the next frame's data, perfectly synchronized.

2. Double Buffering (The Sync Method)

This robust software method uses two memory buffers. The MCU writes to one (the "back buffer") while the display reads from the other (the "front buffer"). This completely decouples writing from reading.

Process Flow:

Front Buffer

Display Reads 🖼️

Back Buffer

MCU Writes ✍️

🔄

On V-Sync, pointers are swapped!

New Front Buffer

Display Reads 🖼️

New Back Buffer

MCU Writes ✍️

The Ultimate Fix: Combine Both

For the most professional, high-performance graphics, the best strategy is to use both methods together. Implement a double-buffering system and use the TE signal as the precise trigger to swap the front and back buffers. This guarantees a tear-free display under all conditions.

 

Back to blog