Session

Beyond Skia: Deep-Dive GPU Scheduling and Profiling with Impeller on Android 10+

With Flutter’s definitive transition to the Impeller rendering engine, the ecosystem has achieved a predictable, ahead-of-time (AOT) shader-compiled execution model. However, hitting a rock-solid, fluid 120fps on modern high-refresh-rate Android devices requires engineers to shift how they diagnose, isolate, and fix rendering bottlenecks.

This session bypasses high-level UI paradigms to dissect exactly how Impeller interacts with the modern Vulkan graphics API on Android 10+ (API 29+). We will dive into how Impeller schedules GPU pipelines, uses modern tessellation to break vector paths into fast-rendering triangles, and manages explicit command buffers to prevent frame drops under heavy stress loads.

we will intentionally thrash a real-time graphics canvas and step through deep-dive profiling.

Attendees will learn how to parse advanced Flutter DevTools Timeline traces, interpret Android Systrace/Perfetto metrics, and engineer surgical UI optimizations—such as precise repaint boundary isolation and layer complexity reduction—to confidently ship enterprise-grade mobile experiences.

Key Takeaways:
- Demystifying the Engine: Understand the architectural differences between Skia’s JIT shader compilation and Impeller’s AOT pipeline mechanics on Vulkan.
- Low-Level Profiling: Master advanced Flutter DevTools and Android Systrace to read frame-budget allocations (~4ms UI / ~4ms Raster thread).
- Taming Custom Painters: Learn code patterns that maximize Impeller's pre-compiled rendering pathways, avoiding expensive canvas operations like saveLayer().

Collins Munene

Software and Cloud Engineer

Nairobi, Kenya

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top