eli5: how does vga, dvi,hdmi, displayport,usb control each pixel of a monitor if the cable doesn’t seem to have a wire for each and every pixel?



eli5: how does vga, dvi,hdmi, displayport,usb control each pixel of a monitor if the cable doesn’t seem to have a wire for each and every pixel?

In: Technology

The cable is carrying a mostly serial signal…it’s not sending data for every pixel at once, it’s sending one or several pixels at a time (but so fast that the monitor can draw the whole display 60+ times per second).

It’s like how we can read a novel despite only looking at one page at a time…we read the pages in sequence and then we have the whole novel.

They sent every pixel information one after another. That is why if you film an very old tv you can see the screen building. [here is a slow mo video with a good explanation](https://youtu.be/3BJU2drrtCM)

I’ll skip VGA as it’s analog.

The particulars vary by protocol, but really – DVI/HDMI and DisplayPort just sends things over a data stream. You don’t need an individual pin for every piece of data you’re sending, just like you don’t need a pin on an ethernet cable for each one-way network session you’ve got open – it’s just encoded in a way that gets you the resolution you need, at the refresh rate you need. HDMI 2.0 has a max bandwidth of 18Gbps (~1,800,000,000,000 bits/sec)- That’s plenty of bandwidth to send say, 8,294,400 pixels (3840×2160) at 60hz and a color depth that results in 48 bits/pixel.

There’s more to it and the bandwidth used is a lot higher, but that’s the oversimplified version.

There are two techniques in use. Firstly the screen contains a big serial to parallel converter. This is a device that is as long as there are pixels in a row with multiple latches one after the other. The input is connected to the first latch and when the input signal goes low it sends a signal to the latches to pass the value in it on to the next latch. When the signal gets to the end there is a V-sync signal from the source which tells all the latches to output it signal on its own line. This way one input signal turns to hundreds of output signals.

Each of these is again connected to every pixel in a column. There are similar wires for each row. But a pixel only lights up if its row and column wire is powered. First only the top row is powered. When the V-sync signal is sent the first row is powered off and the next row is powered on. It does this all the way down when the input sends an H-sync signal to reset it to the first row again.

I am of course simplifying things a bit here. For color you need to do all this three times. Detecting the sync signals is also a topic on its own. The signal is also not digital so you can actually get the multiple color gradients. Different screen technology need different types of signal as well. And so on. What I describe is pretty accurate for VGA, you even have separate V-sync and H-sync wires. DVI and HDMI is the same standard with different connectors and is a digital form of VGA but other then that the signaling is the same, except that all the sync signals is put together on one single line. DisplayPort and USB on the other hand use more traditional packet systems to deliver the data which then involves a lot of data processing to turn it into what is basically a VGA signal for the display itself.

What we see as smooth animation on a monitor is typically the screen redrawing itself about 60 times per second. 1/60th of a second is enough time for modern electronics to send an entire screen’s worth of data pixel-by-pixel over a single pair of wires. One of the other wires on the connector is a “clock” signal whereby the computer tells the monitor the moment it’s about to send the data.

Think of the pixels like a really long string of Christmas lights. They’re all connected to each other, so when they’re “plugged into the wall” they all light up.

They form a square because they’re essentially one loooooong line of Christmas lights that someone walked all across their yard so it looked like the entire yard was lit up. (But it’s just one long string.)