Scheduler Settings

Setting Scheduler preferences

The Scheduler category of the Max Preferences window shows the parameters you can use when tuning the performance of Max on your system. Max provides you with several options that allow you to fine-tune the Max application’s scheduler parameters to reflect your needs. You can adjust the rates at which the Max application updates the interface, choose to prioritize the handling of audio processing, and optimize the servicing of Max’s high and low-priority queues (for more information about event priority in Max, see this on-line tutorial).

With the exception of enabling or disabling Overdrive, most Max users will find that the default scheduler settings are sufficient for their use; these settings are provided for advanced users.


Viewing the Scheduling Parameters

  • Choose Preferences... from the Max menu. The Preferences Window will be shown. Click on the All tab to display the complete list of settings, and scroll to the Scheduler tab.

Changing the Scheduler Settings

  • Double-click on the Value column for the Setting you want to change to show a cursor and text box.
  • Type the new value, followed by a carriage return. The new scheduler value will be set.

About the scheduler settings:

For many Max users, Overdrive is the only scheduler parameter that they will ever set. The other scheduler preferences will be described more briefly.

Event Interval is the rate, in milliseconds, at which Max attempts to update the interface. The actual refresh rate may be higher or lower depending on various application and operating system activities, and overall system load. A lower setting (e.g. 1) will provide greater accuracy in terms of interface updates, while a higher value (e.g. 20) will result in less CPU usage. The default value is 2 ms events.

When Overdrive is enabled, Max gives priority to timing and MIDI processing over screen drawing and user interface tasks such as responding to mouse clicks. If you are primarily going to be using Max for MIDI or audio processing, Overdrive should be enabled. If you are primarily going to be using Jitter, Overdrive should be disabled.

For many Max users, Overdrive is the only scheduler parameter that they will ever set.


Enabling/disabling Overdrive

  • Choose Overdrive from the Options menu. The Overdrive menu item will be checked, and Overdrive will be enabled (the Overdrive Value in the Scheduler tab of the Preferences Window will be updated to indicate your choice).

To disable Overdrive, choose Overdrive from the Options menu. The menu item will be unchecked to indicate that Overdrive is disabled.


Poll Throttle sets the number of events processed per servicing of the scheduler's high priority event queue (High priority events include MIDI, events generated by metro, tempo, line, delay, pipe, snapshot~, and other scheduler based objects). A lower setting (e.g. 1) means less event clumping, while a higher value (e.g. 100) will result in less of an event backlog. The default value is 40.

Queue Throttle sets the number of events processed per servicing of the low priority event queue (Low priority events include user interface events, reading files from disk, and other expensive operations that would otherwise cause timing problems for the scheduler). A lower setting (e.g. 1) means less event clumping, while a higher value (e.g. 100) will result in less of an event backlog. The default value is 10 events.

Redraw Queue Throttle sets the number of object redraws processed per servicing of the low priority event queue. The default value is 1000 events.

Refresh Rate sets the rate, in milliseconds, at which Max attempts to update the interface. The actual refresh rate may be higher or lower depending on various application and operating system activities, and overall system load. A higher setting (e.g. 60) means that Max will update the interface more slowly, but run more efficiently, while a lower value (e.g. 25) will mean that the interface is faster and more responsive. The default value is 33.333 milliseconds.

Scheduler Interval sets the interval, in milliseconds, at which the low priority thread services the low priority event queue.

  • Low priority events include user interface events, graphics operations, reading files from disk, and other expensive operations that would otherwise cause timing problems for the scheduler.
A lower setting (e.g. 1) results in greater responsiveness, while a higher value (e.g. 20) will mean that more time is available for other applications. The default value is 1 millisecond.

Scheduler Slop is the amount of time, in milliseconds, the scheduler is permitted to fall behind actual time before correcting the scheduler time to actual time. The scheduler will fall behind actual time if there are more high priority events than can be processed in real time. Scheduler slop prevents the scheduler from backlogging in such a case with some slop—a threshold. Typically some amount of slop is desired so that high priority events (like a metronome) will maintain long term temporal accuracy despite small temporal deviations. A lower setting (e.g. 1) results in greater short term accuracy, while a higher value (e.g. 100) will mean that the scheduler is more accurate in the long term. The default value is 25 milliseconds.

See Also

Name Description
Technical Notes Technical Notes