CFrame paint pessimisation [Windows]

This is not about overlapping controls, it is about GetRegionData:

GRD can return up to 4 rects from 2 controls, this means 4 searches for matching controls and 3 draw calls to control A.
More non-aligned controls means even more rects.

This is Windows only.
Anyway, yes, it’s crude as noted, but less overshoot than current impl.

Proper solution could be that Win32Frame stores the dirty pointers in a setCView::Impl* at time of CFrame::CollectInvalidRects, and consumes them in Win32Frame::paint(). I haven’t implemented that yet, since it’s a big rework.

-----EDIT I saw now where you got the overlapping idea from, the first para in my OP :slight_smile:
I shouldn’t be snide about any of this, VSTGUI is generally in a good place, this all is just a technical detail.
Also I write too long&convoluted.

Regards,
/rasmus