Vulkan Memory Allocator
Public Attributes | List of all members
VmaBudget Struct Reference

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

Public Attributes

VmaStatistics statistics
 Statistics fetched from the library. More...
 
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, like other programs also consuming system resources. Difference budget - usage is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems.

◆ statistics

VmaStatistics VmaBudget::statistics

Statistics fetched from the library.

◆ 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: