You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: add dispose() methods and scale body images to prevent VRAM/GTT memory leaks
Add proper resource cleanup in dispose() methods for several widget classes
and scale body images to display size to prevent GPU memory (VRAM/GTT) leaks.
Changes:
- Notification: Add dispose() to clear img, img_app_icon, body_image and
remove pending timeouts. Also clear body_image before setting new paintable.
- Notification: Scale body images to display size instead of loading full
resolution (e.g., 2560x1440 screenshots were using ~11MB GPU memory each,
now use ~120KB when scaled to 200x100 display size).
- MprisPlayer: Add dispose() and enhance before_destroy() to cancel downloads
and clear album_art/background_picture textures. Clear textures before
loading new album art.
- Underlay: Add dispose() to properly unparent children.
- NotificationGroup: Add dispose() to skip/null animations and clear collections.
These fixes address GPU memory accumulation observed when:
- Notifications with large images (screenshots) are shown
- MPRIS players update album art frequently
- Notification groups are expanded/collapsed
The body image scaling fix provides ~100x reduction in GPU memory per image
notification containing large images like screenshots.
0 commit comments