I am trying to build dynamic pane-based UI (similar to UI that TouchDesigner or Houdini actually uses - allowing me to dynamically split / resize / maximize panes and load different layouts).
It works nicely, but I am having a hard time optimizing panel layout process happening after my panels are re-wired (to another parent pane) or their sizing properties are changed and they are being displayed. I have tried configuring panels in my UI one-by-one on subsequent frames (this way is their configuration cost divided between multiple frames which helps), but once I display their “root panel” to make them visible after changes, I get frame drops caused by long cooks described as “Laying out panel” in performance monitor.
I feel like I have run out of ideas on how to further optimize this dynamic scenario. But since frame drops are a no-go for my use-case, I thought I might try to ask whether someone knows how to optimize this final pane displaying? I thought it would be cool to split this “Laying out panel” between multiple frames, but I don’t think there is a control over this process.