freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 91015cb: [smooth] Improve complex rendering at high p


From: Alexei Podtelezhnikov
Subject: [freetype2] master 91015cb: [smooth] Improve complex rendering at high ppem.
Date: Sat, 21 Oct 2017 22:59:26 -0400 (EDT)

branch: master
commit 91015cb41d8f56777f93394f5a60914bc0c0f330
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>

    [smooth] Improve complex rendering at high ppem.
    
    At large sizes almost but not exactly horizontal segments can quickly
    drain the rendering pool. This patch at least avoids filling the pool
    with trivial cells. Beyond this, we can only increase the pool size.
    
    Reported, analyzed, and tested by Colin Fahey.
    
    * src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
---
 ChangeLog            | 14 +++++++++++++-
 src/smooth/ftgrays.c |  4 ++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7340978..afe63fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2017-10-20  Alexei Podtelezhnikov  <address@hidden>
 
+       [smooth] Improve complex rendering at high ppem.
+
+       At large sizes almost but not exactly horizontal segments can quickly
+       drain the rendering pool. This patch at least avoids filling the pool
+       with trivial cells. Beyond this, we can only increase the pool size.
+
+       Reported, analyzed, and tested by Colin Fahey.
+
+       * src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
+
+2017-10-20  Alexei Podtelezhnikov  <address@hidden>
+
        [base] Improve tracing in FT_Load_Glyph, FT_*_Size.
 
        * src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
@@ -43,7 +55,7 @@
 2017-10-14  Alexei Podtelezhnikov  <address@hidden>
 
        * builds/windows/ftdebug.c (FT_Message): Print to stderr.
-        * builds/wince/ftdebug.c (FT_Message): Ditto.
+       * builds/wince/ftdebug.c (FT_Message): Ditto.
 
 2017-10-14  Behdad Esfahbod  <address@hidden>
 
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index e84e38d..fa488ec 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -582,8 +582,8 @@ typedef ptrdiff_t  FT_PtrDist;
     if ( ex < ras.min_ex )
       ex = ras.min_ex - 1;
 
-    /* record the current one if it is valid */
-    if ( !ras.invalid )
+    /* record the current one if it is substantial and valid */
+    if ( ( ras.area || ras.cover ) && !ras.invalid )
       gray_record_cell( RAS_VAR );
 
     ras.area  = 0;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]