Fix: Resolved memory growth from native resources and Linux window placement#72
Open
malumar wants to merge 3 commits into
Open
Fix: Resolved memory growth from native resources and Linux window placement#72malumar wants to merge 3 commits into
malumar wants to merge 3 commits into
Conversation
… Linux window frame placement for unreliable window decoration metrics. Add deterministic per-frame cleanup for transient Skia-backed objects ( Paint , Path , Shader , TextBlob ), which previously caused ongoing memory growth during ProgressBar indeterminate animation and normal application use. Also fix frame extent math and add Linux window-decoration fallbacks for environments such as KDE (Fedora) where GLFW may report decoration sizes incorrectly or not at all. decoration sizes incorrectly or not at all.
…rol and ignore it
Owner
|
Thanks for the PR. I'll take a look when I get some spare time (in very short supply lately, due to a series of family emergencies this year). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi Richard,
I’ve been exploring Unison and I’m really impressed with the project! However, I’ve noticed a significant memory leak when running example applications on Linux.
1. Resolved Memory Growth during Redraw
I identified and fixed a steady increase in RAM usage caused by high-frequency creation of native Skia-backed objects.
Paint,Path,Shader, andTextBlobwrappers were not being released fast enough by the Go GC.Canvasand explicitly disposed of immediately afterFlush().2. Fixed Linux Window Placement
Addressed an issue where decorated windows (specifically on Fedora KDE) were positioned incorrectly.
cmd/windowbar/main.goto verify correct title-bar placement.I've documented the technical details and the list of affected files in the
changes.mdfile included in this PR.All tests passed on my end, and memory usage is now stable during heavy redraws (e.g., indeterminate ProgressBar).