The MotionMark suits test runs by setting transforms on shapes, which does a layout. This layout invalidates all the RenderSVGShape's resources: RenderSVGShape::layout(): ... // Invalidate all resources of this client if our layout changed. if (everHadLayout() && selfNeedsLayout()) SVGResourcesCache::clientLayoutChanged(*this); but that doesn't seem necessary if the layout doesn't make that resource invalid (e.g. the size doesn't change). Invalidating resources causes us to rebuild the gradients on every frame, which means making a new platform gradient.
We still have this code: In LBSE: https://searchfox.org/wubkat/source/Source/WebCore/rendering/svg/RenderSVGShape.cpp#160 // Invalidate all resources of this client if our layout changed. if (everHadLayout() && selfNeedsLayout()) SVGResourcesCache::clientLayoutChanged(*this); https://searchfox.org/wubkat/source/Source/WebCore/rendering/svg/LegacyRenderSVGShape.cpp#146 // Invalidate all resources of this client if our layout changed. if (everHadLayout() && selfNeedsLayout()) SVGResourcesCache::clientLayoutChanged(*this); ________ Just wanted to share updated bit as of today.