This repository was archived by the owner on Feb 25, 2025. It is now read-only.
make drain perform cleanup #9004
Closed
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.
If the IO thread gets really busy decoding images, and then suddenly is not so busy for a while (e.g. it decodes a lot of large images that end up getting disposed of, and then there's nothing else for it to do), it can leave GrGLTextures laying around in memory for a while. According to @brianosman this call should fix that, and I'm seeing that it does. Not 100% sure this usage of WeakPtr is safe in Drain - it seems like it might be but hoping one of you will know better.
Should help somewhat with flutter/flutter#32143 but not a full fix. That will probably require some kind of queuing of decoding to try to make us more efficient. We can still run the risk of running out of GPU memory though :(