[desktop_multi_window] Performance degradation with multiple windows – high raster time and low FPS
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 32/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- flutter
- Domain
- desktop, performance
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.
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
- Dominant language
- C
- Stars
- 512
- Forks
- 292
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 2
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MixinNetwork/flutter-plugins
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
MixinNetwork/flutter-plugins#413 · 8 reactions ·
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
MixinNetwork/flutter-plugins#401 · 2 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
MixinNetwork/flutter-plugins#504 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 76/100
MixinNetwork/flutter-plugins#502 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 76/100
MixinNetwork/flutter-plugins#497 ·
All issues in MixinNetwork/flutter-plugins
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
ClickHouse/pg_clickhouse#383 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
johnsonjh/emu2-cpm86#68 · 1 comment ·
Maintainers usually reply within 1 day
-
Zenmap CrashOpenZenmap
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
BasedHardware/omi#19306 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
fastfetch-cli/fastfetch#2619 ·
Maintainers usually reply within 1 day