Re: [ft-devel] rasterization without sorting

2010-07-20 Thread GRAHAM ASHER
I think using #ifdefs is a good idea for the moment. Also, there are two 
semi-obvious ways to make the optimisation even better, and I want to try to 
implement them:

1. Pre-calculate the width of the array, to avoid calculating it in every call 
to gray_record_cell.

2. (This is the big one). Use a variant of the TCell structure without x and y 
fields, making it half the size; thus twice as many cells can be stored. X and 
y 
can be calculated from the array index inside the new version of gray_sweep.

Graham



- Original Message 
From: Werner LEMBERG w...@gnu.org
To: graham.as...@btinternet.com
Cc: freetype-devel@nongnu.org
Sent: Monday, 19 July, 2010 16:49:20
Subject: Re: [ft-devel] rasterization without sorting


 I have been working on a new way to optimise anti-aliased
 rasterization in FreeType and other similar libraries.

Great!

 I am not completely certain that this is the best way to do things
 for *glyph* rasterization, because glyphs are special cases, being
 in general relatively small, but it speeds up CartoType by about 7%,
 and I believe will speed up FreeType.

Given that David already tried to optimize the AA rasterization, an
improvement of 7% is really impressive.

 I enclose a patch file based on my current version of ftgrays.c,
 which I think is very slightly different from the official version.
 I also enclose ftgrays.c itself, for clarity.  The differences are
 very simple and affect only this one file.

Thanks a lot!  Will have a look the next days.  What do you think
about embedding your changes into #ifdef's temporarily so that anxious
users could deactivate it if they are not in the mood of beta
testing? :-)


Werner


___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] Re: rasterization without sorting

2010-07-20 Thread Werner LEMBERG

 Panic over.  A small modification was needed to the criterion for
 skipping an empty cell.  Both cover and area should be zero.  I
 enclose new versions of the patch and complete file for ftgrays.c.

This looks indeed very straightforward.  However, your patch doesn't
apply to the current version of FreeType's ftgrays.c in a non-trivial
way.  May I ask for an update?


Werner

___
Freetype-devel mailing list
Freetype-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/freetype-devel