4 min read

Rendering at Scale — Course Map

React decides what the UI should be. This section is about everything after that: getting pixels on screen fast, and keeping them there when the data gets huge.

Read this first. It takes five minutes.


Why this section exists

Most frontend learning stops at the framework: components, state, hooks. That's enough until one of these lands on your desk:

  • "The landing page takes 4 seconds to show anything on mobile."
  • "Typing in the filter box freezes the whole dashboard."
  • "The table has 50,000 rows and scrolling is a slideshow."
  • "We need to plot a million points from a live feed."
  • "Design the frontend for a Figma-style canvas."

None of these are React problems. They're browser problems: how bytes become pixels, what the main thread can do in 16 milliseconds, how many DOM nodes a page can afford, and when to stop using the DOM at all. Senior frontend interviews probe exactly this, because it's what separates someone who uses a framework from someone who can make a product fast.


The one idea behind every chapter

The browser has one main thread that runs your JavaScript, calculates styles, does layout and paints, and it has about 16.7 ms per frame to do all of it if the screen is to update 60 times a second.

Every technique in this section does one of four things:

MoveChapters
Start sooner: get the first pixels out with fewer round trips1 · Critical Rendering Path
Do less per frame: render only what's visible, only what changed4 · Virtualization, 5 · Live Dashboards, 6 · Canvas
Do it elsewhere: move work off the main thread, or onto the GPU3 · Off the Main Thread, 7 · GPU Rendering
Do it in smaller pieces: let input and frames through between chunks2 · Main Thread and Scheduling

Reading order

#ChapterYou'll be able to…
1The Critical Rendering PathRead a waterfall, find what blocks the first paint, and fix LCP with fewer round trips
2The Main Thread and SchedulingExplain the frame budget, find long tasks, and break them up so input stays responsive
3Off the Main ThreadDecide what belongs in a Web Worker, move data cheaply, and render from a worker with OffscreenCanvas
4VirtualizationRender 100,000 rows with a few dozen DOM nodes
5Real-Time Data DashboardsIngest, buffer, downsample and draw a live feed without dropping frames
6Canvas 2D EngineeringBuild a canvas renderer with hit testing, pan/zoom and dirty-rect redraws
7GPU Rendering and Choosing a RendererChoose between DOM, SVG, Canvas and WebGL with numbers, not vibes
8Design DrillsAnswer "design a million-point chart / spreadsheet / infinite canvas" end to end

Chapters 1–3 are the foundation. Read them in order. After that the chapters stand alone.


How this connects to the rest of the site

This section builds on, and links to, the Frontend Engineering chapters rather than repeating them:


How each chapter is built

Every chapter has the same parts, so you know where to look:

  1. A story: a real-feeling failure that shows why the topic matters.
  2. First principles: what the browser is actually doing, with diagrams.
  3. Numbers to remember: the few figures that let you reason on a whiteboard.
  4. A DevTools workflow: how to find the problem in a real app.
  5. Cheat sheet and "Say it in the interview": for revision.

Three chapters include simulations that measure your own browser. Nothing in them is faked: the numbers are real timings from the device you're reading on, so they'll differ between your laptop and your phone. That difference is part of the lesson.