Did this with very complex widget (with hundreds instances) over a year ago and performance boost was big. Also, object count should be lower if using a single image inside a User Widget. Also, performance widgets like invalidation boxes (including Cache Relative Transforms) can make a massive saving by controlling render rates.
Question, Do I need to worry about having a deep hierarchy if there's only 1 instance of the widget created when the game first loads ? For example in the pause menu thats never destroyed only collapsed and shown ? I'm wondering this because the way I have things now my pause menu is pulling in my settings menu which has dozens of nested widgets and a very deep hierarchy ... But if my understanding is correct this is only a concern when creating the widget to prevent stutters ? Thanks for the help. EDIT : The settings menu also pauses the game so in theory that would free up alot of performance when it is displayed I would think or am I wrong there ?
@@ryanjdevlin87 there are trade offs there are still on going costs per frame but by pausing it that helps to keep the fps up a bit I'd say do a bit of performance testing and depending on your project needs you'll then need to decide
@@Spacemarine658 Ok thanks man so doing abit more research on draw calls and looking at logs I guess everytime the widget is made visible it redraws everything. I just dont know how to go about lowering the size of the hierarchy in such a complex widget like the settings menu. It has dozens of widgets in it using a widget switcher tab format for controller support. As well as nested overlays, vertical and horizontal boxes to format the layout ... I gotta test a bunch now because I'm wondering if 1 canvas panel would be better in this case. Sheesh my brain is exploding :P
@@pecka6612 it's a mixture of reduced drawcalls but also moving the load away from the CPU and onto the GPU by using materials you essentially parallelize some of the cost too making the overall workload less making your UI snappier
Great break down. The UI material lab has some great UI material examples. Saved me a ton of time remaking a performant better UI
@@paulkelsey2632 absolutely it kicks butt 🤘
Love the new mic and sound, thanks!
@@michiganderryan5293 thanks!
Did this with very complex widget (with hundreds instances) over a year ago and performance boost was big. Also, object count should be lower if using a single image inside a User Widget.
Also, performance widgets like invalidation boxes (including Cache Relative Transforms) can make a massive saving by controlling render rates.
@@IWillYeah yep and it's cheaper to animate a material widget than it is to animate widgets for all those reasons too!
Question, Do I need to worry about having a deep hierarchy if there's only 1 instance of the widget created when the game first loads ? For example in the pause menu thats never destroyed only collapsed and shown ? I'm wondering this because the way I have things now my pause menu is pulling in my settings menu which has dozens of nested widgets and a very deep hierarchy ... But if my understanding is correct this is only a concern when creating the widget to prevent stutters ? Thanks for the help. EDIT : The settings menu also pauses the game so in theory that would free up alot of performance when it is displayed I would think or am I wrong there ?
@@ryanjdevlin87 there are trade offs there are still on going costs per frame but by pausing it that helps to keep the fps up a bit I'd say do a bit of performance testing and depending on your project needs you'll then need to decide
@@Spacemarine658 Ok thanks man so doing abit more research on draw calls and looking at logs I guess everytime the widget is made visible it redraws everything. I just dont know how to go about lowering the size of the hierarchy in such a complex widget like the settings menu. It has dozens of widgets in it using a widget switcher tab format for controller support. As well as nested overlays, vertical and horizontal boxes to format the layout ... I gotta test a bunch now because I'm wondering if 1 canvas panel would be better in this case. Sheesh my brain is exploding :P
@@ryanjdevlin87 yeah it's definitely a complicated thing xD it's both an art and a science
So it's all about the drawcall count, caused by a simpler hierarchy? Or am I wrong
@@pecka6612 it's a mixture of reduced drawcalls but also moving the load away from the CPU and onto the GPU by using materials you essentially parallelize some of the cost too making the overall workload less making your UI snappier
@@Spacemarine658 thank you!
@@pecka6612 no problem glad to help 🤘
Got a tutorial on how you made that thruster?
@@joshhouston5405 not currently no but it might be something I cover in the future
@@Spacemarine658 would love to see it. Or even just a quick overview cause particles and materials are not my Strongsuit at all lol
@@joshhouston5405 lol fair enough I'm in the same boat mine only look passable due to many attempts and clean up lol