From f28cb1c511fda93aad44a49e21838c62b3f5b19f Mon Sep 17 00:00:00 2001 From: Jehan Date: Wed, 6 Dec 2017 23:30:54 +0100 Subject: [PATCH] app: add/update some comments. Keep multi-threading disable on the cage transform operation. It is now fixed but is a lot much slower than when single-threaded, making it painful to use on bigger images. So let's reenable later if we can improve this. See bug 787663. --- app/operations/gimpoperationcagetransform.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/operations/gimpoperationcagetransform.c b/app/operations/gimpoperationcagetransform.c index a94e55398d..fa17e137fa 100644 --- a/app/operations/gimpoperationcagetransform.c +++ b/app/operations/gimpoperationcagetransform.c @@ -111,8 +111,8 @@ gimp_operation_cage_transform_class_init (GimpOperationCageTransformClass *klass operation_class->get_cached_region = gimp_operation_cage_transform_get_cached_region; operation_class->no_cache = FALSE; operation_class->get_bounding_box = gimp_operation_cage_transform_get_bounding_box; - /* XXX Temporarily disable multi-threading on this operation until it - * is fixed. See bug 787663. + /* XXX Temporarily disable multi-threading on this operation because + * it is much faster when single-threaded. See bug 787663. */ operation_class->threaded = FALSE; @@ -383,6 +383,9 @@ gimp_operation_cage_transform_interpolate_source_coords_recurs (GimpOperationCag GeglRectangle rect = { 0, 0, 1, 1 }; gint xmin, xmax, ymin, ymax; + /* Stop recursion if all 3 vertices of the triangle are outside the + * ROI (left/right or above/below). + */ if (p1_d.x >= roi->x + roi->width && p2_d.x >= roi->x + roi->width && p3_d.x >= roi->x + roi->width) return;