Template slow on initial load, Questions on options for optimization

I’ll keep this brief:

There is a template that has a lot of tag bindings associated to it’s parent container. Has multiple containers and is fairly complex in the amount of components bound to it.

When the template gets loaded onto a window, every tag evaluates and pulls it’s bound values. The template instantiates etc, etc.

During this time, the component is unresponsive which wouldn’t be a big deal had the time to load been less than 8 seconds.

From my understanding, bindings will always initialize on component load.

In an effort to cut back on refactoring time, I’d like to know if there is anyway I can intercept the initialization/pull of a binding or custom property through scripting or some such.

That way I can pull only what is needed when it is needed, with only disabling certain components until they are needed/visible.

Anyone know how to go about doing this?

You cannot. Two possibilities to consider: 1) if you are using UDT properties, don’t. 2) Try to have something subscribed to the likely tags at all times, eliminating the client-gateway round trip for each tag when the template starts. A do-nothing client tag change event will suit this purpose.

You cannot.

Figured as much. :smile:

  1. Thankfully it’s not using a UDT as a property. That would be fairly heavyweight for things we might not even need in an app.

  2. I’m not sure I am following. Do you mean that a client-tag subscription would do the trick in subscribing to the tags and prime the template to load quicker?

The 8-25 second load time isn’t that much of deal breaker if it’s a one time event.
It’s just our users requested the ability to change the target of the application…which forces the load times to repeat with each re-target.

I mentioned as much when it was implemented, but it’s just until recently that the pain is being felt :man_shrugging:

I might just script the more niche functionality in the template to evaluate only when needed. Keeping the more commonly used elements bound to their target as it’s currently designed.

Thanks for the input!