summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-12-17 09:32:16 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-08-29 08:08:28 +0100
commitf8bb3617c3a7ec598c42eff1f8562e3ccc95127f (patch)
treef6c8f949ab44ca126053fb5cea2b9b88a4748cb8 /NEWS
parent7c499db8afe8a7cf8c512ec166fe7dbf11a25c02 (diff)
Eliminate self-intersecting strokes.
We refactor the surface fallbacks to convert full strokes and fills to the intermediate polygon representation (as opposed to before where we returned the trapezoidal representation). This allow greater flexibility to choose how then to rasterize the polygon. Where possible we use the local spans rasteriser for its increased performance, but still have the option to use the tessellator instead (for example, with the current Render protocol which does not yet have a polygon image). In order to accommodate this, the spans interface is tweaked to accept whole polygons instead of a path and the tessellator is tweaked for speed. Performance Impact ================== ... Still measuring, expecting some severe regressions. ...
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS18
1 files changed, 18 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 9c798dd2..a4a2c83d 100644
--- a/NEWS
+++ b/NEWS
@@ -69,6 +69,24 @@ New experimental backends:
more offloading onto the GPU.
The initial work on the backend was performed by Eric Anholt.
+Long standing bugs fixed:
+
+ Self-intersecting strokes.
+
+ 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.
+
Snapshot 1.9.2 (2009-06-12)
===========================