Re: fp_TextRun coalescing weirdness

From: Tomas Frydrych <tf_at_o-hand.com>
Date: Tue Apr 10 2007 - 12:45:07 CEST

J.M. Maurer wrote:
>> There are some circumstances where runs cannot/will not be merged; those
>> are defined by fp_TextRun::canMergeWithNext() and
>> GR_*RenderInfo::canAppend(); this includes not merging runs past word
>> boundaries,
>
> What is the reason that we do not merge across word boundaries (I'm not
> too much into this area yet)? It sounds not-optimal to me.

The comment near bottom of fp_TextRun::canMeregeWithNext() says it is to
reduce flicker. I do not recall adding that myself though, and am not
sure it should be necessary (it would be good to know where exactly that
flicker was coming from with long runs; there might be a better way of
fixing it). Certainly having a run per word increases the memory
footprint quite a bit (last time I checked fp_TextRun required around
150 bytes).

> BTW, when you paste the whole string in, it will become 1 run.

Yes, when you paste it in, it gets inserted as a single run to start
with, and only gets broken into pieces if GR_Graphics::itemize() tells
us it needs to be broken, or when it runs over the end of the line.

Tomas
Received on Tue Apr 10 12:44:36 2007

This archive was generated by hypermail 2.1.8 : Tue Apr 10 2007 - 12:44:36 CEST