this is my tests:
pol is array of TPointF, there is about 3500 polygons.
CanvasBGRA.PolygonF(pol,true,false)
gives me: 1,45~1,49 sec.
without borders:
CanvasBGRA.PolygonF(pol,true,true)
gives me: 0,35~0,36 sec.
so, without polyline border is about 4 times faster.
I test also with this modification, in BGRACanvas (for check speed with polygon as border)
procedure TBGRACanvas.PolygonF(const APoints: array of TPointF; Winding: Boolean; FillOnly: Boolean = False);
...
if not NoPen and not FillOnly then
begin
ApplyPenStyle;
//multi.AddPolygon(FBitmap.ComputeWidePolygon(APoints,Pen.ActualWidth),Pen.ActualColor);
multi.AddPolygon(APoints,Pen.ActualColor);
end;
gives me: 0,51~0,55 sec.
it seems that a lot of time it takes to generate a path border BGRAPen.ComputeWidePolylinePoints.