pub struct HeavyEngine {
pub max_hz: f32,
pub min_hz: f32,
pub lag_budget_ms: f32,
pub chunk_ms: f32,
pub max_chunks: u32,
}Expand description
Configuration for heavy-engine mode.
Fields§
§max_hz: f32Highest frame rate the engine paces to.
min_hz: f32Lowest frame rate while the compositor lags.
lag_budget_ms: f32Present-to-composition delay above which the engine slows down.
chunk_ms: f32GPU time per submission chunk to aim for.
max_chunks: u32Most submissions to split one frame into (default 64). Measured with 4 heavy 4K engines on Iris Xe and M-series, 64 matched or beat 16 on Linux, Windows and macOS.
Trait Implementations§
Source§impl Clone for HeavyEngine
impl Clone for HeavyEngine
impl Copy for HeavyEngine
Source§impl Debug for HeavyEngine
impl Debug for HeavyEngine
Source§impl Default for HeavyEngine
impl Default for HeavyEngine
Source§impl PartialEq for HeavyEngine
impl PartialEq for HeavyEngine
impl StructuralPartialEq for HeavyEngine
Auto Trait Implementations§
impl Forget for HeavyEngine
impl Freeze for HeavyEngine
impl Move for HeavyEngine
impl RefUnwindSafe for HeavyEngine
impl Send for HeavyEngine
impl Sync for HeavyEngine
impl Unpin for HeavyEngine
impl UnsafeUnpin for HeavyEngine
impl UnwindSafe for HeavyEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().