Class TimeBudgetPerFrameDeferAgent
Claims a certain fraction of the target frame time and keeps track of whether this time frame was surpassed.
Inherited Members
Namespace: GLTFast
Syntax
[DefaultExecutionOrder(-10)]
public class TimeBudgetPerFrameDeferAgent : MonoBehaviour, IDeferAgent
Methods
BreakPoint()
Conditional yield. May continue right away or yield once, based on time.
Declaration
public async Task BreakPoint()
Returns
Type | Description |
---|---|
Task | If ShouldDefer() returns true, returns Task.Yield(). Otherwise returns sync |
Implements
BreakPoint(Single)
Conditional yield. May continue right away or yield once, based on time and duration.
Declaration
public async Task BreakPoint(float duration)
Parameters
Type | Name | Description |
---|---|---|
Single | duration | Predicted duration of upcoming processing in seconds |
Returns
Type | Description |
---|---|
Task | If ShouldDefer(Single) returns true, returns Task.Yield(). Otherwise returns sync |
Implements
SetFrameBudget(Single)
Defers work to the next frame if a fix time budget is used up.
Declaration
public void SetFrameBudget(float newFrameBudget = 0.5F)
Parameters
Type | Name | Description |
---|---|---|
Single | newFrameBudget | Per-frame time budget as fraction of the targeted frame time |
ShouldDefer()
This will be called at various points in the loading procedure.
Declaration
public bool ShouldDefer()
Returns
Type | Description |
---|---|
Boolean | True if the remaining work of the loading procedure should be deferred to the next frame/Update loop invocation. False if work can continue. |
Implements
ShouldDefer(Single)
Indicates if upcoming work should be deferred to the next frame.
Declaration
public bool ShouldDefer(float duration)
Parameters
Type | Name | Description |
---|---|---|
Single | duration | Predicted duration of upcoming processing in seconds |
Returns
Type | Description |
---|---|
Boolean | True if the remaining work of the loading procedure should be deferred to the next frame/Update loop invocation. False if work can continue. |