Trigger vs. Message

1offby's icon

For the last couple years I've been using trigger to send constants.
Looking at other patches I see message used for this purpose. For example where I might have:
[t play] [t pause]
another patch will use message objects with:
[play] [pause]
My assumption has been that, as a clickable UI object that allows for changeable arguments, dynamic changes to content, lists, special characters, etc, message is more expensive to use than trigger.
Does trigger save any computational, redrawing, or other resources compared to message?
Are there any special scheduling considerations when selecting between message and trigger?

vichug's icon

Here's my well informed opinion : trigger probably uses less cpu, but it's probably negligible. For the scheduling i do'nt know, but i'd guess not. (you have been warned)

Nick's icon

I wouldn't mind knowing an 'official' answer to this too, but my assumption is the same as vichug's

11OLSEN's icon

Max Patch
Copy patch and select New From Clipboard in Max.

trigger is faster.

11OLSEN's icon

I think [message] is more like the debug-tool no.1 in Max while patching. It shows the "data flow" and can quickly inject something by clicking. At the end it's a UI object and there's no reason for it to be in a patch if it's not part of presentation view. There are non UI objects for everything you can do with [message]. But that's maybe something when perfectionists finalize a patch. In most cases it really doesn't matter.

Nick's icon

Thanks for that 11olsen!

I use messages most of the time, but for my current project I'm putting through quite a lot of data in a large number of separate sub-patchers and my metro 20s are ending up coming out at every 40ms at the moment, so I'm looking into every possible efficiency improvement.

Roman Thilenius's icon

what he said.

but, they are also quite different objects.

while trigger can hold more than one message and distribute them onto different outputs, message allows you to work with lists.

in my head the message object is the GUI version of list/pack/pak - the GUI version for trigger is more like number/flonum/button.