[LAD] the future of display/drawing models (Was: Re: [ANN] IR: LV2 Convolution Reverb)

From: Paul Davis <paul@email-addr-hidden>
Date: Tue Feb 22 2011 - 23:38:05 EET

On Tue, Feb 22, 2011 at 3:49 PM, Philipp Überbacher
<hollunder@email-addr-hidden> wrote:

> The rest sounds nice, and it might well be that X has become old, but I
> don't see the big improvement coming up. Windows are called surfaces
> now, can have different shapes and are more flexible, compositing,
> transformations, I got that bit, but I don't see the UI improvement.
> I've seen the demos with shapes flying around the desktop, I've seen
> the conventional compositing window managers and wayland will probably
> do all that and more, but I don't see the improvement in User
> Interfaces.

what its going to do,i think, is two-fold:

1) promote more and more toolkit design that makes everything just a
compositing stack. GTK has already moved significantly in this
direction, but could go a lot further. Qt is in a similar position.
the more this happens, the easier it is to reason and create new GUI
widgets that do cool things, easily and simply, because its all part
of a very simple model: you draw to your surface, it will be
composited onto the screen in ways that you don't have to worry about.
sounds a bit like X ... except that X is explicitly *not* a
compositing model. for a simpler explanation of the kind of thing i
mean, consider the difference in ardour between the main "tracks" area
of the editing window and all the widgets around it. its fundamentally
impossible to implement the tracks with widgets - it uses a "canvas"
object instead which embodies idea like z-axis stacking, transparency
and so forth. but likewise at present it would be a lot of work to
implement all the widgets as canvas "items". now fast forward a few
years, and find a spot where the drawing model for the canvas, the
button widgets, the tree/listviews, for everything *inside* the
program is the same as the model for everything *outside* the program.
drawing a particular "thing" on any other thing becomes identical,
whether the other thing is a "window", a "button", a cell of a
listview, etc, etc.

2) more and more apps able to take advantage of v-blank sync to reduce
computational load due to unnecessary redraws. instead, the whole
system will be a lot like a video-framebuffer version of JACK: the
vblank interrupt arrives. everything with a surface gets a chance to
redraw if it needs to, the surfaces are composited together, and boom,
its on the display. no more guessing how often to redraw stuff, no
more wierd ass hacks to get smooth animation, etc. if you think this
sounds like special effects, i suggest a few minutes playing with a
relevant iPod/iPhone/iPad app where these smooth transformations of
what is on the screen is a central metaphor in how the UI's work.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Wed Feb 23 00:15:05 2011

This archive was generated by hypermail 2.1.8 : Wed Feb 23 2011 - 00:15:05 EET