# HG changeset patch # User arpi # Date 1029444613 0 # Node ID 44ce5a673be2d7c2d74445f95a5f88d1e44cb0cd # Parent 72059027f9537df64b7294c230d7895720806cd4 added gettimeofday-based profiling/timing little speedup of outline() diff -r 72059027f953 -r 44ce5a673be2 TOOLS/subfont-c/Makefile --- a/TOOLS/subfont-c/Makefile Thu Aug 15 12:42:52 2002 +0000 +++ b/TOOLS/subfont-c/Makefile Thu Aug 15 20:50:13 2002 +0000 @@ -1,6 +1,6 @@ include ../../config.mak -LDLIBS=-lm $(shell freetype-config --libs) +LDLIBS=-lm ../../linux/timer-lx.o $(shell freetype-config --libs) CFLAGS=$(OPTFLAGS) $(shell freetype-config --cflags) #CFLAGS+=-O0 # for RedHat's gcc-2.96-95 diff -r 72059027f953 -r 44ce5a673be2 TOOLS/subfont-c/subfont.c --- a/TOOLS/subfont-c/subfont.c Thu Aug 15 12:42:52 2002 +0000 +++ b/TOOLS/subfont-c/subfont.c Thu Aug 15 20:50:13 2002 +0000 @@ -510,6 +510,8 @@ int x, y; for (y = 0; y=192) printf("%d\n",s[0]); + if(s[0]!=255){ unsigned max = 0; unsigned *mrow = m + r; unsigned char *srow = s -r*width; @@ -527,7 +529,10 @@ if (v>max) max = v; } } +// if(!max) *t = 0; else *t = (max + base/2) / base; + } else + *t = 255; } } } @@ -634,6 +639,7 @@ void alpha() { + unsigned int ttime; int const g_r = ceil(radius); int const o_r = ceil(thickness); int const g_w = 2*g_r+1; // matrix size @@ -669,14 +675,19 @@ if (DEBUG) eprintf("\n"); + ttime=GetTimer(); if(thickness==1.0) outline1(bbuffer, abuffer, width, height); // FAST solid 1 pixel outline else outline(bbuffer, abuffer, width, height, om, o_r, o_w); // solid outline + //outline(bbuffer, abuffer, width, height, gm, g_r, g_w); // Gaussian outline + ttime=GetTimer()-ttime; + printf("outline: %7d us\n",ttime); - //outline(bbuffer, abuffer, width, height, gm, g_r, g_w); // Gaussian outline - + ttime=GetTimer(); blur(abuffer, bbuffer, width, height, g, g_r, g_w, volume); + ttime=GetTimer()-ttime; + printf("gauss: %7d us\n",ttime); free(g); free(om); @@ -771,13 +782,21 @@ int main(int argc, char **argv) { + unsigned int ttime; parse_args(argc, argv); padding = ceil(radius) + ceil(thickness); + ttime=GetTimer(); prepare_charset(); + ttime=GetTimer()-ttime; + printf("charset: %7d us\n",ttime); + ttime=GetTimer(); render(); + ttime=GetTimer()-ttime; + printf("render: %7d us\n",ttime); + write_bitmap(bbuffer, 'b'); abuffer = (unsigned char*)malloc(width*height);