summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2021-08-25 23:18:43 +0000
committerAlexei Podtelezhnikov <apodtele@gmail.com>2021-08-25 23:18:43 +0000
commit686e2a5eb38b00b6eda2070228e42b7101ee2ce1 (patch)
treefcf6194c9c953f041edb08439fd92aa9b14b1831
parentf7f9cb0dde4a09bcac365313721b87bcd64dd49b (diff)
downloadfreetype2-686e2a5eb38b00b6eda2070228e42b7101ee2ce1.tar.gz
Expand comment.
-rw-r--r--src/smooth/ftgrays.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index 8988e7950..5ae791872 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -373,8 +373,13 @@ typedef ptrdiff_t FT_PtrDist;
#endif /* __arm__ */
- /* These macros speed up repetitive divisions by replacing them */
- /* with multiplications and right shifts. */
+ /* Calculating coverages for a slanted line requires a division each */
+ /* time the line crosses from cell to cell. These macros speed up */
+ /* the repetitive divisions by replacing them with multiplications */
+ /* and right shifts so that at most two divisions are performed for */
+ /* each slanted line. Nevertheless, these divisions are noticeable */
+ /* in the overall performance because flattened curves produce a */
+ /* very large number of slanted lines. */
#define FT_UDIVPREP( c, b ) \
FT_Int64 b ## _r = c ? (FT_Int64)( ~(FT_UInt64)0 >> PIXEL_BITS ) / ( b ) \
: 0