Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "Port Throttling"

From wiki.openlighting.org

Jump to: navigation, search
(Created page with 'Sometimes the frame rate from Output Ports has to be rate limited. The ''ThrottledOutputPortDecorator'' allows rate limits to be configured on OutputPorts using a [http://en.wiki…')
(No difference)

Revision as of 10:14, 27 March 2010

Sometimes the frame rate from Output Ports has to be rate limited. The ThrottledOutputPortDecorator allows rate limits to be configured on OutputPorts using a Token Bucket Algorithm.

The following example shows applying the ThrottledOutputPortDecorator to an Output port to rate limit the output.

Before (no throttling):

OutputPort *output_port = new UsbProOutputPort(this, 0, "");

After (throttle to 190 frames per second)

OutputPort *output_port = new ThrottledOutputPortDecorator(
      new UsbProOutputPort(this, 0, ""),  // the port to throttle
      plugin_adaptor->WakeUpTime(),  // the select server wake up time
      10,  // start with 10 tokens in the bucket                                                                                                                  
      190);  // throttle to 190 frames per second