Server side text layout (was Re: [forum] some XFree86 5.0 questions...)

Juliusz Chroboczek forum@XFree86.Org
28 Mar 2003 00:53:24 +0100


AG> We have just posted a paper "Xft2 and STSF: A Side By Side 
AG> Comparison" on our web site: 

AG> http://stsf.sourceforge.net/docs.html

AG> Before we continue with this discussion please take a look 
AG> at it since it addresses a lot of issues we've been talking
AG> about. 

Here's a first reading of the paper.

The paper is structured in three parts.  It starts with a user-level
description of Fontconfig and an extremely summary description of Xft;
I have found this part to be disappointing, and basically a paraphrase
of the docs.  It then describes the STSF architecture; notwithstanding
a few inaccuracies (and even one blank lie) and a very slight tendency
towards marketing vocabulary, I have found this part to be more
satisfactory, and I would recommend it to anyone who wants to get a
readable overview of STSF.

Finally, a third part (``Side by Side comparison'') purports to
compare the two architectures.  It is sometimes incorrect, often
misleading, and shows a very superficial understanding of Xft.

In summary, I think this paper should be removed from the authors'
site and significantly improved before it is published again.

Here are a few more detailed comments.  I am not commenting on the
first part (the user-level description of fontconfig), which I feel
doesn't belong in this paper.

Section II: STSF.

In Section ``Server Side Fonts'', there is the claim that ``Only
Server-side text rendering can exploit features of the graphics
hardware'', followed by a list of features that Xft/RENDER does in
fact exploit.  This paragraph is a blank lie, and should be removed.

The very next paragraph claims that ``The network is falling behind
Moore's law; transmitting bitmaps [...] is a performance
bottleneck''.  This is of course incorrect, as network throughput is
growing faster than Moore's law, and latency is what is falling
behind.  This paragraph makes no sense to me, and should be removed.

Section III: Side by Side Comparison

Paragraph 3: ``STSF font configuration design is based on...''  The
same applies to fontconfig.  This paragraph, by implying this is
specific to STSF, is misleading.

Section ``Client Side and Server Side Fonts''.  ``One clear advantage
of a server side implementation is the ability to use the [...]
hardware.''  This is a repetition of the blank lie pointed out above.

The rest of this section points out that, unlike STSF, FreeType is
currently unable to load renderers dynamically.  By putting it in this
section, the authors successfully give the impression that this
inability is a consequence of the architecture, which is simply not
true.  This paragraph should be removed.

Section ``Technology independence''.  I do not see how any of the
claims made in this section fail to apply to FreeType.  (``The STSF
answer is to define a rich API that allows market preference and
globalization needs to be satisfied.'')

Section ``Current Product Readiness...''  You claim that Render
requires 32-bit pixmaps, which is wrong (you can get away with
external alpha channels, at a cost in performance).  You then claim
that ``Many XFree86 [...] DDX modules do not yet support this [sic]
32-bit pixmaps.''  I may be wrong, but I believe this claim to be
incorrect since XFree86 4.1.0 or so.

Section ``Performance Evaluation'', paragraph 2: on first reading, I
thought the authors were implying that Xft is unable to cache glyphs
between clients on a single server.  This paragraph should be made
clearer: it is only in the case of multiple X servers sharing a common
STSF font server that STSF might be more memory-efficient.  (I
acknowledge that this might be an issue for some of Sun's customers,
but I still claim that this is not a consequence of the choice of
architecture.)

Last two paragraphs of this section: I would like to see the
consequences of round-trips expanded upon