KB KEDBYTE TECHNOLOGIES PRIVATE LIMITED
CHAPTER
8

Pixels, Screens and How You See an Image

Part B · Turning Bits Into Meaning|11,583 words|about 50 min read|Volume 1

8.0 What this chapter gives you#

  1. You will be able to say what light is, and why your eye sees a slice of it.
  2. You will be able to explain why three colours can fake millions.
  3. You will be able to say what a pixel is, and why it is not one dot.
  4. You will be able to work out the PPI of any screen from two numbers.
  5. You will be able to say when extra pixels stop helping.
  6. You will be able to explain how an LCD blocks light and an OLED makes it.
  7. You will be able to describe a framebuffer, its stride and double buffering.
  8. You will be able to do the bandwidth sum for 4K at 60 Hz and 120 Hz.
  9. You will be able to explain tearing, vsync and adaptive sync.
  10. You will be able to explain how a finger becomes two numbers.

Drawing the picture, by the graphics chip, is Chapter 22. This chapter runs from light, through the panel, to the pixels in memory and out to your eye.

8.1 Light and the eye#

PLAIN8.1.1 in simple words#

  1. Light travels as a wave, and the distance from one crest to the next is its wavelength.
  2. Your eye reacts to about 380 to 700 nanometres, a nanometre being a billionth of a metre. Short waves look violet, long waves red.
  3. At the back of the eye sits the retina. Rods work in dim light and report no colour; cones report colour.
  4. You have only three kinds of cone, so every colour you see is your brain comparing three numbers.

PLAIN8.1.2 a picture in your head#

  1. Imagine three people watching one lamp through tinted glasses, one bluish, one greenish, one reddish.
  2. None can name a colour. Each shouts one number: how bright it looks.
  3. Those three numbers are the whole message your brain gets.
  4. So a different lamp giving the same three numbers cannot be told apart.

Where this comparison breaks: the glasses overlap heavily, since green and red cones peak only about 30 nanometres apart, and the retina turns the three numbers into difference signals before they leave the eye.

PLAIN8.1.3 a worked example#

  1. A pure beam at 580 nanometres looks yellow. Red at 630 plus green at 530 on one spot can look identical, though physically they differ.
  2. Below are illustrative cone responses scaled to 100, not measurements.
Light source S cone M cone L cone
Pure 580 nm 0 60 85
630 nm + 530 nm 0 60 85
  1. Two lights matching this way are metamers. Not an illusion: it follows from having only three sensors.

PLAIN8.1.4 what is really happening inside#

  1. A photon strikes a cone, a molecule changes shape, and the cell’s voltage changes. That is the signal.
  2. Whether a photon is caught depends on wavelength, and each cone type has its own catching curve.
  3. Once caught, the wavelength is forgotten. The cell only says “I caught one”. This is univariance.
  4. The retina combines the three into light-dark, red-green and blue-yellow channels.
  5. About 6 million cones feed about 1 million nerve fibres per eye, so heavy compression happens inside the eye.

TECHNICAL8.1.5 the engineer’s version#

  1. The CIE, the international body for light measurement, quotes 380 nm to 780 nm; useful sensitivity is roughly 400 nm to 700 nm.
  2. The honest version: there is no hard edge. Sensitivity falls smoothly, and at high intensity people detect out to about 310 nm and 1100 nm. Any stated boundary is a convention.
Cone Name Peak (nm) Share of cones
S Short wave about 420 about 2%
M Medium about 530 roughly 30%
L Long wave about 560 roughly 65%
  1. The L to M ratio ranges from about 1.1:1 to 16:1 with no difference in colour naming. Rods number 90 to 120 million per retina and cones 6 to 7 million; sources differ, so treat these as approximate.
  2. The CIE 1931 standard observer defines colour matching over 2 degrees, the 1964 supplementary observer over 10. The CIE 1924 photopic curve peaks at 555 nm and the scotopic curve at 507 nm, a shift called the Purkinje effect.
  3. Trichromatic theory came from Thomas Young in 1802 and Hermann von Helmholtz in the 1850s; cone pigments were measured directly only in the 1960s.
  4. Tools: a spectroradiometer measures the full spectral power distribution, while a colorimeter such as an X-Rite i1Display measures only tristimulus values, which is why cheap meters get fooled by new panel types.

WORDS8.1.6 remember these#

  1. Wavelength — how long one wave is — crest-to-crest distance in nanometres.
  2. Retina — the light-sensing sheet in the eye — neural tissue holding the photoreceptors.
  3. Rod — the dim-light cell — scotopic photoreceptor, peak 507 nm, no colour.
  4. Cone — the colour cell — photopic photoreceptor in S, M and L types.
  5. Metamerism — different lights looking identical — distinct spectra, equal tristimulus values.
  6. Tristimulus — three numbers for a colour — CIE X, Y, Z from the standard observer.

8.2 What a pixel actually is#

PLAIN8.2.1 in simple words#

  1. A pixel is the smallest part of a picture the screen controls separately. The word is short for picture element.
  2. It is not one dot but a group of separate lights, called sub-pixels, usually one red, one green and one blue.
  3. Yellow means red on, green on, blue off. White is all on, black is all off.
  4. Your eye cannot separate them, so it blends them into one colour. A pixel is a control unit, not an object you could pick up.

PLAIN8.2.2 a picture in your head#

  1. Think of a stadium crowd holding coloured cards to make a giant picture.
  2. On the pitch you see individual people with red, green and blue cards.
  3. From the far end the people vanish and one smooth image appears. Only your ability to separate the parts changed.
  4. Each block of three neighbours is one pixel.

Where this comparison breaks: cards are up or down, but sub-pixels have hundreds of brightness levels, and in some layouts a pixel borrows a sub-pixel from its neighbour.

PLAIN8.2.3 a worked example#

  1. Look closely at white on a monitor, through a drop of water acting as a lens. You see repeating vertical stripes.
one pixel      one pixel      one pixel
+---+---+---+  +---+---+---+  +---+---+---+
| R | G | B |  | R | G | B |  | R | G | B |
+---+---+---+  +---+---+---+  +---+---+---+
 RGB stripe: 3 sub-pixels per pixel, side by side
  1. A 1920 by 1080 monitor has 2,073,600 pixels, so 6,220,800 driven sub-pixels.
  2. On a 24-inch 1080p panel one pixel is about 0.277 mm wide, so one sub-pixel is about 0.092 mm. Thinner than a hair.

PLAIN8.2.4 what is really happening inside#

  1. Each sub-pixel has its own switch, and drivers set a voltage deciding how much light passes or is emitted.
  2. The three land on the same tiny patch of retina, and your cones add up all light in that patch without reporting where it came from.
  3. Software can exploit this. Lighting only the red sub-pixel puts a sliver of edge one third of a pixel to the left.
  4. That is sub-pixel anti-aliasing. Anti-aliasing means smoothing a jagged staircase edge with in-between brightness levels.
  5. It triples horizontal text accuracy at the cost of faint colour fringes.

TECHNICAL8.2.5 the engineer’s version#

Layout Sub-pixels per pixel Typical use
RGB stripe 3 full Monitors, TVs
RGBW 4, W adds brightness LG WOLED TVs
PenTile RGBG 2 per pixel, shared AMOLED phones
QD-OLED 3 in a triangle Samsung panels
  1. PenTile came from Clairvoyante, founded by Candice Brown Elliott; Samsung bought the intellectual property in 2008 and formed Nouvoyance.
  2. PenTile RGBG uses one red and one blue per two greens, exploiting peak luminance sensitivity near green, so a “2560 by 1440” PenTile panel has fewer than 2560 x 1440 x 3 sub-pixels.
  3. The honest version: makers count PenTile panels by pixel address, not sub-pixel count. Both are defensible; marketing picks the larger.
  4. Sub-pixel rendering was announced by Microsoft as ClearType at COMDEX in
    1. It needs the physical stripe order, so it fails on rotated monitors and on PenTile.
  5. Apple removed it in macOS 10.14 Mojave, September 2018, arguing Retina panels no longer need it. Users on non-Retina external monitors disagreed, and that disagreement is still live.
  6. Fill factor is the pixel area that actually emits or transmits; the rest is transistors, wiring and black matrix. LCDs are typically 50% to 70%.
  7. Tools: a 200x USB microscope resolves sub-pixels, xrandr --verbose reports geometry, and fontconfig’s rgba setting selects the stripe order.

WORDS8.2.6 remember these#

  1. Pixel — the smallest controllable picture part — one addressable sample in the framebuffer and panel matrix.
  2. Sub-pixel — one coloured light inside a pixel — an individually driven cell with its own transistor.
  3. RGB stripe — red, green, blue side by side — the conventional vertical geometry of desktop LCDs.
  4. PenTile — a layout that shares sub-pixels — RGBG or RGBW with under three sub-pixels per address.
  5. Anti-aliasing — smoothing jagged edges — filtering to reduce spatial aliasing.
  6. Fill factor — how much of a pixel lights up — emissive area over total pixel area.

8.3 Resolution and PPI#

PLAIN8.3.1 in simple words#

  1. Resolution is a count. “1920 by 1080” means 1920 columns and 1080 rows, so 2,073,600 pixels. It says nothing about sharpness.
  2. PPI is a density: pixels per inch. It says how tightly packed they are.
  3. A phone and a television can share a resolution and look nothing alike, one packing it into 6 inches and the other over 55.
  4. What decides sharpness is neither alone. It is how big one pixel looks from where you sit.

PLAIN8.3.2 a picture in your head#

  1. Think of a mosaic of square tiles. Resolution is the number of tiles; density is how small each one is.
  2. Nose against the wall, you see every tile edge. Walk back and the edges disappear.
  3. That distance depends on tile size, not on how many tiles the mural has.
  4. A billboard of huge tiles looks perfect from the road and terrible from arm’s length. Nothing about it changed.

Where this comparison breaks: tiles have grout lines and pixels usually do not, and your eye blurs slightly from its own lens imperfections, hiding the grid before your neurons get involved.

PLAIN8.3.3 a worked example#

  1. Take the diagonal in pixels, then divide by the diagonal in inches.
diagonal_px = sqrt(width_px^2 + height_px^2)
PPI         = diagonal_px / diagonal_inches
24 in 1080p : sqrt(1920^2+1080^2)=2202.9 ; /24 = 91.8 PPI
27 in 1440p : sqrt(2560^2+1440^2)=2937.2 ; /27 = 108.8 PPI
6.8 in phone: sqrt(3120^2+1440^2)=3436.3 ; /6.8= 505.3 PPI
  1. Samsung publishes 505 PPI for the Galaxy S24 Ultra, which matches.
Screen Resolution Size PPI
Office monitor 1920 x 1080 24 in 91.8
4K monitor 3840 x 2160 27 in 163.2
4K television 3840 x 2160 55 in 80.1
Galaxy S24 Ultra 3120 x 1440 6.8 in 505.3
  1. The television has four times the pixels of the office monitor and a lower density.

PLAIN8.3.4 what is really happening inside#

  1. Your eye measures angle, not size.
  2. A good eye just separates two lines about one arcminute apart. An arcminute is one sixtieth of a degree, the definition behind 20/20 vision.
  3. So the question is whether one pixel covers less than one arcminute of your view.
  4. Shortcut: the PPI you need is about 3438 divided by viewing distance in inches, so 287 PPI at 12 inches, 143 at 24 inches, 34 at 100 inches.
  5. This is why a 505 PPI phone and an 80 PPI television both look sharp. Each beats the requirement at its own distance.

TECHNICAL8.3.5 the engineer’s version#

  1. Angular density is measured in pixels per degree, PPD. The classical 1 arcminute limit corresponds to 60 PPD.
PPD = PPI * distance_inches * tan(1 degree)
    = PPI * distance_inches * 0.017455
Display PPI Distance PPD
24 in 1080p 91.8 24 in 38.5
27 in 1440p 108.8 24 in 45.6
27 in 4K 163.2 24 in 68.4
Phone at 505 PPI 505.3 12 in 105.8
  1. Apple introduced the term Retina with the iPhone 4 on 7 June 2010: 960 by 640 on 3.5 inches, 326 PPI, claiming 300 PPI at 10 to 12 inches beats the eye’s limit.
  2. Raymond Soneira of DisplayMate argued the limit is nearer 0.6 arcminute, implying about 477 PPI at 12 inches. Others defended 1 arcminute. Experts genuinely disagree, and acuity varies between people.
  3. Ashraf, Chapiro and Mantiuk published in Nature Communications on 27 October 2025 a measured foveal achromatic limit of 94 PPD, individuals reaching 120 PPD, with chromatic limits lower at 89 PPD red-green and 53 PPD yellow-violet. So 60 PPD is a floor, not a ceiling.
  4. PPI is display pixel density; DPI is printer ink dot density. Printer dots are binary, so a 1200 DPI inkjet needs many dots per halftone cell and delivers perhaps 200 to 300 PPI of real detail.
  5. The honest version: software calls display scaling “DPI” anyway. Windows does, and CSS fixes one inch at 96 CSS pixels. That is a convention, not a measurement.
  6. Tools: xdpyinfo | grep resolution on X11, system_profiler SPDisplaysDataType on macOS, and edid-decode for the panel’s physical size.

WORDS8.3.6 remember these#

  1. Resolution — how many pixels — horizontal and vertical sample counts of a raster.
  2. PPI — how tightly packed the pixels are — pixels per linear inch of diagonal.
  3. PPD — how big a pixel looks from where you sit — pixels per degree of visual angle.
  4. Arcminute — one sixtieth of a degree — the unit of visual acuity, the 20/20 reference.
  5. DPI — printer dot density — dots per inch of binary ink, not the same as PPI.
  6. EDID — the panel’s identity card — Extended Display Identification Data, giving size and timings.

8.4 Colour#

PLAIN8.4.1 in simple words#

  1. A screen stores each pixel as three numbers: red, green, blue. Most use 8 bits each, giving 256 levels from 0 for off to 255 for full.
  2. 256 x 256 x 256 = 16,777,216 combinations, the famous 16.7 million colours.
  3. Better screens use 10 bits each, about 1.07 billion combinations. More levels does not mean more colourful; it means smoother steps.
  4. A colour space is a written agreement on exactly which red, green and blue you meant. Without it the same numbers look different everywhere.

PLAIN8.4.2 a picture in your head#

  1. Think of three paint taps, red, green and blue, each with 256 notches.
  2. But “red” only helps if we both own the same tin of red paint.
  3. A colour space is the label on the tin. sRGB is the small tin everybody has, DCI-P3 is bigger and more vivid, Rec.2020 is huge and no consumer screen fully owns it.
  4. Sending sRGB numbers to a P3 screen without saying so is like following a recipe written for another tin. Everything comes out too strong.

Where this comparison breaks: paint mixes by subtracting light and screens by adding it. The notches are also not evenly spaced in brightness, which is the next idea.

PLAIN8.4.3 a worked example#

  1. Mid grey is written 128, 128, 128. You would expect half of white’s brightness. It emits about 21%.
  2. The reason is gamma: light out is roughly (value / 255) to the power 2.2, and 0.502 to the power 2.2 = 0.216.
  3. This is deliberate. Your eye sees differences in dark tones far better than bright ones, so gamma spends the 256 codes where you can see them.
3840 x 2160 pixels           = 8,294,400 pixels
8,294,400 x 3 bytes (24 bpp) = 24,883,200 B = 23.7 MiB
at 60 frames per second      = 1.49 GB per second
at 4 bytes per pixel         = 33,177,600 B = 31.6 MiB
  1. One second of raw 4K at 60 Hz is about 1.5 gigabytes. That is why every video file you have opened is compressed.

PLAIN8.4.4 what is really happening inside#

  1. Each number becomes a voltage on one sub-pixel through a lookup table, because the panel’s own response is not a straight line either.
  2. Gamma appears twice: encoding gamma when the image is stored, decoding gamma at the display. They are meant to cancel.
  3. White point sets what 255, 255, 255 looks like, stated as colour temperature in kelvin. Lower is warmer and oranger, higher is bluer.
  4. If white is wrong, every colour is wrong, because everything is measured relative to white.
  5. HDR changes the deal: instead of “255 is as bright as this screen goes”, a code means an absolute number of candelas per square metre.

TECHNICAL8.4.5 the engineer’s version#

Space Standard Year Note
sRGB IEC 61966-2-1 1999 HP and MS, 1996
Rec.709 ITU-R BT.709 1990 Same primaries
Adobe RGB Adobe de facto 1998 Wider green
DCI-P3 SMPTE RP 431-2 2011 Cinema projection
Rec.2020 ITU-R BT.2020 2012 UHD, very wide
  1. sRGB primaries in CIE 1931 xy: red (0.6400, 0.3300), green (0.3000, 0.6000), blue (0.1500, 0.0600), white D65 at (0.3127, 0.3290), whose nominal correlated colour temperature is 6504 K.
  2. The sRGB transfer function is piecewise, not a pure power law:
if C_srgb <= 0.04045:  C_lin = C_srgb / 12.92
else:                  C_lin = ((C_srgb + 0.055) / 1.055) ^ 2.4
  1. The exponent is 2.4, but the linear toe near black makes the whole curve approximate 2.2. “sRGB gamma is 2.2” is a useful lie, not the specification.
  2. Bit depths give 16,777,216 codes at 8-bit and 1,073,741,824 at 10-bit. Many consumer “10-bit” panels are 8-bit plus frame rate control, which dithers over time.
  3. HDR curves: PQ, standardized as SMPTE ST 2084 in 2014, is absolute and defined to 10,000 cd/m2. HLG, from ARIB STD-B67 and ITU-R BT.2100, is relative and backward compatible with SDR broadcast.
  4. VESA DisplayHDR tiers state peak luminance: 400, 600, 1000, 1400, plus True Black 400, 500 and 600. Marketing claim to distrust: an “HDR” badge with no tier number promises only that the panel accepts an HDR signal.
  5. Tools: ArgyllCMS dispcal and colprof build ICC profiles and dispwin loads them; ColorSync Utility inspects them on macOS.

WORDS8.4.6 remember these#

  1. Colour space — which red you meant — defined primaries, white point and transfer function.
  2. Gamma — the bend between stored number and light — a nonlinear transfer function, nominally 2.2.
  3. White point — the agreed shade of white — a chromaticity coordinate, usually D65 at 6504 K.
  4. Bit depth — how many steps per colour — bits per component, 8, 10 or 12.
  5. Gamut — the colours a screen can hit — the triangle enclosed by the display primaries.
  6. PQ — the HDR curve with absolute brightness — the Perceptual Quantizer of SMPTE ST 2084.

8.5 How a display makes light, part 1: LCD#

PLAIN8.5.1 in simple words#

  1. An LCD does not make light. It blocks light. Behind the screen is a flat lamp that is always on: the backlight.
  2. Liquid crystal flows like a liquid but its molecules line up like a crystal.
  3. A voltage twists or untwists them, so light either passes or is stopped, and a coloured filter then makes it red, green or blue.
  4. Because the lamp is always on, LCD black is a lamp behind a nearly closed shutter. Some light always leaks.

PLAIN8.5.2 a picture in your head#

  1. Picture a window with two polarizing sunglass lenses, one rotated 90 degrees from the other. Together they block almost everything.
  2. Now put a twisting layer between them that can rotate light by 90 degrees.
  3. Twist on: light passes the first lens, is rotated, and lines up with the second. Bright.
  4. Twist off: light passes the first unchanged and is stopped by the second. Dark. That twisting layer is the liquid crystal.

Where this comparison breaks: crossed polarizers reject far more than sunglasses, and the twist is not on or off but varies smoothly, which is how you get 256 grey levels instead of two.

PLAIN8.5.3 a worked example#

  1. Here is the stack, from lamp to eye.
  backlight (LED bar or sheet)
      |
  diffuser + brightness films
      |
  rear polarizer  (passes vertical waves only)
      |
  glass + TFT layer (one transistor per sub-pixel)
      |
  liquid crystal  (twist set by voltage)
      |
  colour filter   (R, G or B dye)
      |
  front polarizer (passes horizontal waves only)
      |
      v  your eye
  1. Blocking is never perfect. A good IPS panel leaks about 1 part in 1000, a contrast ratio near 1000:1, so if white is 300 candelas per square metre, black is about 0.3, not zero.
  2. In a dark room that leak looks dark grey. It is the biggest weakness of LCD.

PLAIN8.5.4 what is really happening inside#

  1. Every sub-pixel has its own thin-film transistor, a TFT, and a small storage capacitor.
  2. The panel is driven one row at a time: a gate line switches on that row’s transistors while source drivers put the right voltage on every column.
  3. Each capacitor holds its voltage until that row comes round again, one frame later. This is active matrix addressing.
  4. The molecules take time to rotate, and that settling time is the panel’s response time.
  5. Drive voltage is reversed in polarity every frame, because constant DC would chemically damage the liquid crystal.
  6. Local dimming attacks black level from behind, splitting the backlight into independently dimmed zones.

TECHNICAL8.5.5 the engineer’s version#

  1. Liquid crystals were discovered by the Austrian botanist Friedrich Reinitzer in 1888 in cholesteryl benzoate; Otto Lehmann named the phase.
  2. George Heilmeier, Louis Zanoni and Lucian Barton at RCA Laboratories demonstrated dynamic scattering in 1964, and RCA announced the first liquid crystal displays in 1968.
  3. The twisted nematic effect was patented by Wolfgang Helfrich and Martin Schadt at Hoffmann-La Roche, filed 4 December 1970 and published in Applied Physics Letters on 15 February 1971. James Fergason filed independently in the United States and the dispute ended in shared royalties.
Type Contrast Response Viewing angle
TN 700-1000:1 fastest poor, 170/160
IPS 1000-1500:1 medium 178/178
VA 2000-5000:1 slowest 178/178
  1. TechSpot’s aggregate measurements across many models give average contrast of about 872:1 for TN, 1037:1 for IPS and 2898:1 for VA.
  2. TN is twisted nematic, IPS in-plane switching, VA vertical alignment. IPS rotates crystals in the panel plane, so off-axis colour shift is small. VA has black crush, IPS has off-angle glow, TN has vertical gamma shift.
  3. Mini-LED shrinks the backlight LEDs so hundreds to thousands of dimming zones fit; high-end 2025 and 2026 monitors quote 1,000 to 5,000 zones.
  4. The limit is blooming. With 2,000 zones on a 3840 by 2160 panel each zone covers about 4,000 pixels, so a white cursor on black lights a halo.
  5. Tools: ddcutil detect and ddcutil getvcp 10 read and set backlight level over DDC/CI.

WORDS8.5.6 remember these#

  1. Backlight — the lamp behind the picture — edge-lit or direct-lit LED array with diffuser films.
  2. Polarizer — a filter passing light waving one way — a film selecting one linear polarization state.
  3. Liquid crystal — a material that twists light under voltage — a nematic phase, field-controlled.
  4. TFT — the tiny switch at each sub-pixel — thin-film transistor in amorphous silicon, LTPS or IGZO.
  5. Contrast ratio — how much brighter white is than black — white luminance over black luminance.
  6. Local dimming — dimming the lamp behind dark parts — zone-wise backlight modulation.

8.6 How a display makes light, part 2: OLED#

PLAIN8.6.1 in simple words#

  1. An OLED has no backlight. Every sub-pixel is its own tiny lamp of organic, meaning carbon-based, material that glows when current flows.
  2. For black, the sub-pixel switches off and emits nothing. That is true black, so contrast is effectively unlimited.
  3. Switching a light on beats rotating a molecule, so OLED reacts far faster than LCD.
  4. The cost is wear. Areas showing the same bright thing for years dim faster than the rest, and that uneven wear is burn-in.

PLAIN8.6.2 a picture in your head#

  1. An LCD is a stage lit by one floodlight, each actor holding a shutter.
  2. An OLED is a stage where every actor carries their own torch, and switches it off to be invisible; on the LCD stage the floodlight still spills.
  3. But every torch has a battery that runs down with use.
  4. An actor lit in the same spot every night grows dimmer, and you see their outline even in dark scenes.

Where this comparison breaks: the sub-pixel does not run out like a battery. It degrades chemically, and blue degrades fastest, so worn areas shift colour as well as dimming.

PLAIN8.6.3 a worked example#

  1. Show full-screen black in a dark room. The LCD shows a faint grey rectangle; the OLED is indistinguishable from the wall.
  2. Contrast ratio: LCD 300 / 0.3 = 1000:1. OLED 300 / 0.0005 = 600,000:1, and instruments often just report infinity.
  3. Now show a small white square at full brightness. The OLED pushes it to 1000 candelas per square metre or more.
  4. Make the square fill the screen and brightness drops sharply, often to a quarter. That is the automatic brightness limiter protecting the panel from heat and current. LCDs do not do this.

PLAIN8.6.4 what is really happening inside#

  1. Each OLED sub-pixel is a sandwich: a cathode, several thin organic layers and a transparent anode.
  2. Current injects electrons from one side and holes, meaning missing electrons, from the other; they meet in the emissive layer and release a photon whose colour depends on that layer’s chemistry.
  3. Brightness follows current, so OLED circuits control current, not voltage. That is a real design difference from LCD.
  4. Lowering current shifts colour slightly, so many phones instead flash the panel on and off very fast and vary how long it stays on. That is PWM, pulse width modulation.
  5. Averaged over time your eye reads that flicker as lower brightness. Some people are sensitive to it and report headaches.
  6. Panels also track use per sub-pixel, quietly boost worn ones, and run pixel refresh cycles when idle.

TECHNICAL8.6.5 the engineer’s version#

  1. The efficient thin-film OLED was demonstrated by Ching Wan Tang and Steven Van Slyke at Eastman Kodak, published as “Organic Electroluminescent Diodes” in Applied Physics Letters volume 51, pages 913 to 915, in 1987. Both entered the National Inventors Hall of Fame in 2018.
Variant How colour is made Typical use
RGB OLED Separate R, G, B Phones, tablets
WOLED White stack + filters LG TVs
QD-OLED Blue stack + QD layer Samsung panels
Tandem Stacked emitter decks 2024+ tablets
  1. QD-OLED uses a blue emitter with quantum dots, nanocrystals that convert blue photons to pure red or green by size, avoiding WOLED’s filter losses.
  2. Tandem OLED stacks two or more emissive units in series, roughly doubling brightness at the same current density; Apple shipped it in the iPad Pro in May 2024.
  3. Micro-LED replaces organics with inorganic LEDs, giving OLED blacks without burn-in. As of 2026 it is confined to very large modular walls and small wearables, because transferring millions of dice remains unsolved at cost. Treat consumer micro-LED as active engineering, not a shipping product.
  4. PWM frequency is an implementation detail: older AMOLED phones used 240 Hz or 480 Hz, while 2024 and 2025 models advertise 1440 Hz, 2160 Hz and 3840 Hz. Whether PWM causes harm is contested: flicker below about 100 Hz has established effects, but evidence above 1000 Hz is weak and mostly self-reported.
Property LCD (IPS/VA) OLED
Black level 0.1-0.3 cd/m2 0.0000 cd/m2
Contrast 1000-5000:1 effectively inf.
Response 1-8 ms 0.03-0.2 ms
Full white holds brightness limiter kicks in
Burn-in risk none real, cumulative
Viewing angle good to poor excellent
  1. Tools: a phone camera at 960 fps is the cheapest PWM detector; an oscilloscope with a photodiode is the correct one.

WORDS8.6.6 remember these#

  1. OLED — a screen where each dot makes its own light — organic light emitting diode, current-driven.
  2. Burn-in — a permanent ghost of an old image — differential luminance degradation, worst in blue.
  3. PWM — flashing fast to look dimmer — pulse width modulation of drive current.
  4. Quantum dot — a nanocrystal that converts colour — emission wavelength set by particle diameter.
  5. ABL — the brightness limiter — automatic brightness limiter, cutting output as lit area grows.
  6. Tandem OLED — two emitter stacks in one pixel — series units sharing a charge generation layer.

8.7 The older ways#

PLAIN8.7.1 in simple words#

  1. Before flat screens there was the cathode ray tube, or CRT: a glass vacuum bottle with a gun firing electrons at a phosphor coating that glows.
  2. Magnets bend the beam so it sweeps in lines, left to right, top to bottom.
  3. Each spot fades fast, so the picture is redrawn many times a second. Colour tubes use three guns and three phosphors.
  4. Plasma screens later used tiny gas cells that glow when excited, and e-ink moves coloured particles and leaves them, holding an image with no power.

PLAIN8.7.2 a picture in your head#

  1. Imagine writing on a wall with a torch whose trail fades in a fraction of a second.
  2. To keep a picture visible you must run the torch over every line again and again, faster than the glow fades.
  3. One sweep across is a scanline; switching off to return to the left edge is horizontal blanking.
  4. Switching off to return to the top is vertical blanking, and complete sweeps per second is the refresh rate.

Where this comparison breaks: flat panels have no beam and nothing fades. They keep the same words and blanking gaps only because every cable, timing standard and driver was written around the sweeping beam.

PLAIN8.7.3 a worked example#

  1. Take VGA: 640 by 480 at 60 Hz. The real signal is 800 by 525, the extra 160 columns and 45 rows being blanking.
  2. 800 x 525 x 60 = 25,200,000, and the published pixel clock is 25.175 MHz.
Field Active Total Blanking
Horizontal (px) 640 800 160
Vertical (lines) 480 525 45
  1. Modern links still carry blanking. Even DisplayPort to an OLED sends those empty periods, though reduced blanking timings shrink them.

PLAIN8.7.4 what is really happening inside#

  1. In a colour CRT a metal sheet full of holes, the shadow mask, sits behind the phosphor so the red gun can only reach red phosphor. It absorbs most of the beam energy, which is why CRTs ran hot.
  2. In a plasma panel each cell holds a noble gas that voltage ionizes into plasma, emitting ultraviolet light.
  3. That ultraviolet strikes phosphor inside the cell, which emits visible red, green or blue. Plasma is an array of tiny fluorescent tubes.
  4. Plasma cells are on or off, so grey comes from switching them many times per frame, which some viewers saw as flicker.
  5. In e-ink each capsule holds white particles with one charge and black ones with the opposite, in clear fluid. Voltage pulls one colour to the top, and removing it leaves them held by friction.
  6. That is bistability, and it is why an e-reader holds a page on a flat battery.

TECHNICAL8.7.5 the engineer’s version#

  1. The cathode ray tube was built by Karl Ferdinand Braun at the University of Strasbourg in 1897, and was long called the Braun tube.
  2. The plasma display panel was invented in 1964 by Donald Bitzer, H. Gene Slottow and Robert Willson at the University of Illinois, for the PLATO education system.
  3. E Ink Corporation was spun out of the MIT Media Lab in 1997 from work by Joseph Jacobson with Barrett Comiskey and J. D. Albert; the founding paper, “An electrophoretic ink for all-printed reflective electronic displays”, appeared in Nature in 1998.
  4. IBM introduced VGA in 1987 with the PS/2 line, fixing 640 by 480 at 60 Hz on a 25.175 MHz pixel clock as a floor that still appears in boot screens.
  5. Vocabulary inherited from CRTs and still in every specification: scanline, horizontal and vertical blanking interval, front porch, back porch, sync pulse, interlacing, overscan.
  6. Overscan is the clearest fossil: CRT televisions drew beyond the visible glass, so many televisions still crop about 2.5% of an HDMI input in 2026 unless you find the 1:1 pixel mapping setting.
  7. Plasma manufacturing ended in the 2010s: Panasonic stopped in 2014, LG and Samsung in 2014 and 2015.
  8. Tools: cvt 1920 1080 60 generates timings including blanking, and xrandr --verbose prints the active modeline.

WORDS8.7.6 remember these#

  1. CRT — the old glass tube screen — deflected electron beam exciting phosphor.
  2. Scanline — one horizontal sweep — one raster row, still the unit of display timing.
  3. Blanking — the gap when nothing is drawn — retrace intervals, now carrying control data.
  4. Phosphor — the powder that glows — a luminescent coating with a decay time.
  5. Bistable — holds its image without power — a display whose two states are both stable.
  6. Overscan — cropping the picture edges — legacy CRT television margin, worth switching off.

8.8 The framebuffer#

PLAIN8.8.1 in simple words#

  1. Before a picture can be shown it must exist as numbers in memory. That block of memory is the framebuffer.
  2. It holds one complete picture, row by row from the top-left corner, each pixel taking a fixed number of bytes, usually four.
  3. So finding any pixel is arithmetic, not searching.
  4. One thing writes into this block and another reads out of it, at different speeds and without agreeing, which causes most of the trouble that follows.

PLAIN8.8.2 a picture in your head#

  1. Think of a long shelf of numbered boxes. The first 1920 are the top row, the next 1920 the second row, and so on.
  2. To find column 100 of row 50, count 50 full rows then 100 more boxes.
  3. Now suppose the shelf is built in sections of 64 boxes and each row must start at a section boundary, leaving a few boxes empty at the end.
  4. Those wasted boxes are padding, and the distance from one row’s start to the next is the stride.

Where this comparison breaks: real memory is not one flat shelf. It has caches, pages and interleaved banks, and the padding exists to line those up, not for tidiness.

PLAIN8.8.3 a worked example#

  1. A tiny image: 5 pixels wide, 3 tall, 4 bytes per pixel. A row of real data is 20 bytes, but rows must start on 32-byte boundaries, so the stride is 32 with 12 bytes of padding.
addr    contents
0x1000  px(0,0) px(1,0) px(2,0) px(3,0) px(4,0)   20 bytes
0x1014  pad pad pad                               12 bytes
0x1020  px(0,1) px(1,1) px(2,1) px(3,1) px(4,1)
0x1034  pad pad pad
0x1040  px(0,2) px(1,2) px(2,2) px(3,2) px(4,2)
0x1054  pad pad pad
total: 3 rows x 32 bytes = 96 bytes
  1. The address formula, and one 32-bit pixel in memory:
addr = base + (y * stride) + (x * bytes_per_pixel);
/* pixel (3,1): 0x1000 + (1*32) + (3*4) = 0x102C */

/* orange, R=255 G=128 B=0 A=255, little-endian BGRA */
/* bytes in memory:  00   80   FF   FF                */
/*                    B    G    R    A                */
/* read as a word:  0xFFFF8000                        */
  1. The byte order in memory is the reverse of the number you would print, a permanent source of bugs.

PLAIN8.8.4 what is really happening inside#

  1. The display controller reads the framebuffer continuously at the rate the panel needs. At 60 Hz it starts a full read every 16.67 milliseconds whether new content exists or not.
  2. If your program writes into the buffer while the controller reads it, the controller sends a mixture of old and new.
  3. On screen that is a horizontal line with one frame above and another below. That is tearing.
  4. The fix is two buffers: the controller reads A while the program writes B, then they swap. That is double buffering.
  5. The swap must happen during vertical blanking, the gap between frames, or you tear anyway.
  6. Triple buffering adds a third so the program can start another frame instead of stalling, at the cost of memory and about one frame of delay.

TECHNICAL8.8.5 the engineer’s version#

Resolution One buffer Triple buffered
1920 x 1080 7.91 MiB 23.7 MiB
2560 x 1440 14.06 MiB 42.2 MiB
3840 x 2160 31.64 MiB 94.9 MiB
7680 x 4320 126.6 MiB 379.7 MiB
  1. Common pixel formats: XRGB8888 and ARGB8888 at 32 bits, RGB565 at 16 bits, XRGB2101010 for 10-bit HDR, and NV12 for 4:2:0 video planes.
  2. Stride, also called pitch, is in bytes and is always at least width times bytes per pixel. Alignment of 64 or 256 bytes is common; some GPUs demand far more.
  3. Modern GPUs rarely store the framebuffer in simple row order. They use tiled or swizzled layouts so a 2D block of pixels lands in one cache line; linear layout is what gets exported for scanout.
  4. The Linux DRM/KMS model exposes this directly: a drm_framebuffer wraps GEM buffer objects, and drmModePageFlip requests a swap at the next vertical blank, returning a DRM_EVENT_FLIP_COMPLETE event.
  5. Legacy interfaces survive: /dev/fb0 with FBIOGET_VSCREENINFO, and on many boards a linear framebuffer set up by UEFI GOP before any driver loads.
  6. Tearing without vsync is not a bug in the strict sense. It is the defined behaviour of an unsynchronized page flip; calling it a bug is a convention of user expectation.
  7. Tools: modetest lists planes, CRTCs and connectors; wayland-info reports buffer formats; sudo fbset -i prints stride and pixel format.

WORDS8.8.6 remember these#

  1. Framebuffer — memory holding one full picture — a pixel buffer scanned out by the display engine.
  2. Stride — bytes from one row start to the next — the row pitch including alignment padding.
  3. Double buffering — draw in one, show the other — front and back buffers swapped by a page flip.
  4. Page flip — the swap itself — changing the scanout base address at vertical blank.
  5. Tearing — two frames visible at once — scanout crossing a mid-frame buffer change.
  6. Vertical blank — the gap between frames — the safe window for atomic updates.

8.9 Getting the picture out#

PLAIN8.9.1 in simple words#

  1. The display controller reads the framebuffer and turns it into a signal, in the same order the old CRT beam moved. That is scanout.
  2. The signal goes down a cable carrying not a picture but a stream of numbers plus timing marks saying “new line here” and “new frame here”.
  3. How much data must flow depends on pixel count, bits per pixel and refreshes per second. Multiply them for the bandwidth.
  4. If that is bigger than the cable can carry, you lower one of the three or squeeze the data.

PLAIN8.9.2 a picture in your head#

  1. Think of a conveyor belt feeding a machine that must never stop.
  2. The belt must deliver at a fixed rate; too slow and the machine stalls, because there is no store to draw on.
  3. Every part is one pixel, and belt speed is bandwidth.
  4. A wider belt is more lanes in the cable, a faster belt is a higher rate per lane, and packing parts tighter is compression.

Where this comparison breaks: the link has a small buffer at the receiving end, and it does stop and restart during blanking and link training. The “never stops” rule is about display timing, not literally the wire.

PLAIN8.9.3 a worked example#

  1. Work out 4K at 60 Hz with 8 bits per colour, then at 120 Hz with 10 bits.
4K60, 8-bit:
  3840 x 2160          = 8,294,400 pixels
  x 60 refreshes       = 497,664,000 pixels/s
  x 24 bits per pixel  = 11.94 Gbit/s

4K120, 10-bit:
  8,294,400 x 120      = 995,328,000 pixels/s
  x 30 bits per pixel  = 29.86 Gbit/s
  1. Those are active pixels only. Blanking adds about 5% with reduced blanking and about 20% with old broadcast timings, so 4K at 60 Hz needs a 594 MHz pixel clock, giving 14.26 Gbit/s on the wire.
  2. HDMI 2.0 has 18 Gbit/s raw, but 8b/10b encoding leaves 14.4 Gbit/s of payload. 14.26 fits, barely. Add 10-bit colour and it does not, which is why early HDR televisions dropped to 4:2:0 chroma.

PLAIN8.9.4 what is really happening inside#

  1. The controller keeps a small FIFO buffer topped up from memory; if memory is too busy the FIFO empties and you see a glitch line, an underrun.
  2. Pixels are serialized: parallel bytes become a fast stream of ones and zeros on a few differential wire pairs.
  3. The encoding scheme adds extra bits so the receiver can recover the clock and detect errors, which is why raw and useful speed differ.
  4. Before any picture flows, the source reads the display’s EDID capability block, then trains the link by trying speeds until one works reliably.
  5. The cable carries pixel lanes, a clock, an auxiliary control channel, hot-plug detect and power, all at once.
  6. If the picture will not fit, DSC is switched on: Display Stream Compression squeezes each line with a fixed small delay and a fixed output size, so timing stays predictable.

TECHNICAL8.9.5 the engineer’s version#

Interface Raw Gbit/s Payload Year
HDMI 2.0 18 14.4 2013
HDMI 2.1 48 42.67 2017
HDMI 2.2 96 85.3 2025
DP 1.4 HBR3 32.4 25.92 2016
DP 2.1 UHBR20 80 77.37 2022
  1. Encoding efficiency explains those pairs. HDMI 2.0 TMDS uses 8b/10b at 80%; HDMI 2.1 and 2.2 use FRL with 16b/18b at 88.9%; DisplayPort to 1.4 uses 8b/10b at 80%, and DisplayPort 2.x uses 128b/132b at about 96.9%.
  2. HDMI 1.0 was released on 9 December 2002 by a founder group including Hitachi, Matsushita, Philips, Silicon Image, Sony, Thomson and Toshiba. DVI 1.0 came from the Digital Display Working Group in April 1999, and DisplayPort 1.0 was approved by VESA in May 2006.
  3. The HDMI Forum released version 2.2 in June 2025 with a new Ultra96 cable category. Important caveat: the higher rates are optional, so an HDMI 2.2 label does not guarantee 96 Gbit/s.
  4. DisplayPort 2.1 was announced on 17 October 2022, and DP 2.1b followed with the DP80LL low-loss cable category, announced alongside HDMI 2.2 in January 2025.
  5. eDP, embedded DisplayPort, is the internal laptop link; version 1.5 was published by VESA in October 2021. Its distinguishing feature is Panel Self Refresh, which lets the source stop sending frames for a static image.
  6. DSC is VESA Display Stream Compression, current version 1.2a: line-based, fixed-rate and low-latency, typically 8 to 12 bits per pixel against a 24 or 30 bit source, so roughly 2:1 to 3:1. VESA calls it visually lossless, verified under ISO/IEC 29170 testing; it is not mathematically lossless, which matters for medical and reference work.
  7. The journey from memory to eye:
 framebuffer in RAM
      |  scanout read, row by row
 display controller (CRTC) -> colour pipeline, gamma LUT
      |
 optional DSC encoder
      |
 serializer -> 4 differential lane pairs + AUX channel
      |
 cable (HDMI / DisplayPort / eDP)
      |
 timing controller (TCON) in the panel
      |
 source and gate drivers -> sub-pixel voltages
      |
 light -> your retina
  1. Tools: xrandr --listmonitors, drm_info and get-edid | parse-edid on Linux; dmesg | grep -i drm reveals link training failures.

WORDS8.9.6 remember these#

  1. Scanout — reading the picture out in order — the display engine’s fixed rate raster read.
  2. Bandwidth — data per second on the link — bits per second, raw or payload after encoding.
  3. TMDS and FRL — the two HDMI signalling schemes — Transition Minimized Differential Signalling and Fixed Rate Link.
  4. DSC — squeezing the picture to fit the cable — VESA Display Stream Compression, fixed-rate.
  5. Link training — the handshake before the picture — negotiating lane count, rate and equalization.
  6. TCON — the chip inside the panel — timing controller driving the row and column drivers.

8.10 Refresh rate, frame rate and smoothness#

PLAIN8.10.1 in simple words#

  1. Refresh rate is how many times a second the screen redraws itself, in hertz. Frame rate is how many new pictures a second your software makes.
  2. These are two different numbers and are usually not equal.
  3. A 60 Hz screen redraws 60 times a second even if a game is stuck at 17 FPS. It just shows the same picture again.
  4. When the two do not line up you get a torn image or uneven motion, and adaptive sync fixes it by letting the screen wait for the software.

PLAIN8.10.2 a picture in your head#

  1. A photographer takes one picture every second, on the second, no matter what. A dancer moves through poses at her own irregular pace.
  2. If she changes pose halfway through a shot, the photo catches half of each. That is tearing.
  3. If she holds some poses for two shots and others for one, the series looks jerky even though every photo is sharp. That is stutter.
  4. Adaptive sync is the photographer agreeing to shoot whenever she settles.

Where this comparison breaks: real adaptive sync works only inside a stated range, such as 48 to 144 Hz, and outside it the display repeats frames instead.

PLAIN8.10.3 a worked example#

  1. A 60 Hz screen has a frame period of 1000 / 60 = 16.67 milliseconds; at 120 Hz it is 8.33 ms, at 240 Hz 4.17 ms.
  2. Suppose a game takes 20 ms per frame, 50 FPS, with vsync on at 60 Hz. It misses the deadline, waits for the next one at 33.3 ms, and the effective rate collapses to 30 FPS.
  3. A 20% overrun caused a 40% drop. That cliff is why vsync feels bad near a game’s limit.
Refresh Frame period Missed deadline
60 Hz 16.67 ms falls to 30 FPS
120 Hz 8.33 ms falls to 60 FPS
144 Hz 6.94 ms falls to 72 FPS
240 Hz 4.17 ms falls to 120 FPS
  1. With adaptive sync the screen simply refreshes at 50 Hz to match, and there is no cliff.

PLAIN8.10.4 what is really happening inside#

  1. Adaptive sync works by stretching the vertical blanking interval, the gap between frames. The display holds the last line and waits.
  2. A panel can only wait so long before its pixels drift, so there is a minimum rate; below it, drivers send the same frame two or three times.
  3. Response time is a panel property: how long a pixel takes to change colour.
  4. Input lag is a system property: the whole time from your action to a change on screen, across device, operating system, engine, queue, cable and panel.
  5. Motion blur on a sample-and-hold display is not slow pixels. It is your eye tracking a moving object while that object sits still on screen for the whole frame period.
  6. That is why black frame insertion and backlight strobing reduce blur: they shorten how long each frame is visible, at the cost of brightness.

TECHNICAL8.10.5 the engineer’s version#

  1. Nvidia announced G-Sync on 18 October 2013, using a proprietary FPGA module inside the monitor in place of the normal scaler; early modules used an Altera Arria V GX FPGA with 768 MB of DDR3L.
  2. VESA added Adaptive-Sync as an optional part of DisplayPort 1.2a in May 2014, and AMD’s FreeSync branding built on it with monitors shipping from 2015. Nvidia began certifying such monitors as “G-Sync Compatible” at CES in January 2019. HDMI added its own variable refresh rate in HDMI 2.1 in 2017, which is the path consoles use.
  3. VESA introduced AdaptiveSync Display certification in 2022, with tested tiers such as AdaptiveSync Display 144, plus MediaSync Display for judder-free video.
  4. Response time reporting is a mess. “1 ms” is usually grey-to-grey with maximum overdrive, measured between the 10% and 90% points, often with visible overshoot. GtG, MPRT and black-to-white numbers are not comparable.
Stage Typical time
USB mouse poll, 1 kHz 1 ms
Render + present queue 5-30 ms
Scanout of full frame frame period
LCD pixel transition 1-8 ms
OLED pixel transition under 0.2 ms
  1. Persistence blur is roughly the frame period times motion speed, a rule of thumb popularized by Blur Busters: an object moving 1000 pixels per second on a 60 Hz sample-and-hold display smears about 16.7 pixels wide.
  2. So 60 Hz to 120 Hz is not mainly “more frames”. It halves persistence blur and halves the worst-case wait for a new frame, both visible in ordinary scrolling.
  3. Tools: vblank_mode=0 and __GL_SYNC_TO_VBLANK=0 disable vsync on Linux; presentmon on Windows measures real present intervals and latency.

WORDS8.10.6 remember these#

  1. Refresh rate — how often the screen redraws — the vertical scan frequency in hertz.
  2. Frame rate — how many pictures the software makes — presents per second.
  3. Vsync — waiting for the screen before swapping — syncing page flips to the vertical blank.
  4. Adaptive sync — the screen waits for the software — variable refresh by extending blanking.
  5. Input lag — total delay from action to picture — end-to-end latency across the whole chain.
  6. Persistence — how long a frame stays lit — hold time of a sample-and-hold display.

8.11 Touchscreens#

PLAIN8.11.1 in simple words#

  1. A touchscreen is a separate sensor on or inside the display. Resistive screens feel a press; capacitive screens feel a conductive object.
  2. A resistive screen is two flexible conductive sheets with a tiny gap: press hard enough and they touch, completing a circuit at that spot.
  3. Resistive works with gloves and pens but needs pressure and reliably senses only one point.
  4. A capacitive screen has an invisible grid of transparent wires that your finger disturbs, needing no pressure and sensing many fingers at once.
  5. A dedicated chip scans the grid many times a second and hands the operating system a list of contact points as coordinates.

PLAIN8.11.2 a picture in your head#

  1. Picture a chessboard with a wire under every row and over every column.
  2. At each crossing the wires are close but not touching, and a small amount of charge passes between them.
  3. Put a finger near one crossing and some of that charge takes a shortcut through your body, so less arrives.
  4. The controller pulses each row in turn, measures every column, and builds a grid of numbers. Wherever the numbers dip, there is a finger.

Where this comparison breaks: your finger is not a hole that swallows charge. It is a conductor tied to a large body acting as a weak ground, and the dip spreads over several crossings, which is what allows sub-cell accuracy.

PLAIN8.11.3 a worked example#

  1. A small 6 by 4 sensor grid reports these values, where higher means more disturbance.
        c0   c1   c2   c3   c4   c5
  r0     0    0    0    0    0    0
  r1     0    2   14   22    6    0
  r2     0    3   28   45   11    0
  r3     0    1   10   16    4    0
  1. The peak is row 2, column 3, value 45, but whole-cell accuracy is far too coarse, so the controller interpolates across row 2: (2 x 28 + 3 x 45 + 4 x 11) / (28 + 45 + 11) = 235 / 84 = 2.80.
  2. If the panel is 1080 pixels wide over 6 columns, each column is 180 pixels, so x = 2.80 x 180 + 90 = 594 pixels. That number, a matching y and a contact identifier are what the operating system receives.

PLAIN8.11.4 what is really happening inside#

  1. The touch controller runs its own scan loop, independent of the display and usually faster, because tracking a fast swipe needs more samples than showing it does.
  2. Each scan gives a raw grid, and the controller subtracts a stored baseline to remove the effect of the case, temperature and water film.
  3. It finds peaks, interpolates centres, and matches each to a contact from the previous frame, so a finger keeps its identifier while it moves.
  4. It rejects blobs that are too large, which is how a phone ignores your palm and your cheek during a call.
  5. Coordinates go to the main processor over I2C or SPI, with a separate interrupt line saying “new data ready”.
  6. The operating system’s input stack turns that stream into gestures: tap, long press, drag, pinch, fling.

TECHNICAL8.11.5 the engineer’s version#

  1. The capacitive touchscreen was described by E. A. Johnson at the Royal Radar Establishment in Malvern, England, in 1965, for air traffic control. Resistive touch came from Samuel Hurst, whose Elographics was founded in
  2. Two capacitive modes exist. Self capacitance measures each electrode against ground, is very sensitive, but ghosts with more than two fingers. Mutual capacitance measures each row-column intersection and is the basis of true multi-touch.
  3. The transparent conductor is traditionally indium tin oxide, ITO; metal mesh and silver nanowire are used on larger and flexible panels because ITO’s sheet resistance scales badly.
Parameter Typical value
Sensor pitch 4 to 5 mm
Scan/report rate 120 to 480 Hz
Capacitance change around 1 picofarad
Host bus I2C or SPI plus IRQ
Reported contacts 5 to 10 simultaneous
  1. High report rates are a measurable latency win: 240 Hz or 480 Hz sampling shortens the sensing step to 4.2 ms or 2.1 ms, though the rest of the pipeline usually dominates.
  2. On Linux, multi-touch reaches userspace through evdev as type B events: ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_X and ABS_MT_POSITION_Y. Windows uses HID digitizer usage pages; Android uses the same evdev events.
  3. In-cell and on-cell integration put the touch electrodes inside or directly on the display stack instead of a separate glass layer, saving thickness and an air gap. In-cell is standard on flagship phones.
  4. Tools: evtest on Linux prints raw touch events live; getevent -lt does the same on Android over adb.

WORDS8.11.6 remember these#

  1. Resistive touch — two sheets pressed together — a voltage-divider scheme needing deflection.
  2. Capacitive touch — sensing a conductive finger — measuring capacitance change on an electrode array.
  3. Mutual capacitance — measuring each crossing — the row-column method enabling multi-touch.
  4. Baseline — the no-touch reference reading — a slowly adapting per-node value.
  5. Report rate — how often touch positions are sent — contact reporting frequency, not panel refresh.
  6. In-cell — touch sensing built into the panel — electrodes integrated in the display stack.

8.12 Scaling and sharpness#

PLAIN8.12.1 in simple words#

  1. Every flat panel has exactly one real pixel grid, its native resolution. Unlike a CRT it cannot change that grid, because it is physical.
  2. Send it a picture of a different size and something must stretch or shrink it. That is scaling, and it always guesses.
  3. One output pixel usually falls between input pixels, so its colour is invented from the neighbours, which is why non-native looks soft.
  4. Doubling exactly is special: each input pixel becomes a clean 2 by 2 block with no guessing, which is why 1080p looks clean on a 4K panel and poor on a 1440p one.

PLAIN8.12.2 a picture in your head#

  1. Think of copying a drawing from squared paper onto paper with differently sized squares.
  2. If the new squares are exactly half the size, each old square becomes four new ones. Perfect copy, no decisions.
  3. If they are 1.33 times smaller, most old squares straddle two new ones and you must decide how to split the colour.
  4. Pick the nearest and you get hard, uneven edges; blend the neighbours and you get smooth but blurry edges. Neither is wrong, because the information was never there.

Where this comparison breaks: real scalers work on gamma-encoded values, so naive averaging darkens the result. Correct scaling converts to linear light first, which many cheap scalers skip.

PLAIN8.12.3 a worked example#

  1. Scale one row of 4 pixels up to 8.
input  index:   0    1    2    3
input  value:  10   20   30   40

nearest  : 10  10   20   20   30   30   40  40
bilinear : 10 12.5 17.5 22.5 27.5 32.5 37.5 40
  1. Nearest keeps original values exactly but shows visible steps; bilinear gives a smooth ramp where no output pixel except the ends matches any original value.
  2. Bicubic uses four neighbours and a smoother curve, sharper than bilinear at the cost of slight overshoot, a faint bright halo beside hard edges.
Method Neighbours used Look
Nearest 1 blocky, exact
Bilinear 2 per axis soft, no halo
Bicubic 4 per axis sharp, mild halo
Lanczos 6 or 8 per axis sharpest, ringing

PLAIN8.12.4 what is really happening inside#

  1. Scaling can happen in three places, and it matters which.
  2. The application can render lower and scale up itself, choosing a good method; the graphics chip can scale during output, fast and usually bilinear; the monitor’s own scaler is often worst and adds lag.
  3. Integer scaling is the case where the ratio is a whole number, so each input pixel becomes an exact block and nothing is invented.
  4. High-DPI operating system scaling is a different problem: not how to stretch an image, but how big to draw the interface in the first place.
  5. The right approach is to tell applications “one logical point is now two physical pixels” and let them draw text and vectors at full detail.
  6. The fallback, for applications that do not understand this, is to let them draw small and stretch the window. That is what a blurry old application on a modern laptop looks like.

TECHNICAL8.12.5 the engineer’s version#

Platform Mechanism Typical factors
macOS Backing scale 1x, 2x
Windows Per-monitor DPI 100% to 350%
GNOME Wayland fractional 100% to 300%
Android Density buckets mdpi to xxxhdpi
  1. Apple’s approach at non-integer settings is to render the desktop at 2x into an offscreen buffer and downscale to the panel. It looks correct and costs memory bandwidth; that is an implementation detail of macOS, not a general rule.
  2. Wayland fractional scaling was standardized with the wp_fractional_scale_v1 protocol, merged in 2022, letting a client render at the exact fractional scale instead of the next integer and down.
  3. Android density buckets are nominal: mdpi is 160 dpi and defines 1 dp equal to 1 px, hdpi 240, xhdpi 320, xxhdpi 480, xxxhdpi 640. Devices are assigned to the nearest bucket, so dp is not a physical unit.
  4. CSS fixes the reference pixel at 1/96 inch, and devicePixelRatio reports the ratio to physical pixels. That specification is why a “1px” border can be 3 physical pixels on a phone.
  5. Scaling should be done in linear light. Scaling gamma-encoded sRGB values directly darkens fine detail, worst on high-contrast text, and many hardware scalers do it wrong for speed.
  6. Reconstruction is moving past fixed filters. Temporal upscalers such as Nvidia DLSS, AMD FSR and Intel XeSS combine previous frames plus motion vectors, and learned variants use neural networks. Established fact: they beat bilinear at equal cost. Active research: removing ghosting and temporal instability. Marketing claim: output indistinguishable from native. Chapter 22 covers this properly.
  7. Tools: xrandr --output DP-1 --scale 1.5x1.5 applies GPU scaling on X11; on Windows, SetProcessDpiAwarenessContext declares whether an application handles scaling itself.

WORDS8.12.6 remember these#

  1. Native resolution — the panel’s real pixel grid — the fixed physical addressable matrix.
  2. Scaling — resizing a picture to fit — resampling to a different sample grid.
  3. Nearest neighbour — copy the closest pixel — zero-order hold resampling, exact but aliased.
  4. Bilinear and bicubic — blend nearby pixels — interpolation over 2 or 4 taps per axis.
  5. Integer scaling — exact whole-number blocks — resampling at 2:1 or 3:1 with no interpolation.
  6. devicePixelRatio — real pixels per logical one — CSS reference pixels against device pixels.

8.98 Common wrong ideas#

  1. Wrong: more pixels always looks better. Right: beyond about 60 pixels per degree at your actual viewing distance, extra pixels cost power, bandwidth and frame time while adding very little you can see. The 2025 Nature Communications figure of 94 PPD raises that ceiling but does not remove it.
  2. Wrong: 4K on a phone matters. Right: at 12 inches you need about 287 PPI to pass the 1 arcminute test, and a 6.8-inch flagship is already over 500 PPI, so 4K at that size mostly costs battery.
  3. Wrong: OLED and LED are different backlights. Right: an “LED TV” is an LCD with an LED backlight, so it has one, while an OLED has no backlight at all because every sub-pixel is its own light source. The names are marketing and they are actively misleading.
  4. Wrong: a bigger screen has better quality. Right: size and quality are independent, and making a panel bigger at the same resolution lowers PPI. What matters is resolution, density, contrast, colour accuracy and viewing distance together.
  5. Wrong: a pixel is a single coloured dot. Right: it is a control unit of two, three or four separately driven sub-pixels, and on PenTile layouts some are shared with the neighbouring pixel.
  6. Wrong: 1 ms response time means no lag. Right: response time is only the pixel transition, while input lag also covers polling, rendering, queueing, scanout and panel processing, usually ten to fifty times larger.
  7. Wrong: a higher refresh rate only matters for games. Right: persistence blur scales with frame period, so 120 Hz makes ordinary text scrolling measurably clearer whatever the application is.
  8. Wrong: HDR means brighter. Right: HDR means code values carry absolute luminance under a defined transfer function. A panel that accepts HDR but peaks at 350 candelas per square metre often looks worse than in standard mode.
  9. Wrong: DSC is lossy so it degrades my picture. Right: it is lossy mathematically and visually lossless under ISO/IEC 29170 testing, a real trade-off for reference work and a non-issue for desktop and gaming use.
  10. Wrong: running below native resolution is like having a smaller monitor. Right: it forces a resampling step that invents pixel values, which is why text goes soft. Only exact integer ratios avoid it.

8.99 Chapter summary in 20 lines#

  1. Light is a wave, and your eye reacts to roughly 380 to 700 nanometres of it, with no hard boundary at either end.
  2. Three cone types peaking near 420, 530 and 560 nanometres reduce every spectrum to three numbers.
  3. Because only three numbers survive, different spectra can look identical. That is metamerism, and it makes RGB screens possible.
  4. A pixel is not a dot. It is a group of separately driven sub-pixels, most often a red, green and blue vertical stripe.
  5. Resolution is a count of pixels; PPI is a density, the diagonal pixel count divided by the diagonal in inches.
  6. Sharpness is decided by angular density: about 60 pixels per degree meets the 1 arcminute limit, and the PPI needed is about 3438 divided by viewing distance in inches.
  7. A 24-inch 1080p panel is 91.8 PPI, a 27-inch 1440p is 108.8 PPI and a 6.8-inch phone is 505 PPI, and all can look correct at their own distances.
  8. Colour is three numbers per pixel: 8 bits each gives 16.7 million combinations, 10 bits each about 1.07 billion.
  9. A colour space such as sRGB, DCI-P3 or Rec.2020 states which exact red, green, blue and white those numbers mean.
  10. Gamma exists because perception is not linear: mid grey code 128 emits about 21% of white, and that is deliberate.
  11. One uncompressed 4K frame at 24 bits per pixel is 23.7 MiB, so 60 per second is about 1.49 GB.
  12. An LCD blocks light from a permanent backlight, so its black is never truly black, and TN, VA and IPS trade speed, contrast and viewing angle.
  13. An OLED emits its own light per sub-pixel, giving true black and very fast transitions, at the cost of burn-in and brightness limiting.
  14. CRTs gave us the vocabulary every modern display standard still uses: scanline, blanking, refresh rate and overscan.
  15. E-ink is bistable: once the pigment particles move, they hold position with no power at all.
  16. A framebuffer stores pixels row by row, and the stride is the byte distance between row starts, including alignment padding.
  17. Double buffering exists because scanout never stops; swapping during the vertical blank is what prevents tearing.
  18. Bandwidth is pixels times bits times refresh rate: 4K at 60 Hz 8-bit is 11.94 Gbit/s and 4K at 120 Hz 10-bit is 29.86 Gbit/s, which is why HDMI 2.1, DisplayPort 2.1 and DSC exist.
  19. Refresh rate and frame rate are separate numbers; vsync couples them harshly, while adaptive sync lets the panel wait for the frame.
  20. Scaling always invents pixel values except at exact integer ratios, which is why non-native resolutions look soft and 1080p is clean on a 4K panel.