class FrameScheduler

Defined at line 53 of file ../../src/ui/scenic/lib/scheduling/frame_scheduler.h

The FrameScheduler is responsible for scheduling frames to be drawn in response to requests from

clients. When a frame is requested, the FrameScheduler will decide at which Vsync the frame

should be displayed at. This time will be no earlier than the requested time, and will be as

close as possible to the requested time, subject to various constraints. For example, if the

requested time is earlier than the time that rendering would finish, were it started immediately,

then the frame will be scheduled for a later Vsync.

Public Members

static const int64_t kMaxPresentsInFlight

Public Methods

void SetRenderContinuously (bool render_continuously)

If |render_continuously|, we keep scheduling new frames immediately after each presented frame,

regardless of whether they're explicitly requested using RequestFrame().

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

The scheduler will choose a presentation time based on `requested_presentation_time`,

according to its internal scheduling algorithm. `squashable` determines if the update is

allowed to be combined with a subsequent one in case of delays.

All calls to this method must provide a valid (non-zero) `id_pair.present_id`.

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

Gets the predicted latch points and presentation times for the frames at or before the next

|requested_prediction_span| time span. Uses the FramePredictor to do so.

void RemoveSession (SessionId session_id)

Removes all references to |session_id|.

void ~FrameScheduler ()

Defined at line 55 of file ../../src/ui/scenic/lib/scheduling/frame_scheduler.h