[cairo-commit] 4 commits - configure.in NEWS perf/Makefile.am
Carl Worth
cworth at kemper.freedesktop.org
Tue May 1 13:45:54 PDT 2007
NEWS | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.in | 4 -
perf/Makefile.am | 1
3 files changed, 119 insertions(+), 2 deletions(-)
New commits:
diff-tree f57a536fceec73435bb13c44275717792b9b3a8c (from ddca8fec07ff95caeda6e4ce9efc3239b146bd2d)
Author: Carl Worth <cworth at cworth.org>
Date: Tue May 1 13:45:58 2007 -0700
Increment version to 1.4.7 after the 1.4.6 release
diff --git a/configure.in b/configure.in
index d1bc59e..2247bb5 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@ dnl An odd micro number indicates in-pro
dnl An even micro number indicates a released version.
m4_define(cairo_version_major, 1)
m4_define(cairo_version_minor, 4)
-m4_define(cairo_version_micro, 6)
+m4_define(cairo_version_micro, 7)
AC_INIT([cairo],
cairo_version_major.cairo_version_minor.cairo_version_micro,
diff-tree ddca8fec07ff95caeda6e4ce9efc3239b146bd2d (from 0390ed4f189365d595b40a45b0cf9eef5aa0c6ba)
Author: Carl Worth <cworth at cworth.org>
Date: Tue May 1 13:37:16 2007 -0700
perf: Add $(EXTRA_PROGRAMS) to CLEANFILES
Otherwise these programs stick around and break distclean,
distcheck, and hence release-publish targets.
diff --git a/perf/Makefile.am b/perf/Makefile.am
index 23b5b82..c185efb 100644
--- a/perf/Makefile.am
+++ b/perf/Makefile.am
@@ -92,6 +92,7 @@ VALGRIND_MEMCHECK_FLAGS = \
VALGRIND_CALLGRIND_FLAGS = \
--tool=callgrind
CLEANFILES = \
+ $(EXTRA_PROGRAMS) \
valgrind-log \
callgrind.out.* \
index.html
diff-tree 0390ed4f189365d595b40a45b0cf9eef5aa0c6ba (from c9e0bb5c79abfc50ae6a24f603c5493c3ac68e40)
Author: Carl Worth <cworth at cworth.org>
Date: Tue May 1 13:24:43 2007 -0700
Increment version to 1.4.6 (and library versioning to 13:3:11)
diff --git a/configure.in b/configure.in
index ddeb635..d1bc59e 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@ dnl An odd micro number indicates in-pro
dnl An even micro number indicates a released version.
m4_define(cairo_version_major, 1)
m4_define(cairo_version_minor, 4)
-m4_define(cairo_version_micro, 5)
+m4_define(cairo_version_micro, 6)
AC_INIT([cairo],
cairo_version_major.cairo_version_minor.cairo_version_micro,
@@ -26,7 +26,7 @@ LT_CURRENT=13
# Increment any time the source changes; set to
# 0 if you increment CURRENT
-LT_REVISION=2
+LT_REVISION=3
# Increment if any interfaces have been added; set to 0
# if any interfaces have been removed. removal has
diff-tree c9e0bb5c79abfc50ae6a24f603c5493c3ac68e40 (from 7f7f4d4f35cd640733b990fcff924a090b43d360)
Author: Carl Worth <cworth at cworth.org>
Date: Tue May 1 13:20:56 2007 -0700
NEWS: Add notes for cairo 1.4.6
diff --git a/NEWS b/NEWS
index 600bd84..525bc7d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,119 @@
+Release 1.4.6 (2007-05-01 Carl Worth <cworth at cworth.org>)
+=========================================================
+This is the third update in cairo's stable 1.4 series. It comes a
+little less than three weeks since the 1.4.4 release. This release
+fixes the broken mutex initialization that made cairo 1.4.4 unusable
+on win32, OS/2, and BeOS systems. This release also adds significant
+improvements to cairo's PDF backend, (native gradients!), and a couple
+of performance optimizations, (one of which is very significant for
+users of the xlib backend). See below for more details.
+
+Repaired mutex initialization
+-----------------------------
+We apologize that cairo 1.4.4 did little more than crash on many
+platforms which are less-frequently used by the most regular cairo
+maintainers, (win32, OS/2, and BeOS). The mutex initialization
+problems that caused those crashes should be fixed now. And to avoid
+similar problems in the future, we've now started posting pre-release
+snapshots to get better testing, (subscribe to cairo at cairographics.org
+if you're interested in getting notified of those and testing them).
+
+PDF Improvements
+----------------
+Thanks to Adrian Johnson, (cairo PDF hacker extraordinaire), we have
+several improvements to cairo's PDF backend to announce:
+
+Native gradients:
+
+ As of cairo 1.4.6, cairo will now generate native PDF gradients in
+ many cases, (previously, the presence of a gradient on any page
+ would force rasterized output for that page). Currently, only
+ gradients with extend types of PAD (the default) or NONE will
+ generate native PDF gradients---others will still trigger
+ rasterization, (but look for support for other extend modes in a
+ future release). Many thanks to Miklós Erdélyi as well, who did the
+ initial work for this support.
+
+Better compatibility with PDF viewers:
+
+ The PDF output from cairo should now be displayed correctly by a
+ wider range of PDF viewers. Adrian tested cairo's PDF output against
+ many PDF viewers, identified a common bug in many of those viewers
+ (ignoring the CTM matrix in some cases), and modified cairo's output
+ to avoid triggering that bugs (pre-transforming coordinates and
+ using an identity matrix).
+
+Better OpenType/CFF subsetting:
+
+ Cairo will now embed CFF and TrueType fonts as CID fonts.
+
+Performance optimizations
+-------------------------
+Faster cairo_paint_with_alpha:
+
+ The cairo_paint_with_alpha call is used to apply a uniform alpha
+ mask to a pattern. For example, it can be used to gradually fade an
+ image out or in. Jeff Muizelaar fixed some missing/broken
+ optimizations within the implementation of this function resulting
+ in cairo_paint_with_alpha being up to 4 times faster when using
+ cairo's image backend.
+
+Optimize rendering of "off-screen" geometry:
+
+ Something that applications often do is to ask cairo to render
+ things that are either partially or wholly outside the current clip
+ region. Since 1.4.0 the image backend has been fixed to not waste
+ too much time in this case. But other backends have still been
+ suffering.
+
+ In particular, the xlib backend has often performed quite badly in
+ this situation. This is due to a bug in the implementation of
+ trapezoid rasterization in many X servers.
+
+ Now, in cairo 1.4.6 there is a higher-level fix for this
+ situation. Cairo now eliminates or clips trapezoids that are wholly
+ or partially outside the clip region before handing the trapezoids
+ to the backend. This means that the X server's performance bug is
+ avoided in almost all cases.
+
+ The net result is that doing an extreme zoom-in of vector-based
+ objects drawn with cairo might have previously brought the X server
+ to its knees as it allocated buffers large enough to fit all of the
+ geometry, (whether visible or not). But now the memory usage should
+ be bounded and performance should be dramatically better.
+
+Miscellaneous
+-------------
+Behdad contributed an impressively long series of changes that
+organizes cairo's internals in several ways that will be very
+beneficial to cairo developers. Thanks, Behdad!
+
+Behdad has also provided a utility for generating malloc statistics,
+(which was used during the great malloc purges of 1.4.2 and
+1.4.4). This utility isn't specific to cairo so may be of benefit to
+others. It is found in cairo/util/malloc-stats.c and here are Behdad's
+notes on using it:
+
+ To build, do:
+
+ make malloc-stats.so
+
+ inside util/, and to use, run:
+
+ LD_PRELOAD=malloc-stats.so some-program
+
+ For binaries managed by libtool, eg, cairo-perf, do:
+
+ ../libtool --mode=execute /bin/true ./cairo-perf
+ LD_PRELOAD="../util/malloc-stats.so" .libs/lt-cairo-perf
+
+Finally, the cairo-perf-diff-files utility was enhanced to allow for
+generating performance reports from several runs of the same backend
+while some system variables were changed. For example, this is now
+being used to allow cairo-perf to measure the performance of various
+different acceleration architectures and configuration options of the
+X.org X server.
+
Release 1.4.4 (2007-04-13 Carl Worth <cworth at cworth.org>)
=========================================================
This is the second update release in cairo's stable 1.4 series. It
More information about the cairo-commit
mailing list