Written by Rioting_Pacifist the 18 Mar 08 at 22:11.
Category: System.
Related project:
Nothing/Others.
Status: New
Rationale
Most users will only notice how responsive what they're doing is, by renicing the active window, ubuntu will seam faster and more responsive.
usage cases.
Bob has decided to update his amarok colection/update his system/install a large program/compile a large program/backup his system, as this is going to take some time on his old system, he switches to Firefox to waste some time.
*obviously some users wont want this so it should be easy to disable
**for bonus points do clever stuff with the processes that the window is relying on.
If Bob is smart enough to compile a large program he's smart enough to renice.
I think using sane nice values for processes in the first place is a better overall approach. Amarok should update at a low priority, for example.
Also, in your example, IO is as likely as anything else to be the limiting factor in most of those activities. Should we give higher IO priority to foreground apps?
If I'm, say, rendering something on one desktop (ie. something processor intensive that doesn't need any knowledge of the system, including renice) and I decide I want to listen to some music whilst I wait then I don't want Amarok to build the collection at a low priority at all.
The point of this idea is that the focus gets the priority, since that is a sensible way of determining what the user's priority is. Assigning sensible defaults is of course important, but every application can have a for scenario and an against sceario. For example, daily cron jobs would seem like a good candidate for having low priority, but the other night I had to wait until the APT commands run by cron had finished before I could install any packages and thus carry on with the development I was doing which required those packages.