Blowbox 2017
A 3D Game Engine by Riko Ophorst using DirectX 12
Public Member Functions | Private Attributes | List of all members
blowbox::MemoryStats Class Reference

#include <memory_stats.h>

Public Member Functions

void RenderMenu () override
 
void RenderWindow () override
 
void NewFrame ()
 

Private Attributes

float last_bounds_reset_time_
 
float bounds_reset_interval_
 
int history_sample_count_
 
bool show_window_
 
RingBuffer< uint64_t > ram_usage_history_
 
float ram_usage_history_contiguous_ [BLOWBOX_PROFILER_HISTORY_MAX_SAMPLE_COUNT]
 
uint64_t ram_usage_history_upper_bound_
 
uint64_t ram_usage_history_lower_bound_
 
uint64_t ram_operating_system_budget_
 
uint64_t ram_average_usage_
 
RingBuffer< uint64_t > vram_usage_history_
 
float vram_usage_history_contiguous_ [BLOWBOX_PROFILER_HISTORY_MAX_SAMPLE_COUNT]
 
uint64_t vram_usage_history_upper_bound_
 
uint64_t vram_usage_history_lower_bound_
 
uint64_t vram_operating_system_budget_
 
uint64_t vram_average_usage_
 

Detailed Description

Provides an overview of memory statistics.

Provides a simple debug window with memory statistics in the main debug menu.

Inheritance diagram for blowbox::MemoryStats:
blowbox::DebugWindow

Member Function Documentation

void blowbox::MemoryStats::NewFrame ( )

Starts a new profiling frame.

void blowbox::MemoryStats::RenderMenu ( )
overridevirtual

Renders the menu for the MemoryStats.

Implements blowbox::DebugWindow.

void blowbox::MemoryStats::RenderWindow ( )
overridevirtual

Renders the actual window for the MemoryStats.

Implements blowbox::DebugWindow.

Member Data Documentation

float blowbox::MemoryStats::bounds_reset_interval_
private

The interval at which bounds should be reset.

int blowbox::MemoryStats::history_sample_count_
private

The number of samples that should be kept as history for all history buffers.

float blowbox::MemoryStats::last_bounds_reset_time_
private

The last time that bounds got reset in the profiler.

uint64_t blowbox::MemoryStats::ram_average_usage_
private

Stores the average amount of RAM usage based on the current RAM usage history.

uint64_t blowbox::MemoryStats::ram_operating_system_budget_
private

Stores how much RAM is still available for allocation on this machine.

RingBuffer<uint64_t> blowbox::MemoryStats::ram_usage_history_
private

A history of how much RAM was in use.

float blowbox::MemoryStats::ram_usage_history_contiguous_[BLOWBOX_PROFILER_HISTORY_MAX_SAMPLE_COUNT]
private

An array used to contiguously store the RAM usage history.

uint64_t blowbox::MemoryStats::ram_usage_history_lower_bound_
private

The lower bound of the RAM usage (i.e. the fewest RAM that has been in use).

uint64_t blowbox::MemoryStats::ram_usage_history_upper_bound_
private

The upper bound of the RAM usage (i.e. the most RAM that has been in use).

bool blowbox::MemoryStats::show_window_
private

Whether the memory stats window should be shown.

uint64_t blowbox::MemoryStats::vram_average_usage_
private

Stores the average amount of VRAM usage based on the current VRAM usage history.

uint64_t blowbox::MemoryStats::vram_operating_system_budget_
private

Stores how much VRAM is still available for allocation on this machine before the application starts throttling.

RingBuffer<uint64_t> blowbox::MemoryStats::vram_usage_history_
private

A history of how much VRAM was in use.

float blowbox::MemoryStats::vram_usage_history_contiguous_[BLOWBOX_PROFILER_HISTORY_MAX_SAMPLE_COUNT]
private

An array used to contiguously store the VRAM usage history.

uint64_t blowbox::MemoryStats::vram_usage_history_lower_bound_
private

The lower bound of the VRAM usage (i.e. the fewest VRAM that has been in use).

uint64_t blowbox::MemoryStats::vram_usage_history_upper_bound_
private

The upper bound of the VRAM usage (i.e. the most VRAM that has been in use).


The documentation for this class was generated from the following files: