composite manager thoughts

Allen Akin akin@pobox.com
Mon, 29 Dec 2003 11:25:21 -0800


On Mon, Dec 29, 2003 at 05:34:00PM +1100, Jaymz Julian wrote:
|  --- Allen Akin <akin@pobox.com> wrote:
| > >                                                             ...  For example,
| > > scaling down a window containing text might make the text unpleasant to read
| > > unless the app re-renders with appropriate hinting.  ...
| 
| Well, this is required only *sometimes* - for example, a "desktop scaler" which
| you actually work on (the idea being, to temporarily fit a 2048x2048 desktop
| onto my crappy ass display :-p) would require this ...

I think if the capability were widely available and the image quality
were high enough, we'd find plenty of other uses for it.  For example,
I'd be interested in using scaled-down windows rather than iconified
ones for apps that don't currently have focus.  Might be interesting
to try doing this automatically.

Even if we ignore the hinting question, it might still be worthwhile for
apps to know something about the nature of the transformations being
applied to their windows.  They might want to "greek" small text, or
avoid a time-consuming layout algorithm when the results won't be used,
for example.

One approach to solving this sort of problem is to accept the "universal
programmability" model that is rumored to be under consideration for
Longhorn.  Then the way components pass arbitrary transformation
information to other components is by suppling a GPU program that
performs the transformation or answers queries about it (e.g. provides
derivatives of parametric coords with respect to window coords).

|                                                 ... any effect where
| you are changing the scaling *FAST* would not require this ...

You're probably right, but I'd like to see it both ways.  Temporal
aliasing can be surprisingly annoying.

| (c) just re-render when there is CPU available, but this is fraught with 
| marooning problems if you system is constantly heavily loaded, and is a bad
| idea. 

Incremental rendering can be useful (we're probably all accustomed to
it in our web browsers by now, for example).  But as you say, it needs
to be done carefully.

Allen