top of page
FlutterCon_logo.png

21 NOVEMBER, 2026

BANGALORE

FlutterCon_icon_turned.png
Anita_Singh_edited.jpg

( SPEAKER )

Ashil Kandapath

Software Engineer

Ente

I'm a software engineer working primarily with Flutter for 4+ years. Outside of work, I like learning/reading about things and play guitar.

Unconference Roundtable

Millions of Users, Zero Jank: Advanced Performance Profiling

We can no longer blame the rendering engine for dropped frames. With Impeller now the standard, the "shader compilation jank" of the past is gone, yet high-scale production apps still struggle to maintain a consistent 120Hz. The core tension has shifted from the engine to our own architecture: we are building features so complex and data-heavy that we silently overload the UI thread, choke the rasterizer, and blow through frame budgets regardless of how fast the underlying graphics layer is. This roundtable is a "war room" for performance tuning in a post-Impeller world. We will move beyond basic optimization tips and focus on the hard reality of hunting down application-level jank using DevTools and tracing. Bring your toughest performance mysteries.. whether it’s list rendering at scale, main-thread bottlenecks, or custom layout architectures and let’s debate how to achieve true "zero jank" when the default widgets aren't enough.

Session

Rebuilding Ente's Photo Gallery: Prototyping and Profiling Our Way Out of Jank

Ente’s photo gallery is a production Flutter interface that must remain smooth as users’ libraries grow. Its original implementation did not: scrolling became increasingly janky at scale. This talk examines why it failed and how we arrived at the solution that shipped. We built several prototypes, starting with Flutter’s simplest and most maintainable built-in approaches. None met Ente’s performance requirements at scale, so we moved towards more complex solutions. We’ll walk through each prototype in turn, using its benchmarking and profiling results to show where performance broke down and explain the underlying Flutter behaviour. Finally, we’ll unpack the solution: a custom render sliver backed by precomputed gallery geometry. In explaining why it worked, we’ll explore Flutter’s sliver layout protocol. Key takeaways: 1. Reliably benchmark different implementations and identify performance issues using timeline traces in Flutter DevTools’ Performance view. 2. Understand why the built-in lazy-scrolling approaches we tested did not meet Ente’s requirements at scale. 3. Develop an understanding of Flutter’s sliver layout protocol. 4. See how a performance problem in a production app was diagnosed and solved end-to-end.
bottom of page