startBatch function

void startBatch()

Starts a batch update that prevents effects from being immediately executed when signals change.

Any effects triggered during the batch will be queued and executed when endBatch is called.

Example:

startBatch();
signal1(1); // Effects won't run yet
signal2(2); // Effects still won't run
endBatch(); // Now all queued effects will execute

Implementation

void startBatch() {
  ++system.batchDepth;
}