Sometimes I am programming controls (like filter cutoff) to go through a [bang] that sends the values rather than going directly to the filter input. The details aren’t too relevant. I am wondering if [bang] outputs at the same rate or resolution as just sending the [dial] directly to the object it’s controlling. I assume it’s OK, but seeing the [bang] light flicker intuitively makes me assume that the control is being segmented rather than a smooth control.
bangs are processed in the scheduler. Usually there is a rate down to 1 ms possible. If you use the UI object, this will eat unnecessarily much graphics power, as the flickering has to be drawn. An alternative is the trigger object or the bangbang [b].
Max tries to compute all bangs which occur within one scheduler interval, if its too much, your user interface gets sloppy, and can’t keep up. If that doesn’t happen, there is no need to worry…
This is easy enough to test yourself—something like the patch below.
Short answer: don’t get hung up about the blinkenlights. The flashing of button is cosmetic. Responding to bangs or other input is time-critical and done immediately. The cosmetic actions are handled whenever the Max engine (and the OS) feel there is time to do so. Cosmetic actions may get delayed or even dropped.
It is possible to build a patch that has so much processing going on that even the time-critical stuff gets delayed, but it needs to be a pretty monster patch before that happens.
----------begin_max5_patcher---------- 750.3oc0WtsabBCDF95ceJFwMMUJYE1Km1bWk56PunIphCCfaA6UXSRZhx6d sMPSRytTxtjzza.4w1v++2L1Fta4BmDwMnzANG9JrXwcKWrvFxDXQe6EN0w2 jVEKsCyIUTWibkyoc8ovaT13eVv+fBJPET1xKf1sPbhnUApRDRpX7ef7JVQo RNLybAWIY2hlYScW41GdarJsjwK9VClp5DFIXstaviXttNzybitYkKbY+bXY VIHR99YjvgmOuslwqPkU1jG8R4w01WpymZXwUOZ3Z4NLdWSv6Wtzb4zijLrb HQnJA7JcuRnLd6VjCwcn4BGoVNfhUiW3bpID2F2D.xX44XCxSQfIgawFwJ3K F9.WWpme2SRpazOoZT0H.FWgMWEWYlSCl0lhYvIZjpNG3ZcnY6GWMHRchASE sbqRo6HyPFMyP2zkL71XSMqiFM03+tK0Tiwx1ldZmfpqQMISh4ERHuQTCpFV QA1.w7LHoUoD7YCb9VTQr7i36NJ37d2AtAvnkm1SPg.kZ9kKzrriSvIMlU6m oDmUg4pONubiDFMEts9eF2330ZE7LrUIhypQoDj58I8bccd4.Hv57MViGYW1 Qh1i8Iyh8GFeWH0O2hcJwwAt7PHSacB1bvFmPBL25R76y4Qyhwo6y3LyBBvw rOwAxfcWcnfjCfK9gcqHr0BT5XbI70sf3H.xgVTPB6N+w+uWTD7eZQg9noif LjntSlGiL69bY5bQlb8tdV1bXbQIJJpPmQr5Zxi1Yf5NbcWVc7SRmXctIUOm o3tOa6vNNn26d1rsevXoY5rjleEV8+zurZDW1uG2nYXxbjgetWruJ6Wu7G+s jUtl3O0fRQaS5via3zX3AEmgREiGqXZi+vfhdxXJYYYns6gJfZV1Vgt7qWC6 g1SURzInHxaph7lfhnu6XT3KSQTO2U9lpYaQMMH32sNRsFMQ5QdynW3DTj+K jdc7h51saO8gVGoVISTquczyeBJJ3HVMnab+xegWRDDn -----------end_max5_patcher-----------
… which does not mean that [button] wouldnt use lots
more CPU compared to [t b].
when a bang button is not even able to show its graphics
in time (or at all), then it is time to repace it with [t b].
Or even better with [b 1]