First Step in Performance Analysis: Understanding Thread Sequencing
First Step in Performance Analysis: Understanding Thread Sequencing When analyzing the performance of Flutter applications, developers need to capture application traces using profiling tools and analyze these traces. Flutter's rendering process relies on several critical threads. This guide introduces these essential threads and their sequence in the rendering workflow. Analysis Tools Commonly used tools include: DevEco Studio Profiler SmartPerf Recommended Tool: DevEco Studio Profiler For usage instructions, see: DevEco Profiler Tool Introduction Thread Sequence After mastering the profiling tools, you can capture traces of Flutter applications. Traces contain all threads during application runtime. For effective analysis, bookmark and arrange threads in the following order: Bookmarked Threads Explained VSyncGenerator Software Vsync signal generator that provides frame synchronization capabilities. DVSync-app Delivers software Vsync signals to the application. mmi_service Handles multimodal input events triggered by touchscreen interactions. Main Application Thread The primary thread matching the application process ID and name. Hosts platform-level operations and plugin code execution. flutter'PointerEvent' Thread transferring touch events from the main thread to the UI thread for processing. (May not always appear in traces). 1.ui (UI Thread) Executes Dart code in the Dart VM. Processes developer code and framework-generated logic Builds the layer tree (device-independent rendering commands) Transfers layer tree to the raster thread Critical: Never block this thread! Appears at the bottom of performance layers. 1.raster (Raster Thread) Processes the layer tree and communicates with the GPU. Executes Skia graphics library operations Performs rasterization for the GPU (runs on CPU) Appears at the top of performance layers. Note: Slowdowns indicate issues in Dart code logic. DVSync-rs Provides software Vsync signals to the Render Service (RS) process. render_service Main thread of the RS process (first stage of display processing). RSUniRenderThread RS process thread (second stage of display processing). RSHardwareThread RS process thread (third stage of display processing). dpu_gfx_primary Hardware DPU (Display Processing Unit) signal thread.

First Step in Performance Analysis: Understanding Thread Sequencing
When analyzing the performance of Flutter applications, developers need to capture application traces using profiling tools and analyze these traces. Flutter's rendering process relies on several critical threads. This guide introduces these essential threads and their sequence in the rendering workflow.
Analysis Tools
Commonly used tools include:
Recommended Tool: DevEco Studio Profiler
For usage instructions, see:
DevEco Profiler Tool Introduction
Thread Sequence
After mastering the profiling tools, you can capture traces of Flutter applications. Traces contain all threads during application runtime. For effective analysis, bookmark and arrange threads in the following order:
Bookmarked Threads Explained
VSyncGenerator
Software Vsync signal generator that provides frame synchronization capabilities.DVSync-app
Delivers software Vsync signals to the application.mmi_service
Handles multimodal input events triggered by touchscreen interactions.Main Application Thread
The primary thread matching the application process ID and name.
Hosts platform-level operations and plugin code execution.flutter'PointerEvent'
Thread transferring touch events from the main thread to the UI thread for processing.
(May not always appear in traces).-
1.ui (UI Thread)
Executes Dart code in the Dart VM.- Processes developer code and framework-generated logic
- Builds the layer tree (device-independent rendering commands)
- Transfers layer tree to the raster thread Critical: Never block this thread! Appears at the bottom of performance layers.
-
1.raster (Raster Thread)
Processes the layer tree and communicates with the GPU.- Executes Skia graphics library operations
- Performs rasterization for the GPU (runs on CPU)
- Appears at the top of performance layers. Note: Slowdowns indicate issues in Dart code logic.
DVSync-rs
Provides software Vsync signals to the Render Service (RS) process.render_service
Main thread of the RS process (first stage of display processing).RSUniRenderThread
RS process thread (second stage of display processing).RSHardwareThread
RS process thread (third stage of display processing).dpu_gfx_primary
Hardware DPU (Display Processing Unit) signal thread.