MixinNetwork / MixinNetwork/flutter-plugins

[desktop_multi_window] Performance degradation with multiple windows – high raster time and low FPS

Open
#408 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

desktop_multi_window
Dominant language
C
Stars
512
Forks
292
Avg merge
15h 8m
Merged PRs (30d)
7

Description

I’m experiencing significant performance degradation (low FPS / high raster time) when rendering multiple windows within the same Flutter process using the desktop_multi_window plugin on Windows.

Each window displays its own content with graphics and/or animations. As the number of open windows increases, overall performance drops substantially – even though system resources (CPU/GPU usage) remain well below 100%.

Interestingly, when launching the same number of windows as separate processes (i.e., multiple instances of the same app), performance remains smooth, suggesting that the issue only occurs when multiple windows are rendered within a single process.

I’ve tried optimizing the application code and rendering logic, which helps slightly, but does not resolve the core problem.

I understand that Flutter's multi-window support is still unofficial and experimental, but based on my tests, the performance issue seems to stem from Flutter's internal architecture rather than from this plugin directly. Nonetheless, I wanted to document the behavior here in case it helps identify workarounds or plugin-level improvements.

Steps to Reproduce

  • Clone the sample code: example code

  • Build and run the project

  • Open multiple windows via the plugin and monitor performance stats

Low FPS/ high raster time:
https://github.com/user-attachments/assets/8aa5d05b-b987-4f61-99e0-9ea8bf5fb7fa

Stable FPS/ low raster time:
https://github.com/user-attachments/assets/3c803c28-544e-4e50-918f-d300ef7bf868

Observed result:
Low FPS / high raster time across all windows

Expected result:
Performance should remain stable as long as system resources are not saturated

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked example under packages/desktop_multi_window/example, build and run it on Windows, then open multiple windows while monitoring FPS and raster time. Compare the single-process behavior with separate app processes and use the results to determine whether a plugin-level improvement or documented workaround is possible.

Written by the indexing model from the issue text.

Assessment

Tech stack
flutter
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.