Gateway event tag change script vs individual bindings for 3000+ tags

Looking for best practice here - to update a perspective view of 3000(ish) components, is it better to have one gateway event tag change script that will do a sendMessage to update session components, or is it better to define an individual binding on each of the components? If bindings are preferred, is there a way to script the creation of the bindings on the components (for example, on the click of a button in designer)?

I would say the best practice would be to not have 3000 components. But if you must, I would lean towards a single script to update them.

However, be aware that any kind of gateway tag change event won't have convenient access to the Perspective view--won't even know if open--so will have substantial extra work.

This sounds like a task for embedded views, in a repeater or view canvas, one per tag or tag cluster, with indirect bindings in the view.

There is no way to create Perspective bindings in the designer via script.

Thanks. I had embedded views, which were instances of svg’s with bindings, but IA recommended a single svg, so I switched to that and mapped the elements so I can update the state of each based on a tag change. It is currently using the gateway event tag change script so I will leave it as is as you recommend.