Skip to content

A Windows application made with Flutter that uses fvp has abnormally high CPU and memory usage. #296

Description

@modai07

Previously, I developed a Windows application using Tauri 2, which utilized the native WebView2 for video playback. When playing the same video, its CPU usage ranged from 0% to 1% and memory usage was 200MB.

When opening this video with PotPlayer, the CPU usage was also 0% and the memory usage was 180MB.

However, when integrating fvp with Flutter to play the same video, the CPU usage reaches 18% and the memory usage is 400MB.

I haven’t manually configured to disable hardware acceleration (and I don’t think this issue is related to hardware acceleration).

I wonder if other developers have encountered the same situation? Is this the case on your end too?

Activity

  1. wang-bin commented on Sep 27, 2025

    @wang-bin
    Owner

    follow issue template. show me your log. I guess it's a flutter performance issue, the performance is poor compared to native applications and some other gui toolkit, for example Qt

  2. modai07 commented on Sep 27, 2025

    @modai07
    Author

    Additional Overhead in Flutter's Rendering Pipeline
    Native Player (e.g., PotPlayer/MPC-HC):

    Video decoding → GPU directly renders to the window (hardware acceleration + zero-copy).
    Almost no CPU involvement in frame processing.
    Flutter + fvp:

    Video decoding → Decoded frames are converted into a texture that Flutter can render (possibly involving CPU for format conversion).
    Flutter then uses Skia (default) or Impeller to draw the texture onto the window.
    This process introduces at least one additional memory copy and GPU/CPU synchronization, which incurs extra CPU usage and memory consumption, especially for high-resolution videos (1080p/4K).

  3. wang-bin commented on Sep 27, 2025

    @wang-bin
    Owner

    all steps from decoder to renderer are on gpu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions