Hendrik Boom wrote on 8/6/19 4:03 PM:
> Be careful. You might hit such limits, and your interfaces might behave in dangerous ways.
Thanks for the warning. I've seen a lot of such limits in various GUI
toolkits, and, when you have a cross-platform layer over it, you have to
do a combination of both anticipating limits, and then testing on all
the platforms to see if you missed anything. That's in addition to
testing for various non-limit quirks of the platform, which over time
the cross-platform layer has gotten tweaked for, but you can still run
into things that haven't already been exercised through the layer.
(Other ones most immediately in mind are any kind of large
list/table/tree widget -- even if the layer offers some kind of
model-view linking that looks like it can page in data from the model
on-demand, the way the layer uses the underlying widget might just be to
load the entire model into storage controlled by the native widget. I'm
also suspicious of letting every native toolkit do a large scrolling
canvas on its own, and I expect some to have small limits there, and for
it to also do things like buffering very large pixmaps for the entire
coordinate system or bounding box, so I'd prefer it just gave me a
viewport and drawing&scrolling callbacks. And, of course, perhaps most
toolkits don't scale well to millions of widgets in a spreadsheet, even
though there's no reason you couldn't make one that does scale, it was
almost never a requirement. We can guess what a lot of the things to
test will be, and try to avoid them, but still have to test whatever we
do write, on everything.)