Michel Dänzer wrote: >> On Tue, Feb 2, 2010 at 6:18 AM, Russell Shaw <[email protected]> wrote: >>> Hi, >>> Is remote execution of X clients away from the X server still regarded >>> as a design goal, or does everyone just develop for client applications >>> that only run on or close to the X server machine? >>> >>> With a unicode text widget, every time a character is entered, the >>> line or paragraph(s) need to be moved and/or reshaped. This can mean >>> sending a few largish bitmaps for every key press. Other toolkits >>> may add new polygon tesselated glyphs to the XRender cache: >>> >>> http://www.keithp.com/~keithp/talks/usenix2001/ >>> http://cgit.freedesktop.org/xorg/proto/renderproto/plain/renderproto.txt >>> >>> With a cursive font, all the cursive glyphs on a line could compress >>> when the line is close to full, but before the need for a linebreak. >>> That would stress out the cache advantage of XRender. Another problem >>> with XRender is that it's computationally expensive for small systems >>> without polygon hardware.
> On Tue, 2010-02-02 at 23:33 -0800, Corbin Simpson wrote: >> In theory, sure, but I don't think I've ever seen anybody actually >> have any problems with this. In my experience the glyph cache is >> actually too big sometimes; when doing 3D drivers, if I accidentally >> clobber my cache, I need to go open up a character map and scroll >> through a dozen fonts to clear it. > That's the EXA glyph cache pixmap, whereas Russell was presumably > referring to the generic RENDER mechanism of the X server caching glyph > data uploaded by the clients (which is currently done by storing each > cached glyph in a pixmap of its own). I agree with others though that > his concern seems rather hypothetical. Hi, I was referring to the generic RENDER mechanism. I'd think there wouldn't be many reports of latency problems, because there's probably few users that use cursive fonts on a remote connection further than a local LAN. Xrender may be able to avoid the problem of compressing and expanding glyphs by applying a simple transform to the glyph polygons it has cached. "Arbitrary affine transformations" are mentioned in http://www.keithp.com/~keithp/talks/usenix2001/xrender Another efficient way to cache arbitrary glyphs in the server is to upload them as line and parabola segments as they are stored in opentype font files. It is simple to compress or expand them before rendering in the Xserver. Polygons are not needed. This would be more agreeable to low-end hardware. It would certainly be an easier extension to understand. With even the smallest of network latency, i'd think the speed required to software render a sub-pixel positioned and antialiased glyph would be insignificant. _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
