MixinNetwork / MixinNetwork/flutter-plugins
[desktop_multi_window] Performance degradation with multiple windows – high raster time and low FPS
Nobody has claimed this yet.
- 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
- 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.
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