I’ve collated a few resources here into a list. Some of them you are likely aware of. However I do think they’re quite valuable so they’re worth including:
Mobile UI Performance Tips - This talk calls itself mobile specific but it’s applicable for general UI development.
[General Slate Optimization [Content removed]
[Various Questions Answered by Cody [Content removed]
The general idea covered in these resources is 1. Reduce Draw Calls, 2. Reduce Per-Frame calls. They do a great job of explaining these however I will go over some of them.
Additionally you can use the “Slate.EnableGlobalInvalidation” CVar to activate global invalidation for your entire UI. This Could be risky depending on how your widgets are set up. However Enabling it in a Lyra standalone game brought down the slate tick from ~750µs to ~390µs.
Reducing the per frame calls is essentially the classic optimization tip of not using tick events. But more importantly its reducing the amount of calls that are made every frame. Such as not using/limiting Attribute Bindings, Timers and Animations.