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