Source: \prepare\limiters\TimeLimiter.js
/**
* TimeLimiter limits the number of items handled by a {@link PIXI.BasePrepare} to a specified
* number of milliseconds per frame.
*
* @class
* @memberof PIXI
*/
export default class TimeLimiter
{
/**
* @param {number} maxMilliseconds - The maximum milliseconds that can be spent preparing items each frame.
*/
constructor(maxMilliseconds)
{
/**
* The maximum milliseconds that can be spent preparing items each frame.
* @private
*/
this.maxMilliseconds = maxMilliseconds;
/**
* The start time of the current frame.
* @type {number}
* @private
*/
this.frameStart = 0;
}
/**
* Resets any counting properties to start fresh on a new frame.
*/
beginFrame()
{
this.frameStart = Date.now();
}
/**
* Checks to see if another item can be uploaded. This should only be called once per item.
* @return {boolean} If the item is allowed to be uploaded.
*/
allowedToUpload()
{
return Date.now() - this.frameStart < this.maxMilliseconds;
}
}