SwiftUI, concurrency, responsive, or not.

On an iMac Retina 5K, 27-inch, the render time is ridiculously slow and unresponsive.

It's not the graph, even though data arrives 3 times per second with 920 data points. I've tested this in standalone code - and its fast.

The text and buttons need to be updated at a similar speed.

Although this may appear to be working, it's far from being responsive. In fact, it's only possible to quit the program with a Command-Q, and displaying a basic About box takes forever.

I think my Views are well structured, with most modifiers factored out, so should I conclude that SwiftUI is not suitable for anything beyond a simple REST app running on IOS? I hope not. If Apple were writing something similar, how would they go about it?

I've spent over a year developing this app - wishing and expecting for Apple to come up with something better that doesn't run the entire UI on one single thread, and perhaps able to execute sub-views concurrently as one would expect.

I don't wish to sound critical. I just want to know how to get this UI rendering faster, so I'm crying out for help and advise.

Replies

3 days ago I said I didn't wish to sound critical. Ha!. I'd been hoping someone from Apple would come forward, even if they were to say I've been wasting my time. As we all know, they're extremely reluctant to own up when something doesn't work. SwiftUI is promoted to be cross-platform across Apple platforms - including macOS. They don't tell us this only applies for apps the size of an iPhone.

I think I have every right to be critical, and I would very much appreciate a response from Apple - hopefully with some hope that I won't need to abandon this project.

If anyone would like to know a likely reason for this, please read through the thread at Swift.org Forum. Test code included.