import benchy, pixie let image = newImage(1000, 1000) timeIt "GradientLinear vertical": let paint = newPaint(LinearGradientPaint) paint.gradientHandlePositions = @[ vec2(50, 0), vec2(50, 1000), ] paint.gradientStops = @[ ColorStop(color: color(1, 0, 0, 1), position: 0), ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0), ] image.fillGradient(paint) timeIt "GradientLinear horizontal": let paint = newPaint(LinearGradientPaint) paint.gradientHandlePositions = @[ vec2(0, 50), vec2(1000, 50), ] paint.gradientStops = @[ ColorStop(color: color(1, 0, 0, 1), position: 0), ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0), ] image.fillGradient(paint) # timeIt "GradientLinear radial": # discard let image100 = newImage(100, 100) timeIt "GradientLinear angular": let paint = newPaint(AngularGradientPaint) paint.gradientHandlePositions = @[ vec2(500, 500), vec2(1000, 500), vec2(500, 1000) ] paint.gradientStops = @[ ColorStop(color: color(1, 0, 0, 1), position: 0), ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0), ] image100.fillGradient(paint)