> > > 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 _______________________________________________ rhythmbox-devel mailing list rhythmbox-devel@gnome.org http://mail.gnome.org/mailman/listinfo/rhythmbox-devel