Skip to main content
added 595 characters in body
Source Link
Kevin Reid
  • 1.3k
  • 1
  • 7
  • 10

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 computervideo card is configuration information like the monitor's supported resolutions and refresh rates, 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.

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 computer is configuration information like the monitor's supported resolutions, and independent communication such as USB carried over the same cable.


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.

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, 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.

Source Link
Kevin Reid
  • 1.3k
  • 1
  • 7
  • 10

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 computer is configuration information like the monitor's supported resolutions, and independent communication such as USB carried over the same cable.


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.