[cairo] [cairo-announce] cairo snapshot 1.9.4 now available
cworth at cworth.org
Thu Oct 15 17:07:34 PDT 2009
Excerpts from Carl Worth's message of Thu Oct 15 16:34:18 -0700 2009:
> A new cairo snapshot 1.9.4 is now available.
I was a bit hasty in sending out that email and forgot to include the
following release notes. Please accept my apologies, (we really don't
expect you to read through the several hundred of Chris Wilson's
commit messages to try to figure out what's new).
PS. Cairo developers, if your carefully coded work isn't reflected
here, then you forgot to add a mention of it to the NEWS file. If you
correct that soon, we'll be sure to get that description into the
announcement for cairo 1.10.
What's new in cairo 1.9.4 (compared to cairo 1.9.2)
Finally exporting the internal meta-surface so that applications
have a method to record and replay a sequence of drawing commands.
Determines whether a given point is inside the current clip.
??? Should this be called cairo_in_paint() instead? in-clip is the test
that is performed, but in-paint would be similar to in-fill and in-stroke.
A companion to cairo-perf-trace, this utility replays a trace against
multiple targets in parallel and looks for differences in the output,
and then records any drawing commands that cause a failure.
Further minimisation of the fail trace using "delta debugging".
More control over test/reference targets.
Server-side gradients. The theory is that we can offload computation
of gradients to the GPU and avoid pushing large images over the
connection. Even if the driver has to fallback and use pixman to render
a temporary source, it should be able to do so in a more efficient manner
than Cairo itself. However, cairo-perf suggests otherwise:
On tiny, Celeron/i915:
before: firefox-20090601 211.585
after: firefox-20090601 270.939
and on tiger, CoreDuo/nvidia:
before: firefox-20090601 70.143
after: firefox-20090601 87.326
In particular, looking at tiny:
xlib-rgba paint-with-alpha_linear-rgba_over-512 47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%): 2.62x slowdown
xlib-rgba paint-with-alpha_linear3-rgba_over-512 47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%): 2.62x slowdown
New experimental backends:
OpenVG - The initial work was done by Øyvind Kolås, and made ready for
inclusion by Pierre Tardy.
OpenGL - An advanced OpenGL compositor. The aim is to write a integrate
directed rendering using OpenGL at a high-level into Cairo. In
contrast to the previous attempt using Glitz which tried to
implement the RENDER protocol on top of OpenGL, using the
high-level interface should permit greater flexibility and
more offloading onto the GPU.
The initial work on the backend was performed by Eric Anholt.
Long standing bugs fixed:
A long standing bug where the coverage from overlapping semi-opaque
strokes (including neighbouring edges) was simply summed in lieu of
a costly global calculation has been fixed (by performing the costly
global calculation!) In order to mitigate the extra cost, the
tessellator has been overhauled and tune, which handles the fallback
for when we are unable to use the new span rasteriser on the stroke
(e.g. when using the current RENDER protocol). The large number of
pixel artefacts that implementing self-intersection elimination
removes is ample justification for the potential performance
regression. If you unfortunately do suffer a substantial performance
regression in your application, please consider obtaining a
cairo-trace and submitting it to us for analysis and inclusion into
our performance suite.
To the AuroraUX team for providing access to one of their OpenSolaris
machines for cairo and pixman development. http://www.auroraux.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo/attachments/20091015/fc3f2e33/attachment.pgp
-------------- next part --------------
cairo-announce mailing list
cairo-announce at lists.cairographics.org
More information about the cairo