> > > 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

Reply via email to