LerpworksAcademy
On this page

Graphics › The frame

The frame budget on the graphics card

Know first: Shader: a function for every pixel, How an engine draws a frame: passes and the G-buffer, LOD, instancing and Nanite: drawing a million blades of grass

Every pass in this course draws on one budget: a few milliseconds per frame. This lesson adds up the bill. It explains why milliseconds measure a frame better than frames per second, and whether the CPU or the graphics card is the one that waits. It also shows where the time and the video memory go, why grass, shadows and transparency cost so much, and how to find the bottleneck instead of guessing. It is the thirteenth and last lesson of the course “How an engine draws a frame.”

Why this matters

Every lesson of the course named a price: shadows are the scene drawn one more time, transparency is layers on top of layers, Lumen is milliseconds in every frame. But prices on their own do not tell you whether the whole frame fits. Without this lesson, several things stay puzzling:

  • why a game stutters even though every setting on its own is “cheap”;
  • why lowering the resolution sometimes saves the frame and sometimes changes nothing;
  • why textures suddenly turn blurry while the graphics card is not even busy;
  • what an artist can do alone, without waiting for a programmer.

Further in the article

  1. Budget: how many milliseconds per frame
  2. Who waits for whom: the CPU and the graphics card
  3. Where the graphics card’s milliseconds go
  4. Video memory
  5. How to find the bottleneck
  6. How an artist can save milliseconds
  7. In engines and Blender
  8. Where it breaks
  9. Connections: the same idea in other fields
  10. Key points
  11. Test yourself