VulkanMemoryAllocator/docs/html/struct_vma_statistics.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

171 lines
10 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: VmaStatistics 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_statistics-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">VmaStatistics Struct Reference<div class="ingroups"><a class="el" href="group__group__stats.html">Statistics</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.
<a href="struct_vma_statistics.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:a309179d5853a6a7cd534df497ee43957"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html#a309179d5853a6a7cd534df497ee43957">blockCount</a></td></tr>
<tr class="memdesc:a309179d5853a6a7cd534df497ee43957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of <code>VkDeviceMemory</code> objects - Vulkan memory blocks allocated. <a href="struct_vma_statistics.html#a309179d5853a6a7cd534df497ee43957">More...</a><br /></td></tr>
<tr class="separator:a309179d5853a6a7cd534df497ee43957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html#ab0ff76e50f58f9f54b6f265e5bf5dde2">allocationCount</a></td></tr>
<tr class="memdesc:ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects allocated. <a href="struct_vma_statistics.html#ab0ff76e50f58f9f54b6f265e5bf5dde2">More...</a><br /></td></tr>
<tr class="separator:ab0ff76e50f58f9f54b6f265e5bf5dde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html#a2afbc1c7aa8ad7bbb8de06215ba7e5c4">blockBytes</a></td></tr>
<tr class="memdesc:a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes allocated in <code>VkDeviceMemory</code> blocks. <a href="struct_vma_statistics.html#a2afbc1c7aa8ad7bbb8de06215ba7e5c4">More...</a><br /></td></tr>
<tr class="separator:a2afbc1c7aa8ad7bbb8de06215ba7e5c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21db06eba3422f87a2b4b4703d879c16"><td class="memItemLeft" align="right" valign="top">VkDeviceSize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html#a21db06eba3422f87a2b4b4703d879c16">allocationBytes</a></td></tr>
<tr class="memdesc:a21db06eba3422f87a2b4b4703d879c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes occupied by all <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects. <a href="struct_vma_statistics.html#a21db06eba3422f87a2b4b4703d879c16">More...</a><br /></td></tr>
<tr class="separator:a21db06eba3422f87a2b4b4703d879c16"><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 >Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total. </p>
<p >These are fast to calculate. See functions: <a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7" title="Retrieves information about current memory usage and budget for all memory heaps.">vmaGetHeapBudgets()</a>, <a class="el" href="group__group__stats.html#ga34d8e7d83774eed0caee5c5ae88e217d" title="Retrieves statistics of existing VmaPool object.">vmaGetPoolStatistics()</a>. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a21db06eba3422f87a2b4b4703d879c16" name="a21db06eba3422f87a2b4b4703d879c16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21db06eba3422f87a2b4b4703d879c16">&#9670;&nbsp;</a></span>allocationBytes</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VkDeviceSize VmaStatistics::allocationBytes</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total number of bytes occupied by all <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects. </p>
<p >Always less or equal than <code>blockBytes</code>. Difference <code>(blockBytes - allocationBytes)</code> is the amount of memory allocated from Vulkan but unused by any <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a>. </p>
</div>
</div>
<a id="ab0ff76e50f58f9f54b6f265e5bf5dde2" name="ab0ff76e50f58f9f54b6f265e5bf5dde2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0ff76e50f58f9f54b6f265e5bf5dde2">&#9670;&nbsp;</a></span>allocationCount</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VmaStatistics::allocationCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> objects allocated. </p>
<p >Dedicated allocations have their own blocks, so each one adds 1 to <code>allocationCount</code> as well as <code>blockCount</code>. </p>
</div>
</div>
<a id="a2afbc1c7aa8ad7bbb8de06215ba7e5c4" name="a2afbc1c7aa8ad7bbb8de06215ba7e5c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2afbc1c7aa8ad7bbb8de06215ba7e5c4">&#9670;&nbsp;</a></span>blockBytes</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VkDeviceSize VmaStatistics::blockBytes</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of bytes allocated in <code>VkDeviceMemory</code> blocks. </p>
<dl class="section note"><dt>Note</dt><dd>To avoid confusion, please be aware that what Vulkan calls an "allocation" - a whole <code>VkDeviceMemory</code> object (e.g. as in <code>VkPhysicalDeviceLimits::maxMemoryAllocationCount</code>) is called a "block" in VMA, while VMA calls "allocation" a <a class="el" href="struct_vma_allocation.html" title="Represents single memory allocation.">VmaAllocation</a> object that represents a memory region sub-allocated from such block, usually for a single buffer or image. </dd></dl>
</div>
</div>
<a id="a309179d5853a6a7cd534df497ee43957" name="a309179d5853a6a7cd534df497ee43957"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a309179d5853a6a7cd534df497ee43957">&#9670;&nbsp;</a></span>blockCount</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t VmaStatistics::blockCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of <code>VkDeviceMemory</code> objects - Vulkan memory blocks allocated. </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>