Open 3D Engine Atom Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
D3D12MA::TotalStatistics Struct Reference

General statistics from current state of the allocator - total memory usage across all memory heaps and segments. More...

#include <D3D12MemAlloc.h>

Public Attributes

DetailedStatistics HeapType [4]
 One element for each type of heap located at the following indices: More...
 
DetailedStatistics MemorySegmentGroup [2]
 One element for each memory segment group located at the following indices: More...
 
DetailedStatistics Total
 Total statistics from all memory allocated from D3D12.
 

Detailed Description

General statistics from current state of the allocator - total memory usage across all memory heaps and segments.

These are slower to calculate. Use for debugging purposes. See function D3D12MA::Allocator::CalculateStatistics().

Member Data Documentation

◆ HeapType

DetailedStatistics D3D12MA::TotalStatistics::HeapType[4]

One element for each type of heap located at the following indices:

  • 0 = D3D12_HEAP_TYPE_DEFAULT
  • 1 = D3D12_HEAP_TYPE_UPLOAD
  • 2 = D3D12_HEAP_TYPE_READBACK
  • 3 = D3D12_HEAP_TYPE_CUSTOM

◆ MemorySegmentGroup

DetailedStatistics D3D12MA::TotalStatistics::MemorySegmentGroup[2]

One element for each memory segment group located at the following indices:

  • 0 = DXGI_MEMORY_SEGMENT_GROUP_LOCAL
  • 1 = DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL

Meaning of these segment groups is:

  • When IsUMA() == FALSE (discrete graphics card):
    • DXGI_MEMORY_SEGMENT_GROUP_LOCAL (index 0) represents GPU memory (resources allocated in D3D12_HEAP_TYPE_DEFAULT or D3D12_MEMORY_POOL_L1).
    • DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL (index 1) represents system memory (resources allocated in D3D12_HEAP_TYPE_UPLOAD, D3D12_HEAP_TYPE_READBACK, or D3D12_MEMORY_POOL_L0).
  • When IsUMA() == TRUE (integrated graphics chip):
    • DXGI_MEMORY_SEGMENT_GROUP_LOCAL = (index 0) represents memory shared for all the resources.
    • DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = (index 1) is unused and always 0.

The documentation for this struct was generated from the following file: