Reading a flame graph like a profiler would
Width is time and depth is the call stack. Once those two facts land, most of a trace reads itself.
A flame graph looks intimidating for about four minutes, which is roughly how long it takes to internalise that horizontal means duration and vertical means “called by”.
What to look at, in order
- The widest bar at the top. That is where your time went, whatever the stack beneath it says.
- Anything wider than 50 ms in one block. That is a long task, and it blocks input.
- Repeating shapes. The same silhouette five times in a row is a loop doing work it could do once.



Record on the device, not the emulator
CPU throttling in DevTools approximates a slower processor. It does not approximate a different memory architecture, and that is often where the surprise lives.