Commit graph

3 commits

Author SHA1 Message Date
Carl Worth
bc7072064e cairo-path-fixed: Don't add redundant, succesive MOVE_TO operations to the path
Instead, we can simply tweak the argument value for the last
MOVE_TO operation that's already at the end of the path.

This helps backends like pdf that are currently emitting all
of the redundant MOVE_TO operations in the output.
2007-01-17 16:24:00 -08:00
Carl Worth
ba531642f7 Add optimization for rectilinear stroke
This custom stroking code allows backends to use optimized region-based
drawing operations for rectilinear strokes. This results in a 5-25x
performance improvement when drawing rectilinear shapes:

image-rgb          box-outline-stroke-100 0.18 -> 0.01: 25.58x speedup
████████████████████████▋
image-rgba         box-outline-stroke-100 0.18 -> 0.01: 25.57x speedup
████████████████████████▋
 xlib-rgb          box-outline-stroke-100 0.49 -> 0.06:  8.67x speedup
███████▋
 xlib-rgba         box-outline-stroke-100 0.22 -> 0.04:  5.39x speedup
████▍

In other words, using cairo_stroke instead of cairo_fill to draw the
same shape was 5-15x slower before, but is 1.2-2x faster now.
2006-12-22 17:59:20 -08:00
Carl Worth
13c143bb52 Rename cairo-path.c to cairo-path-fixed.c 2006-12-19 13:10:00 -08:00
Renamed from src/cairo-path.c (Browse further)