Carsten Haitzler (The Rasterman)
raster at rasterman.com
Sat Oct 29 06:52:18 PDT 2005
On Sat, 29 Oct 2005 20:42:48 +1000 Russell Shaw <rjshaw at netspace.net.au>
> I've already tried doing drawing programs with client-side rendering.
> The scrolling and zooming performance is complete and utter crap, just as
> slow as doing all the graphics in gtk.
thats exactly what we're doing and it works like greased lightnign for
everything - except scrolling, as thats currently a complete redraw. but the
infrastruxture is there to detect a blit and turn it into an x-side xcopyarea
when apporpriate. :)
> > opengl is quite "iffy" for 2d - especcially if u want to use textures on
> > pilys for replacements of pixmaps - different ogl implementations will
> > round texture co-ords diddfernly so u may not end up with precisely the
> > same output on every driver - and sometimes the output is less than
> > desireable.
> The only way to get snappy zooming and scrolling in a drawing program
> is to use OpenGL display lists.
we're doing an entire gui for a wm without it - menus, desktop bg (fullscreen),
etc. etc. etc. works like a charm :) and since the drawing layer is vritualised
behind a state graph - it can use opengl, software client-side, xrender, or a
bunch of thoer methods, but to day the one with consistently best quality
rendering, stability, availability, overall speed etc. has been client-side
software. opengl has been a trial at times for stability and correctness
varying from driver to driver. xrender is improving on 1 driver at least. but
we manage a usable ui with all the alpha blending, super & sub-sampled scaling
without gl. gl has its uses but for 2d it's still an ask unless u use tonnes of
extensions and have the lastest & greatest video card. (rectangle textures or
npot texutres as downscaling with rectangular textures sucks quality-wise).
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster at rasterman.com
Tokyo, Japan (東京 日本)
More information about the xorg