VulkanMemoryAllocator/docs/html/struct_vma_budget.html
Adam Sawicki 226bd5a6ad New API for statistics. COMPATIBILITY BREAKING!
New structure VmaStatistics, VmaDetailedStatistics, VmaTotalStatistics. Modified structure VmaBudget.
New function vmaCalculateStatistics, vmaGetPoolStatistics, vmaCalculatePoolStatistics, vmaGetVirtualBlockStatistics, vmaCalculateVirtualBlockStatistics. vmaGetHeapBudgets function unchanged.

Updated and rebuilt the docs.
2022-02-22 15:19:35 +01:00

153 lines
8.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Vulkan Memory Allocator: VmaBudget Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Vulkan Memory Allocator
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="struct_vma_budget-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">VmaBudget Struct Reference<div class="ingroups"><a class="el" href="group__group__stats.html">Statistics</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Statistics of current memory usage and available budget for a specific memory heap.
<a href="struct_vma_budget.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html#a6d15ab3a798fd62d9efa3a1e1f83bf54">statistics</a></td></tr>
<tr class="memdesc:a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics fetched from the library. <a href="struct_vma_budget.html#a6d15ab3a798fd62d9efa3a1e1f83bf54">More...</a><br /></td></tr>
<tr class="separator:a6d15ab3a798fd62d9efa3a1e1f83bf54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84dd1ecca8b0110259eb206dbadb11f6"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html#a84dd1ecca8b0110259eb206dbadb11f6">usage</a></td></tr>
<tr class="memdesc:a84dd1ecca8b0110259eb206dbadb11f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated current memory usage of the program, in bytes. <a href="struct_vma_budget.html#a84dd1ecca8b0110259eb206dbadb11f6">More...</a><br /></td></tr>
<tr class="separator:a84dd1ecca8b0110259eb206dbadb11f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html#ab82e1d1754c2d210d0bdf90220bc6cdd">budget</a></td></tr>
<tr class="memdesc:ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated amount of memory available to the program, in bytes. <a href="struct_vma_budget.html#ab82e1d1754c2d210d0bdf90220bc6cdd">More...</a><br /></td></tr>
<tr class="separator:ab82e1d1754c2d210d0bdf90220bc6cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Statistics of current memory usage and available budget for a specific memory heap. </p>
<p >These are fast to calculate. See function <a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7" title="Retrieves information about current memory usage and budget for all memory heaps.">vmaGetHeapBudgets()</a>. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="ab82e1d1754c2d210d0bdf90220bc6cdd" name="ab82e1d1754c2d210d0bdf90220bc6cdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab82e1d1754c2d210d0bdf90220bc6cdd">&#9670;&nbsp;</a></span>budget</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VkDeviceSize VmaBudget::budget</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimated amount of memory available to the program, in bytes. </p>
<p >Fetched from system using VK_EXT_memory_budget extension if enabled.</p>
<p >It might be different (most probably smaller) than <code>VkMemoryHeap::size[heapIndex]</code> due to factors external to the program, like other programs also consuming system resources. Difference <code>budget - usage</code> is the amount of additional memory that can probably be allocated without problems. Exceeding the budget may result in various problems. </p>
</div>
</div>
<a id="a6d15ab3a798fd62d9efa3a1e1f83bf54" name="a6d15ab3a798fd62d9efa3a1e1f83bf54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d15ab3a798fd62d9efa3a1e1f83bf54">&#9670;&nbsp;</a></span>statistics</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a> VmaBudget::statistics</td>
</tr>
</table>
</div><div class="memdoc">
<p>Statistics fetched from the library. </p>
</div>
</div>
<a id="a84dd1ecca8b0110259eb206dbadb11f6" name="a84dd1ecca8b0110259eb206dbadb11f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84dd1ecca8b0110259eb206dbadb11f6">&#9670;&nbsp;</a></span>usage</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VkDeviceSize VmaBudget::usage</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimated current memory usage of the program, in bytes. </p>
<p >Fetched from system using VK_EXT_memory_budget extension if enabled.</p>
<p >It might be different than <code>statistics.blockBytes</code> (usually higher) due to additional implicit objects also occupying the memory, like swapchain, pipelines, descriptor heaps, command buffers, or <code>VkDeviceMemory</code> blocks allocated outside of this library, if any. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>D:/PROJECTS/Vulkan Memory Allocator/REPO/include/<a class="el" href="vk__mem__alloc_8h.html">vk_mem_alloc.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
</small></address>
</body>
</html>