3 ms·
> For instance, modern anti-aliased fonts need to be drawn on the client side and sent over as bitmaps. Xft is drawn 100% server side > But they've decided to
by sprash 7y ago
> For instance, modern anti-aliased fonts need to be drawn on the client side and sent over as bitmaps.
Xft is drawn 100% server side
> But they've decided to go in the other direction
They made the wrong decision.
- Jasper_ 7y ago> Xft is drawn 100% server side No, that's blatantly wrong. libXft is a client library that uses the X RENDER extension's Glyphs functionality to upload glyphs rendered by FreeType on the client to the server. Glyph compositing happens on the server, but that's not even Xft; just X RENDER. Again, you can look at libXft, the client-side library, to see that all glyph rendering is client side: https://github.com/freedesktop/libXft/blob/master/src/xftrender.c https://github.com/freedesktop/libXft/blob/master/src/xftren... > They made the wrong decision. GTK+ tries as hard as it can to use the X RENDER extension to draw all shapes server-side. Like, really hard to do that; I couldn't find any place where it was unnecessarily falling back to client rendering. And yet when I looked at how many GTK+ applications were server-rendered, the number was very tiny. This is a complex problem a lot of people have worked on, with lots of non-obvious tradeoffs and the peanut gallery going "we made the wrong decision" is frustrating.
- sprash 7y ago> No, that's blatantly wrong. Not really "blatantly" wrong. Once the Glyps are transmitted to the server cache they can be redrawn infinitely without causing much bandwidth or round trips. The fact that they are not entirely rendered server side is again a totally stupid decision. Now even the same font can look completely different on the same system dependent on which freetype parameters some app developer chooses. Now the fonts for Gtk, Qt, Wx or fltk apps can all look completely different (E.g. use different sub-pixel rendering) if not configured properly. > GTK+ The original GTK+ is not the problem and works actually quiet well. Gtk2.0 and onward as well as any newer QT version are the problem. Gtk2.0 has many replacable rendering engines most of them don't care one bit about remote operation. They are certainly not "trying really hard" to do that.