Paces re-posting a render request whose worker result had nothing to present.
More...
|
| bool | noteFailure (const RenderAttemptIdentity &attempt, Clock::time_point now) |
| | Record that the result of attempt had nothing to present.
|
| bool | mayPost (const RenderAttemptIdentity &attempt, Clock::time_point now) const |
| | Whether attempt may be posted at now.
|
|
bool | retryScheduled () const |
| | True while a retry of the failed request is still scheduled.
|
| std::optional< float > | secondsUntilRetry (Clock::time_point now) const |
| | Seconds until the scheduled retry is due, or nullopt when none is scheduled or it is already due: the wake for it has fired, and the next frame that asks for a render posts it.
|
|
void | reset () |
| | Forget the failed request, once a result presents or the document is replaced.
|
Paces re-posting a render request whose worker result had nothing to present.
Such a result (no compositor tile: a failed readback, a lost device, refused surfaces) marks nothing rendered, and every idle frame asks for a render, so without pacing the identical request would be posted again on every frame. The failed request may be posted again after each delay in kRetryDelays; once the last retry fails too, an identical request is held until something about it changes. A different request is never held.