Hi Joaquin,

> Indeed, this 100 times factor is quite important, because we end
> calling some fp_Run methods (for each run in each line).  We have
> ~25.6 runs by line, so that means that we call 2560 times some fp_Run
> methods.

I guess your document has the text in it justified? In non-justified text 
we only have 1 run per line if the formatting is consisten across the 
line; in justified text we have two runs per word. I think it should be 
straight forward to improve the hanling of justified text so that in the 
TextRun we would keep a vector of pair of numbers {offset,length} 
which would indicate where in the run chunks of spaces start and 
how long they are, and we could draw then our run in segments, 
advancing the drawing point over the spaces. This would save us lot 
of memory and processing time for justified text, costing only 4 extra 
bytes per textrun in non-justified paragraph.

I am going to look into this particular issue sometime this week.

Tomas

Reply via email to