Re: [Rhythmbox-devel] idle rhythmbox



> > Second one is in rhythmdb/rhythmdb.c in the rhythmdb_idle_poll_events,
> > line 2003. When idle it runs the else branch every second. Not sure
> > what it does every second but being the DB it may not be fixable.
>
> This is the hard one. While it is certainly fixable, it's somewhat
> complicated to do so. It's been a while since I looked at it, so I might
> not be remembering exactly, but basically what happens is:

For anyone interested in this, but who wasn't watching the bug we're
using to track this work:  we've replaced the rhythmdb event queue polling
with a mainloop source that dispatches the queued events, and we
wake up the main loop when pushing an event onto the queue.  Since
rhythmdb events aren't all that common, this means rhythmbox is now
completely idle for seconds at a time while nothing is happening.

The next step is to look at some of the longer timeouts (audioscrobbler,
playlist saving, database saving, etc.), eliminating them when
they're unnecessary and using glib's new g_timeout_add_seconds to make
as many of them fire at the same time as possible.

Hi All,

This is nice work :-) Bug here
http://bugzilla.gnome.org/show_bug.cgi?id=399012 for those who haven't
found it.

Any chance of a 0.10.1 release with the current work before it gets
the dependency on glib 2.14?

Pete


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]