From 82cbbccbd79b3f2c37065bf3cb65c7654f1d8da3 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Mon, 10 Mar 2014 17:03:30 -0700 Subject: 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). """ --- src/caskbench.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/caskbench.cpp') 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 -- cgit v1.3.1-4-g156e