diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-08-25 23:18:43 +0000 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-08-25 23:18:43 +0000 |
commit | 686e2a5eb38b00b6eda2070228e42b7101ee2ce1 (patch) | |
tree | fcf6194c9c953f041edb08439fd92aa9b14b1831 | |
parent | f7f9cb0dde4a09bcac365313721b87bcd64dd49b (diff) | |
download | freetype2-686e2a5eb38b00b6eda2070228e42b7101ee2ce1.tar.gz |
Expand comment.
-rw-r--r-- | src/smooth/ftgrays.c | 9 |
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 |