Serious graphic-problems with newer Windows versions

This has been known about since 2016 so I’m not sure why it wasn’t spotted during your testing in 2019.

Unlike WinForms, Xojo took the decision to NOT lift a copy of the image from behind the control and use that as the background on the new control, thus making “truly” transparent controls but took the decision to only lift from the parent control and use that as the controls background which causes the issues you see here.

I mentioned this 5-6 years ago when the “new” system was implemented to stop the years of flicker issues but it was never discussed and I believe the ticket about it is either still open or closed as by design.

I’ve lost count of the number of tickets I’ve put in about optimising all this, fixing issues etc. but many of them are now archived and/or still open and unresolved.

I’ve lost track of how the system now works as I lost interest in arguing about it being wrong or substandard so all the suggestions I’d normally put forward haven’t been tested in years.

The only suggestion I can make is remove all transparency where possible and let the background of controls be automatically picked up from their parent, this alone will start improving the FPS. As for the edge issue, I’m sure someone posted a bit of code about doing this but I can’t seem to find it, here’s something I wrote for you a year ago that is a total hack and nowhere near perfect. There’s also an example is platform specific windows that you could apply to a container instead of a window but it wouldn’t allow for smooth edges.

Personally, I’d refactor the whole lot and go back to a single canvas as its all custom drawn stuff anyway, it’ll be so much quicker in the long run, just because you can embed controls upon controls ad nauseum, it doesn’t necessarily mean you should, even if it does “work” on the mac.

5 Likes