Window COMP "onstart" parameter

The Window COMP wiki page says this parameter exists…

Open on Start onstart - Sets the state of the window when the application is first loaded

It doesn’t seem to actually exist in the latest build. I was hoping to be able to set this to cause one of my windows to open on program start.

How do people handle opening multiple windows and putting TD into “perform” mode on program start? I was able to solve it with an Execute DAT node but that seems overkill for something as simple as “put my multi-window project into perform mode on startup.” It seems logical to me that we should be able to designate any number of windows as “perform” windows instead of just one. I’ll admit I’m a n00b at TD so I could just be missing something basic.


You can set it here: … ent_Dialog

You should always use only one window, the perform window.
Also if you have multiple screens/projectors you still make only one window, which is as big as all the monitors combined. This performs much, much faster than multiple windows.

Use containers in this perform window to make controlpanels appear on one monitor and your output on the other monitors/projectors.

see also here: … rform_Mode

and tutorials here … hdesigner/ … hdesigner/

So I’ve reviewed all the pages cited in the previous response.

While I continue to see things that say you will get better performance by putting everything in a single “perform” window that spans all displays…

  1. There is never an explanation as to why this might be.
  2. More importantly, the system is clearly designed to allow multiple, independent windows without restrictions (even if, as a designer, you understand you may not get optimal performance). In my test design, I was getting perfectly fine performance for my needs.
  3. The documented “onstart” parameter under Window COMPs doesn’t seem to actually exist.
  4. The idea of designating a single window as the “perform” window seems to be tied to a pre-Window-COMP world. You should be able to designate any number of windows as ones that open in perform mode and any number of windows as ones that open on startup.

So… either this is a documentation problem (documented feature doesn’t exist) or the feature should be added. I ended up using a DAT to open my windows when playback is started.


The reason why a single window is better is because of the way a window’s content is updated with vsync. Often, but not always, only one window at a time will be updated on a monitor refresh. This means if you have two windows open and are running at 60hz, one window could update on one refresh, then another on the next refresh. This results in the windows updating at 30hz instead.

The documentation is out of date and I’ll update it today, sorry about that.

Using one window is definitely the way to go. We specifically changed the Window COMP parameters to make it harder to fall into the trap of using multiple windows.

Is the specific limitations of how vsync and multiple monitors work documented somewhere? Perhaps there is a good thread someone can point me to? In my experience it is typical to sync video updates to a single monitor and let the other monitors free run (essentially synched to the main monitor). There are so many ways to implement this functionality that it would be illuminating to know how TD does it at a broad level.

Again, in my specific case I had NO noticeable problems with tearing or performance running on two monitors (in this case both driven from the same graphics card). Being able to drive multiple monitors without the need for external hardware is a pretty nice feature of TD.