pub struct WgpuFilterStats {
pub frames: u64,
pub upload_secs: f64,
pub gpu_secs: f64,
pub download_secs: f64,
pub hw_import_frames: u64,
pub hw_download_frames: u64,
pub hw_download_secs: f64,
}Expand description
Cumulative per-stage timings, readable while the filter runs via
crate::wgpu_filter::WgpuFrameFilter::stats_handle.
Fields§
§frames: u64Number of frames fully processed (readback completed).
upload_secs: f64CPU time spent uploading planes/uniforms and encoding GPU passes.
gpu_secs: f64Wall time the pipeline thread spent blocked waiting for GPU results.
With frames_in_flight > 1, GPU work overlaps the next frame’s CPU
work, so this is typically much smaller than the actual GPU time.
download_secs: f64CPU time spent copying mapped readback bytes into output frames.
hw_import_frames: u64Hardware input frames imported zero-copy (dmabuf).
hw_download_frames: u64Hardware input frames downloaded to system memory instead — with
hw_zero_copy_input enabled, a nonzero count reveals the import
fallback engaging (a large per-frame perf cliff that a log line
alone cannot make visible mid-stream).
hw_download_secs: f64Wall time spent in av_hwframe_transfer_data downloads (previously
folded into upload_secs, which hid the fallback’s cost).
Trait Implementations§
Source§impl Clone for WgpuFilterStats
impl Clone for WgpuFilterStats
Source§fn clone(&self) -> WgpuFilterStats
fn clone(&self) -> WgpuFilterStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more