Gotta Go Fast (A Performance and Instruments Talk)
summary
Shows how to detect dropped frames with a CADisplayLink and target a 16.7 ms frame budget, then uses Time Profiler and the Core Animation instrument to find root causes. Recommends background JPEG decoding via Core Graphics to eliminate image-decode stalls, and replacing NSDatas with a memcpy lowers an AR effect from 26% → 0.6% of frame work. Advises avoiding cornerRadius and unnecessary alpha/off‑screen rendering, caching IMP function pointers for ~2x faster calls, and preferring C for tight inner loops.
AI-written summary · about
chapters (13)
- 0:00Introduction and setup
- 1:47Why performance matters
- 3:34Main thread and frame drops
- 5:19Detecting dropped frames
- 5:39Time profiler basics
- 9:50Decoding JPEGs in background
- 12:35Common performance bottlenecks
- 14:00Core Animation instrument
- 15:46Avoid unnecessary alpha blending
- 17:10Prevent off-screen rendering
- 19:59Core Animation summary
- 21:01Bonus performance tips
- 25:20Final thoughts and resources
related talks
30mFast but not furious: debugging user interaction performance issues
43mNo More Jank: Escaping the Matrix of Frame Drops
44mFast but not Furious: Debugging User Interaction Performance Issues
58mPanel 3: Performance
28mOptimizing and Profiling UI Performance
30mFast but not furious: debugging user interaction performance issues
49mRendering without lumpy bits
21mWanna get rid of UI Jank?
