Struct bgfx_rs::static_lib::Stats

source ·
#[repr(C)]
pub struct Stats {
Show 40 fields pub cpu_time_frame: i64, pub cpu_time_begin: i64, pub cpu_time_end: i64, pub cpu_timer_freq: i64, pub gpu_time_begin: i64, pub gpu_time_end: i64, pub gpu_timer_freq: i64, pub wait_render: i64, pub wait_submit: i64, pub num_draw: u32, pub num_compute: u32, pub num_blit: u32, pub max_gpu_latency: u32, pub gpu_frame_num: u32, pub num_dynamic_index_buffers: u16, pub num_dynamic_vertex_buffers: u16, pub num_frame_buffers: u16, pub num_index_buffers: u16, pub num_occlusion_queries: u16, pub num_programs: u16, pub num_shaders: u16, pub num_textures: u16, pub num_uniforms: u16, pub num_vertex_buffers: u16, pub num_vertex_layouts: u16, pub texture_memory_used: i64, pub rt_memory_used: i64, pub transient_vb_used: i32, pub transient_ib_used: i32, pub num_prims: [u32; 5], pub gpu_memory_max: i64, pub gpu_memory_used: i64, pub width: u16, pub height: u16, pub text_width: u16, pub text_height: u16, pub num_views: u16, pub view_stats: *const ViewStats, pub num_encoders: u8, pub encoder_stats: *const EncoderStats,
}
Expand description

Renderer statistics data.

@remarks All time values are high-resolution timestamps, while time frequencies define timestamps-per-second for that hardware.

Fields§

§cpu_time_frame: i64

CPU time between two bgfx::frame calls.

§cpu_time_begin: i64

Render thread CPU submit begin time.

§cpu_time_end: i64

Render thread CPU submit end time.

§cpu_timer_freq: i64

CPU timer frequency. Timestamps-per-second

§gpu_time_begin: i64

GPU frame begin time.

§gpu_time_end: i64

GPU frame end time.

§gpu_timer_freq: i64

GPU timer frequency.

§wait_render: i64

Time spent waiting for render backend thread to finish issuing draw commands to underlying graphics API.

§wait_submit: i64

Time spent waiting for submit thread to advance to next frame.

§num_draw: u32

Number of draw calls submitted.

§num_compute: u32

Number of compute calls submitted.

§num_blit: u32

Number of blit calls submitted.

§max_gpu_latency: u32

GPU driver latency.

§gpu_frame_num: u32

Frame which generated gpuTimeBegin, gpuTimeEnd.

§num_dynamic_index_buffers: u16

Number of used dynamic index buffers.

§num_dynamic_vertex_buffers: u16

Number of used dynamic vertex buffers.

§num_frame_buffers: u16

Number of used frame buffers.

§num_index_buffers: u16

Number of used index buffers.

§num_occlusion_queries: u16

Number of used occlusion queries.

§num_programs: u16

Number of used programs.

§num_shaders: u16

Number of used shaders.

§num_textures: u16

Number of used textures.

§num_uniforms: u16

Number of used uniforms.

§num_vertex_buffers: u16

Number of used vertex buffers.

§num_vertex_layouts: u16

Number of used vertex layouts.

§texture_memory_used: i64

Estimate of texture memory used.

§rt_memory_used: i64

Estimate of render target memory used.

§transient_vb_used: i32

Amount of transient vertex buffer used.

§transient_ib_used: i32

Amount of transient index buffer used.

§num_prims: [u32; 5]

Number of primitives rendered.

§gpu_memory_max: i64

Maximum available GPU memory for application.

§gpu_memory_used: i64

Amount of GPU memory used by the application.

§width: u16

Backbuffer width in pixels.

§height: u16

Backbuffer height in pixels.

§text_width: u16

Debug text width in characters.

§text_height: u16

Debug text height in characters.

§num_views: u16

Number of view stats.

§view_stats: *const ViewStats

Array of View stats.

§num_encoders: u8

Number of encoders used during frame.

§encoder_stats: *const EncoderStats

Array of encoder stats.

Implementations§

source§

impl Stats

source

pub fn new() -> Stats

Auto Trait Implementations§

§

impl Freeze for Stats

§

impl RefUnwindSafe for Stats

§

impl !Send for Stats

§

impl !Sync for Stats

§

impl Unpin for Stats

§

impl UnwindSafe for Stats

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> 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>,

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.