Which Instrument diagnoses scroll stuttering and dropped frames?

Tests whether you connect UI jank to Instruments data. A strong answer names the Core Animation or Time Profiler instrument, cites frame duration and hitch ratio, and correlates spikes with main-thread work.
WHAT THIS TESTS: This question evaluates whether you can move beyond vague complaints about lag and use Instruments to isolate frame drops to a specific subsystem. The interviewer wants to see that you understand the difference between a symptom, stuttering, and diagnosable signals like hitch ratio, frame duration, and main-thread blocking. Senior engineers are expected to correlate visual jank with quantitative data and know which instrument collects that data without fishing.
A GOOD ANSWER COVERS: First, name the Core Animation instrument or the Time Profiler as the starting point. Second, list concrete data points to inspect: frame duration values that exceed 16.67 milliseconds on a 60 Hertz display, the hitch ratio graph showing how many frames missed their deadline, the FPS counter trend during the scroll, and yellow or red overlays indicating off-screen rendering or blending. Third, explain that you would cross-reference spikes in the Time Profiler with the frame boundaries in the Core Animation track to see if the main thread is blocked by layout, decoding, or synchronous I/O. Fourth, mention checking for memory pressure or heavy autorelease activity if the stutter is intermittent rather than consistent.
COMMON WRONG ANSWERS: Suggesting you add print statements around scrollViewDidScroll to measure time is a red flag because logging itself alters performance and lacks frame-boundary precision. Blaming the system or claiming you would just reduce image sizes without profiling first shows you skip measurement. Another weak pattern is mentioning the Leaks instrument as the primary tool, since memory leaks rarely cause rhythmic frame drops during scrolling. Finally, saying you would look at overall CPU percentage without correlating it to specific frames misses the point entirely.
LIKELY FOLLOW-UPS: The interviewer may ask how you would fix a hitch caused by synchronous image decoding on the main thread, or how you would verify that a fix actually reduced the hitch ratio in a before-and-after Instruments session. They might also probe whether you know the difference between a hitch and a stall, or how 120 Hertz ProMotion displays change your target frame budget to 8.33 milliseconds.
ONE CONCRETE EXAMPLE: Suppose a table view stutters when new rows appear. You record a trace with the Core Animation instrument and see hitch spikes exactly when cells come onscreen. You switch to the Time Profiler, filter for the main thread, and observe that a custom UIImage extension is calling decodedImage on the main queue. Moving that decoding to a background context and using prepareForDisplay reduces the frame duration from 28 milliseconds back under 16.67 milliseconds, which the next Instruments trace confirms by showing a flat hitch graph during fast scrolling.
Read the original → developer.apple.com
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.