[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master e03214e: [base] Compute MD5 checksums only if explici
From: |
Werner LEMBERG |
Subject: |
[freetype2] master e03214e: [base] Compute MD5 checksums only if explicitly requested. |
Date: |
Thu, 15 Oct 2015 14:58:26 +0000 |
branch: master
commit e03214e166c61b91ecb76e3b5fa5ee1c2a66ac56
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[base] Compute MD5 checksums only if explicitly requested.
This improves profiling accuracy.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
---
ChangeLog | 8 ++++++
src/base/ftobjs.c | 67 ++++++++++++++++++++++++++++++----------------------
2 files changed, 47 insertions(+), 28 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d7143ac..ef51026 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-10-15 Werner Lemberg <address@hidden>
+
+ [base] Compute MD5 checksums only if explicitly requested.
+
+ This improves profiling accuracy.
+
+ * src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it.
+
2015-10-14 Werner Lemberg <address@hidden>
[base] Use `FT_' namespace for MD5 functions (#42366).
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index dd5cb03..dc3a513 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4167,39 +4167,50 @@
#undef FT_COMPONENT
#define FT_COMPONENT trace_bitmap
- /* we convert to a single bitmap format for computing the checksum */
- if ( !error )
+ /*
+ * Computing the MD5 checksum is expensive, unnecessarily distorting a
+ * possible profiling of FreeType if compiled with tracing support. For
+ * this reason, we execute the following code only if explicitly
+ * requested.
+ */
+
+ /* we use FT_TRACE3 in this block */
+ if ( ft_trace_levels[trace_bitmap] >= 3 )
{
- FT_Bitmap bitmap;
- FT_Error err;
+ /* we convert to a single bitmap format for computing the checksum */
+ if ( !error )
+ {
+ FT_Bitmap bitmap;
+ FT_Error err;
- FT_Bitmap_Init( &bitmap );
+ FT_Bitmap_Init( &bitmap );
- /* this also converts the bitmap flow to `down' (i.e., pitch > 0) */
- err = FT_Bitmap_Convert( library, &slot->bitmap, &bitmap, 1 );
- if ( !err )
- {
- MD5_CTX ctx;
- unsigned char md5[16];
- int i;
- unsigned int rows = bitmap.rows;
- unsigned int pitch = (unsigned int)bitmap.pitch;
-
-
- MD5_Init( &ctx );
- MD5_Update( &ctx, bitmap.buffer, rows * pitch );
- MD5_Final( md5, &ctx );
-
- FT_TRACE3(( "MD5 checksum for %dx%d bitmap:\n"
- " ",
- rows, pitch ));
- for ( i = 0; i < 16; i++ )
- FT_TRACE3(( "%02X", md5[i] ));
- FT_TRACE3(( "\n" ));
- }
+ /* this also converts the bitmap flow to `down' (i.e., pitch > 0) */
+ err = FT_Bitmap_Convert( library, &slot->bitmap, &bitmap, 1 );
+ if ( !err )
+ {
+ MD5_CTX ctx;
+ unsigned char md5[16];
+ int i;
+ unsigned int rows = bitmap.rows;
+ unsigned int pitch = (unsigned int)bitmap.pitch;
+
+
+ MD5_Init( &ctx );
+ MD5_Update( &ctx, bitmap.buffer, rows * pitch );
+ MD5_Final( md5, &ctx );
+
+ FT_TRACE3(( "MD5 checksum for %dx%d bitmap:\n"
+ " ",
+ rows, pitch ));
+ for ( i = 0; i < 16; i++ )
+ FT_TRACE3(( "%02X", md5[i] ));
+ FT_TRACE3(( "\n" ));
+ }
- FT_Bitmap_Done( library, &bitmap );
+ FT_Bitmap_Done( library, &bitmap );
+ }
}
#undef FT_COMPONENT
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master e03214e: [base] Compute MD5 checksums only if explicitly requested.,
Werner LEMBERG <=