Vulkan Memory Allocator: VmaBudget Struct Reference

Vulkan Memory Allocator

Loading...
Searching...
No Matches
Public Attributes | List of all members
VmaBudget Struct Reference
Statistics

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

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

## 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.

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

- /build/vulkan-memory-allocator/src/vulkan-memory-allocator/include/vk_mem_alloc.h