I have a system multithreaded across Swift, C++ and Objective-C.
I've noticed that when scrolling a scrollview, the UI can totally deadlock. OpenGL is still rendering and updating correctly and the audio thread is still running, but I cannot interact with the UI.
This only happens when scrolling the scrollview, especially when decelerating.
Is there a way to change the runloop mode for the scrollview tracking or a different way to fix this issue?
I profiled with Time Profiler to check for thread waiting indicators and I cannot determine what is causing the deadlock.
EDIT:
After additional testing, it looks like collectionviews and tableviews are also causing the deadlock.
How can this be debugged?