class DefaultFrameScheduler

Defined at line 45 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.h

`DefaultFrameScheduler` is the source of a number of events:

- `UpdateSessions`: Fired when CPU should be done apply any pending updates to the scene graph

and prepare for rendering.

- `OnCpuWorkDone`: Fired when CPU work has completed.

- `OnFramePresented`: Fired when the renderer has signaled that the previous frame was presented

to the display.

- `RenderScheduledFrame`: Fired when non-CPU-based rendering should begin.

Public Members

static duration kMinPredictedFrameDuration
static duration kInitialRenderDuration
static duration kInitialUpdateDuration

Public Methods

void DefaultFrameScheduler (std::unique_ptr<FramePredictor> predictor, inspect::Node inspect_node, metrics::Metrics * metrics_logger)

Defined at line 30 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void ~DefaultFrameScheduler ()

Defined at line 48 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void Initialize (std::shared_ptr<const VsyncTiming> vsync_timing, UpdateSessions update_sessions, OnCpuWorkDone on_cpu_work_done, OnFramePresented on_frame_presented, RenderScheduledFrame render_scheduled_frame)

Set the renderer and session updaters to be used. Can only be called once.

`session_updaters` will be called in this order for every event.

Defined at line 50 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void SetRenderContinuously (bool render_continuously)

`FrameScheduler`

Defined at line 63 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void ForceRenderFrame ()

Renders a frame as soon as possible even if no session has a pending update.

Used when the display is powered on again, so that the current scene is shown

without waiting for a client to present.

Defined at line 70 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void ScheduleUpdateForSession (zx::time presentation_time, SchedulingIdPair id_pair, bool squashable, bool schedule_asap)

`FrameScheduler`

Defined at line 291 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

std::vector<FuturePresentationInfo> GetFuturePresentationInfos (zx::duration requested_prediction_span)

`FrameScheduler`

Defined at line 354 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void RemoveSession (SessionId session_id)

`FrameScheduler`

Defined at line 472 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc

void LogPeriodicDebugInfo ()

Log some information that can be used to decide if Scenic is making progress.

Defined at line 670 of file ../../src/ui/scenic/lib/scheduling/default_frame_scheduler.cc