Skip to main content

BrowserSharedRenderLoop

Struct BrowserSharedRenderLoop 

Source
pub struct BrowserSharedRenderLoop;
Expand description

The one render loop of the page. Every view renders in the animation frames of one thread: the thread of the user interface, or the render thread when the platform started one (start_render_thread).

Implementations§

Source§

impl BrowserSharedRenderLoop

Source

pub fn render_timer() -> Arc<BrowserRenderTimer> ⓘ

The render timer of the page. Upstream creates it with RunsInBackground false in both of its modes; here it runs in the background when it was created for the render thread (start_render_thread).

Source

pub fn start_render_thread() -> bool

Starts the render thread of the page and makes the render timer one that ticks there, in the background. Returns whether the views of the page are rendered by the render thread from here on.

The platform calls it once, when it is registered, in a module built with threads: before the first view is created and before anything asks for the render timer or the render loop. The thread of the user interface does not wait for the thread (RenderWorker::start); a view that is created before the thread has reported itself is not ready until it has.

The answer is false, and the page renders on the thread of the user interface as it does without threads, when the module was built without threads, when the thread cannot be created, when the render timer exists already (the order above was not kept) and when a render thread was started by somebody else, with a frame loop of their own.

Source

pub fn renders_on_render_thread() -> bool

Whether the render loop of the page ticks on the render thread: the compositor of a view is then confined to that thread, and the canvas of a view is created for it.

Source

pub fn render_loop() -> Arc<dyn IRenderLoop> ⓘ

The render loop driven by render_timer.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more