<p>In the typical case, the video card transmits <em>all</em> of the data in the image <em>every frame</em> (every refresh).</p>
<p>In the early days of television technology, it was impossible to do anything else; the display did not have any memory with which to store an entire frame. The incoming signal was turned directly into CRT phosphor excitation. With modern electronics, there is storage, but it is still practical to design the transmission this way.</p>
<p>Why? If nothing else, it must be <em>possible</em> for the monitor to receive a completely different image every time it refreshes. If it were not, then video recordings and video games could not display whatever they wanted; they would have to take into account what fits into the connection. The only thing transferring partial images would offer is a small amount of energy efficiency.</p>
<hr />
<p>Also, the video transmission is <strong>unidirectional</strong>. It does not consist of a request to fetch bytes from some memory, followed by a response containing those bytes; instead, the data is just sent, and the monitor must handle it as it arrives. This has several technical advantages:</p>
<ul>
<li><p>No requirement for high-performance bidirectional links (wiring, transmitters, and receivers); only one direction needs to be high-bandwidth and low-latency.</p>
</li>
<li><p>No latency from waiting for responses to requests.</p>
</li>
<li><p>Video signals can be split — sent to multiple displays or other devices (recorders, converters, etc.). A bidirectional protocol would need a much more complex intermediate buffer device.</p>
</li>
</ul>
<p>The small amount of information that is carried from the monitor back to the video card is configuration information like <a href="https://en.wikipedia.org/wiki/Extended_Display_Identification_Data" rel="noreferrer">the monitor's supported resolutions and refresh rates</a>, and independent communication such as USB carried over the same cable.</p>
<p>The video card receives that configuration information and communicates it to the operating system, which then selects a supported resolution and refresh rate (or lets the user pick) as well as other parameters of the video signal format. This process normally ensures that the monitor receives a signal that it is capable of displaying. If that communication does not succeed (for example, if there is a bug, or if a video splitter is in use with two monitors or receiving divices of different capabilities), then the monitor might display garbage or an error message.</p>
<hr />
<p>So:</p>
<blockquote>
<p>Do monitors directly read from a GPU provided framebuffer, or do monitors have a internal framebuffer that the GPU updates each frame?</p>
</blockquote>
<p>Modern monitors have an internal framebuffer, which the video card updates each frame.</p>
<blockquote>
<p>Is always the entire Buffer updated or just changed Areas?</p>
</blockquote>
<p>The entire buffer.</p>
<blockquote>
<p>how this entire process incooperates Swapchains(with Back and Front Buffers)</p>
</blockquote>
<p>Swapchains are entirely internal to the GPU; the monitor knows nothing about them. They control which framebuffer memory the GPU reads to produce the video signal carried on the cable, but that video signal contains no information about the swapchain.</p>

CC BY-SA 4.0
2023-06-05T17:20:17.097Z
How does the Monitor and the GPU synchronize thier refresh rates, i know there is Free Sync and GSync but i am curious for the case that there is none present
Schrottiy
CC BY-SA 4.0
2023-06-05T18:35:30.853Z
@Schrottiy Ah, that is handled together with the resolution. I've added a paragraph discussing how that works. (Unfortunately I don't know much about FreeSync/GSync — but I am confident that they must be similarly unidirectional. At a high level perspective, the only change would be that the video cable is left idle (no data) for arbitrary periods, and the monitor would then refresh the physical display panel on a schedule controlled by the actual video data timing rather than expecting any consistent timing.)
Kevin Reid
CC BY-SA 4.0
2024-05-25T09:05:50.580Z
@kevin Reid .. i want to add some more question to this..
If the screenshot of image displayed on monitor screen, then does it take only framebuffer data? does the framebuffer data is independent of display screen properties like contrast, brightness? or how much dependency of screen properties is their on framebuffer data? i am asking about the modern LCD/LED monitors.
Techie
CC BY-SA 4.0
2023-06-05T15:19:00.727Z
2023-06-05T18:32:18.773Z
2023-06-05T18:32:18.773Z
Kevin Reid
<p>I know that this Topic is highly Hardware dependent, so i am asking for the case that a monitor is connected to a GPU or motherboard via. Displayport/HDMI</p>
<p>I would like to know is how the monitor is updated.</p>
<p>Do monitors directly read from a GPU provided framebuffer, or do monitors have a internal framebuffer that the GPU updates each frame? Is always the entire Buffer updated or just changed Areas? or something different?</p>
<p>Another thing that i am interested in is how this entire process incooperates Swapchains(with Back and Front Buffers) for example in Windows DXGI?</p>

<buffers>
How does the Communication between Monitor and GPU work?
Schrottiy
# How does the Communication between Monitor and GPU work?

(Asked by: username_0 on 2023-06-05)

I know that this Topic is highly Hardware dependent, so i am asking for the case that a monitor is connected to a GPU or motherboard via. Displayport/HDMI

I would like to know is how the monitor is updated.

Do monitors directly read from a GPU provided framebuffer, or do monitors have a internal framebuffer that the GPU updates each frame? Is always the entire Buffer updated or just changed Areas? or something different?

Another thing that i am interested in is how this entire process incooperates Swapchains(with Back and Front Buffers) for example in Windows DXGI?

**Tags:** buffers


---

## 1 answers

### Answer by username_1 on 2023-06-05. Score: 5 | Accepted answer

In the typical case, the video card transmits *all* of the data in the image *every frame* (every refresh).

In the early days of television technology, it was impossible to do anything else; the display did not have any memory with which to store an entire frame. The incoming signal was turned directly into CRT phosphor excitation. With modern electronics, there is storage, but it is still practical to design the transmission this way.

Why? If nothing else, it must be *possible* for the monitor to receive a completely different image every time it refreshes. If it were not, then video recordings and video games could not display whatever they wanted; they would have to take into account what fits into the connection. The only thing transferring partial images would offer is a small amount of energy efficiency.

---

Also, the video transmission is **unidirectional**. It does not consist of a request to fetch bytes from some memory, followed by a response containing those bytes; instead, the data is just sent, and the monitor must handle it as it arrives. This has several technical advantages:

* No requirement for high-performance bidirectional links (wiring, transmitters, and receivers); only one direction needs to be high-bandwidth and low-latency.
* No latency from waiting for responses to requests.
* Video signals can be split — sent to multiple displays or other devices (recorders, converters, etc.). A bidirectional protocol would need a much more complex intermediate buffer device.

The small amount of information that is carried from the monitor back to the video card is configuration information like [the monitor's supported resolutions and refresh rates](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data), and independent communication such as USB carried over the same cable.

The video card receives that configuration information and communicates it to the operating system, which then selects a supported resolution and refresh rate (or lets the user pick) as well as other parameters of the video signal format. This process normally ensures that the monitor receives a signal that it is capable of displaying. If that communication does not succeed (for example, if there is a bug, or if a video splitter is in use with two monitors or receiving divices of different capabilities), then the monitor might display garbage or an error message.

---

So:

> Do monitors directly read from a GPU provided framebuffer, or do monitors have a internal framebuffer that the GPU updates each frame?

Modern monitors have an internal framebuffer, which the video card updates each frame.

> Is always the entire Buffer updated or just changed Areas?

The entire buffer.

> how this entire process incooperates Swapchains(with Back and Front Buffers)

Swapchains are entirely internal to the GPU; the monitor knows nothing about them. They control which framebuffer memory the GPU reads to produce the video signal carried on the cable, but that video signal contains no information about the swapchain.

> **Comments:**
> **username_0**: How does the Monitor and the GPU synchronize thier refresh rates, i know there is Free Sync and GSync but i am curious for the case that there is none present  
> **username_1**: @username_0 Ah, that is handled together with the resolution. I've added a paragraph discussing how that works. (Unfortunately I don't know much about FreeSync/GSync — but I am confident that they must be similarly unidirectional. At a high level perspective, the only change would be that the video cable is left idle (no data) for arbitrary periods, and the monitor would then refresh the physical display panel on a schedule controlled by the actual video data timing rather than expecting any consistent timing.)  
> **username_2**: @username_1 username_1 .. i want to add some more question to this.. If the screenshot of image displayed on monitor screen, then does it take only framebuffer data? does the framebuffer data is independent of display screen properties like contrast, brightness? or how much dependency of screen properties is their on framebuffer data? i am asking about the modern LCD/LED monitors.  

---

