Memory issues with pixbuf management
Since first Lollypop version, I have reports about Lollypop high memory usage.
So I took time to test pixbuf loading and found really strange behaviours:
Here, we are loading a pixbuf and using Gtk.Image.new_from_pixbuf():
- While loading, memory usage goes to 600 Mio
- Floxbox is cleaned at the end and memory usage goes to 30 Mio
Here, we are loading a surface from a pixbuf and using Gtk.Image.new_from_surface():
- While loading, memory usage goes to 900 Mio
- Floxbox is cleaned but memory is not freed
Here, we are loading a surface from a pixbuf and using Gtk.Image.new_from_surface() and signals to load images without freezing UI:
- While loading, memory usage goes to 900 Mio
- Floxbox is cleaned at the end and memory usage goes to 60 Mio
image_from_surface_idle_add.py
Variant of previous one using idle_add() instead of signals:
- While loading, memory usage goes to 600 Mio
- Floxbox is cleaned but memory is not freed
I'm really confused by all this strange behaviours.
Edited by Cédric Bellegarde