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.
VmaBudget Struct Reference

Statistics of current memory usage and available budget for a specific memory heap. More...

#include <vk_mem_alloc.h>

Public Attributes

VmaStatistics statistics
 Statistics fetched from the library.
 
VkDeviceSize usage
 Estimated current memory usage of the program, in bytes. More...
 
VkDeviceSize budget
 Estimated amount of memory available to the program, in bytes. More...
 

Detailed Description

Statistics of current memory usage and available budget for a specific memory heap.

These are fast to calculate. See function vmaGetHeapBudgets().

Member Data Documentation

◆ budget

VkDeviceSize VmaBudget::budget

Estimated amount of memory available to the program, in bytes.

Fetched from system using VK_EXT_memory_budget extension if enabled.

It might be different (most probably smaller) than VkMemoryHeap::size[heapIndex] due to factors external to the program, decided by the operating system. Difference budget - usage is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems.

◆ usage

VkDeviceSize VmaBudget::usage

Estimated current memory usage of the program, in bytes.

Fetched from system using VK_EXT_memory_budget extension if enabled.

It might be different than statistics.blockBytes (usually higher) due to additional implicit objects also occupying the memory, like swapchain, pipelines, descriptor heaps, command buffers, or VkDeviceMemory blocks allocated outside of this library, if any.


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