pub struct IsolatedFrameMetrics {Show 16 fields
pub isolated_pass_count: u32,
pub offscreen_pixels_rendered: u64,
pub blur_pixels_total: u64,
pub offscreen_peak_bytes: u64,
pub pool_reuse_hits: u32,
pub pool_allocs: u32,
pub blur_pass_count: u32,
pub stencil_offscreen_count: u32,
pub downgrade_nested_isolated: u32,
pub downgrade_oversized: u32,
pub downgrades: IsolatedDowngradeCounts,
pub backdrop_capture_count: u32,
pub backdrop_pixels_total: u64,
pub backdrop_blur_pass_count: u32,
pub blend_capture_count: u32,
pub blend_composite_count: u32,
}Expand description
Per-frame metrics for isolated offscreen rendering (AILLOLI_UI_GPU_DEBUG=1).
Pixel and byte fields are accumulated with integer counters during a frame. A default value represents a frame that performed no isolated work.
§Examples
use ailloli_ui_render_wgpu::IsolatedFrameMetrics;
let metrics = IsolatedFrameMetrics::default();
assert_eq!(metrics.isolated_pass_count, 0);
assert_eq!(metrics.pool_reuse_ratio(), 0.0);Fields§
§isolated_pass_count: u32Number of offscreen isolated content passes rendered this frame.
offscreen_pixels_rendered: u64Total physical pixels covered by isolated offscreen targets.
blur_pixels_total: u64Total physical pixels processed by blur passes.
offscreen_peak_bytes: u64Peak bytes retained by the offscreen surface pool.
pool_reuse_hits: u32Number of offscreen leases satisfied by reusable allocations.
pool_allocs: u32Number of new offscreen allocations made this frame.
blur_pass_count: u32Number of separable blur GPU passes recorded.
stencil_offscreen_count: u32Number of isolated targets that required stencil attachments.
downgrade_nested_isolated: u32Legacy count of nested-isolation downgrades.
downgrade_oversized: u32Legacy count of oversized-target downgrades.
downgrades: IsolatedDowngradeCountsTyped downgrade counts accumulated by the active budget policy.
backdrop_capture_count: u32Number of backdrop regions copied before isolated rendering.
backdrop_pixels_total: u64Total physical pixels copied for backdrop capture.
backdrop_blur_pass_count: u32Number of blur passes applied to captured backdrop regions.
blend_capture_count: u32Number of destination regions captured for non-normal blending.
blend_composite_count: u32Number of shader blend composites recorded.
Implementations§
Source§impl IsolatedFrameMetrics
impl IsolatedFrameMetrics
Sourcepub fn downgrade_count(&self) -> u32
pub fn downgrade_count(&self) -> u32
Returns the total number of typed and legacy isolation downgrades.
Addition uses ordinary u32 arithmetic and therefore follows Rust’s
debug-overflow checks; real frame counts remain far below the limit.
§Examples
use ailloli_ui_render_wgpu::IsolatedFrameMetrics;
let mut metrics = IsolatedFrameMetrics::default();
metrics.downgrade_nested_isolated = 2;
metrics.downgrade_oversized = 1;
assert_eq!(metrics.downgrade_count(), 3);Sourcepub fn pool_reuse_ratio(&self) -> f64
pub fn pool_reuse_ratio(&self) -> f64
Returns reused leases divided by all reuse/allocation outcomes.
The range is 0.0..=1.0; an empty denominator returns 0.0 instead of
NaN.
§Examples
use ailloli_ui_render_wgpu::IsolatedFrameMetrics;
let metrics = IsolatedFrameMetrics {
pool_reuse_hits: 3,
pool_allocs: 1,
..IsolatedFrameMetrics::default()
};
assert_eq!(metrics.pool_reuse_ratio(), 0.75);Trait Implementations§
Source§impl Clone for IsolatedFrameMetrics
impl Clone for IsolatedFrameMetrics
Source§fn clone(&self) -> IsolatedFrameMetrics
fn clone(&self) -> IsolatedFrameMetrics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IsolatedFrameMetrics
impl Debug for IsolatedFrameMetrics
Source§impl Default for IsolatedFrameMetrics
impl Default for IsolatedFrameMetrics
Source§fn default() -> IsolatedFrameMetrics
fn default() -> IsolatedFrameMetrics
impl Copy for IsolatedFrameMetrics
Auto Trait Implementations§
impl Freeze for IsolatedFrameMetrics
impl RefUnwindSafe for IsolatedFrameMetrics
impl Send for IsolatedFrameMetrics
impl Sync for IsolatedFrameMetrics
impl Unpin for IsolatedFrameMetrics
impl UnwindSafe for IsolatedFrameMetrics
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
§fn into_click_action(self) -> ClickAction<A>
fn into_click_action(self) -> ClickAction<A>
Implements the into_click_action helper used by this module.
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>
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>
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 more§impl<T> Pointable for T
impl<T> Pointable for T
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>
ReadEndian::read_from_little_endian().