Template Repeater Performance

I have a template repeater where the loaded template uses indirect tag bindings to retrieve some values. This template repeater is housing 22 of these templates, where each template has 6 indirect tag bindings. The loading speed of this template repeater is abysmal and freezes the window until it is finished. I have had this issue in the past with other repeaters, but never truly understood the issue. Should I be using some kind of invokeLater() to populate the indirect bindings, or use tag() instead of an indirect?

Are you using tag() in an expression for your indirect tag bindings? If so, don't, all indirect bindings should be using the built in indirect tag option in the binding configuration:

Additionally, do you have any change scripts configured for any properties in your templates? Are they doing any blocking work( touching db or website?)

To explain further, all scripting runs in the gui thread. so if there is anything taking a bit longer, it will hold things up.

When I say I am using an indirect tag binding, I mean I am following the IA standard and using the Indirect Tag Binding shown in your screenshot.

Some of the input fields on the template have a script that is doing some system.tag.readBlocking() but only for 2 tags each. should I be writing that script to perform the tag reads asynchronously?

What kind of script? Triggered by user interaction? Or triggered on template startup? If the latter, convert those to indirect tag bindings on custom properties. There should be no scripted tag reads on anything that happens during template initialization.