F8devel - UI "responsiveness" improvements

Ray Strode halfline at gmail.com
Thu Jun 14 13:27:49 UTC 2007


Hi,

On 6/13/07, David Timms <dtimms at iinet.net.au> wrote:
> I'd like to suggest a goal for future Fedora of ensuring every
> application / task performed with Fedora actually provides user feedback
> at a minimum 1 {one} second interval.
>
> Culprits:
> - anaconda between go-ahead with install and first package installing
> {especially noticeable because the {boring} X screen saver kicks in. You
> then move the mouse to get the screen back - but there is no update to
> the screen for maybe one minute or more.
>
> - pup during an update run with about 30-40 packages. It took nearly an
> hour. Each time an app covered its windows they may not have been
> redrawn for some minutes.
>
> I have no idea what causes these.
The problem is librpm only offers blocking apis.  This means that
these functions can potentially take a long time to run.  While
they're running, the functions for redrawing the window can't run.

So we have a few possible ways to fix this:

1) add new apis to librpm that don't block (I was told this would be very hard)
2) do all librpm work in separate threads (note librpm isn't thread
safe either, so some care has to be taken with this approach)
3) do all work in a separate process from the UI

It turns out we already have a separate process (yum-updatesd) and it
already has code for doing installs/updates, so 3 seems like the best
way forward to me.

There's a bug here about it:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=213820

I don't know what Jeremy/Seth/Paul's opinions are though.

--Ray




More information about the fedora-devel-list mailing list