From e331474c3f41444badbe9d5e5247baefde6f420c Mon Sep 17 00:00:00 2001 From: Vladimir Agafonkin Date: Tue, 1 Nov 2022 23:58:16 +0200 Subject: [PATCH 1/2] optimize fill-outline-color for data-driven styles --- src/data/program_configuration.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/data/program_configuration.js b/src/data/program_configuration.js index 0c85538915f..28fdf082dfd 100644 --- a/src/data/program_configuration.js +++ b/src/data/program_configuration.js @@ -415,6 +415,10 @@ export default class ProgramConfiguration { for (const property in layer.paint._values) { if (!filterProperties(property)) continue; + + // optimization: ignore fill-outline-color if it matches fill-color or anti-alias is disabled + if ((property: any) === 'fill-outline-color' && ((layer.paint: any).get('fill-antialias') === false || (layer.paint._values: any)['fill-outline-color'] === (layer.paint._values: any)['fill-color'])) continue; + const value = layer.paint.get(property); if (!(value instanceof PossiblyEvaluatedPropertyValue) || !supportsPropertyExpression(value.property.specification)) { continue; From 829912c0f71f6ff59591406e9ec5d8e79851d46a Mon Sep 17 00:00:00 2001 From: Vladimir Agafonkin Date: Wed, 2 Nov 2022 17:00:41 +0200 Subject: [PATCH 2/2] relax fill-outline-color optimization condition --- src/data/program_configuration.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/program_configuration.js b/src/data/program_configuration.js index 28fdf082dfd..952aae417e5 100644 --- a/src/data/program_configuration.js +++ b/src/data/program_configuration.js @@ -416,8 +416,8 @@ export default class ProgramConfiguration { for (const property in layer.paint._values) { if (!filterProperties(property)) continue; - // optimization: ignore fill-outline-color if it matches fill-color or anti-alias is disabled - if ((property: any) === 'fill-outline-color' && ((layer.paint: any).get('fill-antialias') === false || (layer.paint._values: any)['fill-outline-color'] === (layer.paint._values: any)['fill-color'])) continue; + // optimization: ignore fill-outline-color if antialias is disabled + if ((property: any) === 'fill-outline-color' && ((layer.paint: any).get('fill-antialias') === false)) continue; const value = layer.paint.get(property); if (!(value instanceof PossiblyEvaluatedPropertyValue) || !supportsPropertyExpression(value.property.specification)) {