Hi there !
Enjoying OpenStageControl everyday a bit more
Now that my project is taking form, I'd like to optimize the GUI performance and lower the latency I experience on panel refresh or widget recreation. Therefore I need your advise.
Basically I am using a low performance iPad 2 mini on purpose to detect anything that is not optimized in any aspects of the project. The GUI is made of full screen panels which are set to visible on / off through navigation buttons. When I press one button, the associated full-screen panel will be set to visible: true, and all other full-screen panels will be set to visible:false.
However, when I switch from one panel to the other, it seems like all widgets contained by the desired panel are being recreated, and this generates a latency depending on the amount of widgets. In my case, around a half-second to one second for around 50 widgets per full-screen panel. Only around 250ms latency on the Mac running as the OSC server, but still.
I'd like to get rid of that latency, or to reduce it at max. My guess is that setting panels to visible on / off is not the best way to achieve what I need, and I should try to avoid widget recreation as much as possible. So I believe there might be other solutions which bring better result.
I thought about having all panels and all widgets on one single big panel. Then navigation would be done by scrolling up and down. Which is by design not ideal since it takes more time to scroll to the bottom from the top and vice versa than pressing a button to get there, even with latency.
So I thought that maybe there is an option for a button to redirect to the right height of the panel, just like an HTML page for instance? Let's say Button 1 will route to 30% height of the panel, Button 2 to 60%, or to a specific tag, you name it...Would something like that be possible ?
The other idea I had is to "bring to front" the desired full-screen panel for it to show up. However, I am not sure that this is something scriptable, and if it makes sense. What do you think ?
Maybe my ideas are stupid, but I am most probably not the only one with the same use case. Panel activation via navigation buttons is very common. Any suggestions, ideas, code example, best practices are welcome !
Thank you very much for your suggestions.
Cheers, Benoรฎt