summaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2014-03-10 17:03:30 -0700
committerBryce Harrington <b.harrington@samsung.com>2014-03-10 17:03:30 -0700
commit82cbbccbd79b3f2c37065bf3cb65c7654f1d8da3 (patch)
treea9ff7a61ead9f438241c2993ccee9b4d9a800ee3
parentd3d4bfd8deea505624d0826a063cade2bb97c99c (diff)
Increase Cairo's tessellation tolerance
Suggestion from Henry Song: """ Hi, Bryce Looks like cairo bentley-ottmann tessellation is quite slow. In fact, the default tolerance of 0.001 for pixel-based render target does not make much sense. one way to speed up tessellation is cairo_set_tolerance (0.25). """
-rw-r--r--src/caskbench.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/caskbench.cpp b/src/caskbench.cpp
index 91afefa..5102d13 100644
--- a/src/caskbench.cpp
+++ b/src/caskbench.cpp
@@ -278,17 +278,21 @@ context_init(caskbench_context_t *context, int size, const char* surface_type)
context->cairo_cr = cairo_create(context->cairo_surface);
context->skia_canvas = new SkCanvas(context->skia_device);
- // Clear Skia background to black
+ // Clear background to black
context->skia_canvas->clear(0);
context->skia_paint->setARGB(255, 0, 0, 0);
context->skia_canvas->drawPaint(*context->skia_paint);
- context->skia_paint->setAntiAlias(true);
- // Clear Cairo background to black
cairo_set_source_rgb (context->cairo_cr, 0, 0, 0);
cairo_paint (context->cairo_cr);
+
+ // Enable anti-aliasing
+ context->skia_paint->setAntiAlias(true);
+
cairo_set_antialias (context->cairo_cr, CAIRO_ANTIALIAS_DEFAULT);
+ // Ease up Cairo's tessellation tolerance (default is 0.001)
+ cairo_set_tolerance (context->cairo_cr, 0.25);
}
void