Hybrid Composition++ (HCPP): Zero-Jank Native Android Platform Views in Flutter 3.44+
Understanding HCPP, Vulkan SurfaceControl compositing, and how it solves touch latency and frame drops when embedding native Android views.
Published on • October 24, 2026
RedLineSoft Team

Embedding native Android views — such as Google Maps, native web views (WebViewWidget), ad banners, or native camera previews — inside a Flutter widget tree has historically involved performance trade-offs.
With the introduction of Hybrid Composition++ (HCPP) in Flutter 3.44, the Flutter engine completely modernized Android platform view rendering. HCPP leverages Vulkan SurfaceControl compositing to eliminate frame drops, input latency, and memory copying.
The Evolution of Android Platform Views in Flutter
To understand why HCPP is a major milestone, let’s review previous compositing models:
- Virtual Display (Legacy): Rendered the Android view into an off-screen graphics buffer and converted it into a GL texture. It suffered from touch event latency and keyboard focus issues.
- Original Hybrid Composition (HC): Placed the native Android
Viewon top of Flutter’sFlutterView, splitting Flutter’s canvas into multiple sub-layers. While fixing touch events, it forced heavy GPU layer synchronization, causing frame drops during rapid scrolling. - Texture Layer Hybrid Composition (TLHC): Used hardware image readers, but required copying frame buffers between OpenGL and Vulkan hardware contexts.
TLHC (Old): Android View ---> HardwareBuffer Copy ---> GL/Vulkan Texture ---> Flutter Canvas (Copy Overhead)
HCPP (New): Android View ====================> Vulkan SurfaceControl ====================> Direct Display
How Hybrid Composition++ (HCPP) Works
HCPP leverages low-level Android SurfaceControl APIs available in modern Android versions (Android 10+ and Vulkan hardware layers):
- Zero Memory Copying: The native Android view renders directly to a system
SurfaceControllayer hardware buffer managed by the Android system compositor (SurfaceFlinger). - Synchronized Compositing: Flutter’s Impeller rendering engine submits frame sync transaction tokens directly to
SurfaceControl. Flutter widgets can overlap, clip, transform, and animate on top of native Android views with zero jank. - Flawless Touch & Focus Handling: Touch gestures and soft keyboard interactions pass directly to the native Android View hierarchy without artificial conversion wrappers.
Enabling HCPP in Your Flutter Project
HCPP is enabled automatically by default in Flutter 3.44+ when running on Android devices with Vulkan support and Impeller enabled.
To embed a native Android platform view in Flutter using standard APIs:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
Widget buildNativeAndroidView() {
const String viewType = 'com.example.hybrid_view';
return const AndroidView(
viewType: viewType,
layoutDirection: TextDirection.ltr,
creationParams: <String, dynamic>{'theme': 'dark'},
creationParamsCodec: StandardMessageCodec(),
);
}
Summary
Hybrid Composition++ (HCPP) brings Android platform view performance to native parity, allowing developers to integrate native Android components seamlessly inside Flutter.