AboutBlogContact
MobileAugust 10, 2022 2 min read 13

Flutter: Skia vs. Impeller Rendering Engine (2022)

AunimedaAunimeda
📋 Table of Contents

Flutter: The Impeller Revolution

It's 2022, and Flutter has established itself as the king of cross-platform UI. But one issue has persisted: "Shader Compilation Jank." On the first run of an animation, the app would stutter while the GPU compiled the necessary shaders. This is a limitation of the underlying Skia engine. The solution? Impeller.

The Problem with Skia

Skia is an incredibly versatile 2D graphics library, but it was designed for a world where shaders are compiled on the fly. In the mobile world, especially on iOS, this "Just-In-Time" (JIT) compilation causes missed frames.

Enter Impeller

Impeller is a from-scratch rendering engine built specifically for Flutter. Its core philosophy is Ahead-of-Time (AOT) Shader Compilation.

  1. Pre-compiled Shaders: All shaders are compiled into a specialized format at build time, meaning no more stutters during the first animation.
  2. Modern APIs: Impeller is built directly on top of Metal (for iOS) and Vulkan (for Android), bypassing the legacy OpenGL layers that Skia often relied on.
  3. Predictable Performance: By utilizing a fixed set of shaders, Impeller can guarantee frame times in a way that Skia couldn't.

Enabling Impeller in 2022

Currently, Impeller is in early access for iOS. You can enable it by adding a flag to your Info.plist:

<key>FLTEnableImpeller</key>
<true/>

Or by running from the command line:

flutter run --enable-impeller

Architectural Shift

Impeller also changes how Flutter handles layers. It moves away from the complex "Display List" of Skia and towards a simpler "Command Buffer" model that more closely matches how modern GPUs work.

In 2022, Impeller represents Google's commitment to making Flutter feel truly native, matching the smoothness of UIKit and SwiftUI frame-for-frame.

Read Also

iOS Native Performance: Leveraging C++ for Core Logic (2012)aunimeda
Mobile

iOS Native Performance: Leveraging C++ for Core Logic (2012)

In 2012, Objective-C is the standard, but for raw performance, we're looking at C++. Let's explore how to bridge the gap with Objective-C++.

4G LTE: Why Mobile Web is About to Get Faster Than Your Home Connectionaunimeda
Mobile

4G LTE: Why Mobile Web is About to Get Faster Than Your Home Connection

Verizon has just launched the first 4G LTE networks in the US. We're talking 10-20 Mbps on a phone. The 'mobile web' is about to lose the 'mobile' qualifier.

UberCab: Push a Button, Get a Rideaunimeda
Mobile

UberCab: Push a Button, Get a Ride

UberCab is a new service in San Francisco that lets you hail a black car from your iPhone. It's the ultimate 'on-demand' application.

Need IT development for your business?

We build websites, mobile apps and AI solutions. Free consultation.

Get Consultation All articles