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

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

- D:/PROJECTS/Vulkan Memory Allocator/REPO/include/vk_mem_alloc.h