[Spice-devel] [PATCH 2/2] Add patch fixing performance issue

Christophe Fergeau cfergeau at redhat.com
Wed Aug 5 09:27:14 PDT 2015


On Wed, Aug 05, 2015 at 05:40:36PM +0300, Kirill Moizik wrote:
> +@@ -1389,7 +1399,11 @@
> + 			   cairo_operator_t              op)
> + {
> +     CGContextSetShouldAntialias (state->cgDrawContext, state->filter != kCGInterpolationNone);
> ++#ifdef PERFORMANCE_FIX
> ++    CGContextSetInterpolationQuality(state->cgDrawContext, kCGInterpolationNone);
> ++#else   
> +     CGContextSetInterpolationQuality(state->cgDrawContext, state->filter);
> ++#endif
> + 
> +     if (state->action == DO_DIRECT) {
> + 	CGContextFillRect (state->cgDrawContext, state->rect);
> +@@ -1672,7 +1686,12 @@
> + 
> +     state.filter = filter;
> + 
> +-    CGContextSetInterpolationQuality (state.cgMaskContext, filter);
> ++#ifdef PERFORMANCE_FIX
> ++    CGContextSetInterpolationQuality(state.cgDrawContext, kCGInterpolationNone);
> ++#else   
> ++    CGContextSetInterpolationQuality(state.cgDrawContext, filter);
> ++#endif
> ++    
> +     CGContextSetShouldAntialias (state.cgMaskContext, filter != kCGInterpolationNone);
> + 

Is it possible to achieve the same as these 2 hunks at a higher level
through the use of cairo_pattern_set_filter(CAIRO_FILTER_NEAREST) or
cairo_pattern_set_filter(CAIRO_FILTER_FAST) ? It does not seem to be
possible to get kCGInterpolationLow from _cairo_quartz_filter_to_quartz
at this point though.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150805/5e8b6a2f/attachment.sig>


More information about the Spice-devel mailing list