mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
synced 2025-05-15 09:18:34 +00:00
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.
This commit is contained in:
parent
d00699f26d
commit
226bd5a6ad
49 changed files with 1864 additions and 943 deletions
|
@ -70,50 +70,53 @@ $(function() {
|
|||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format.
|
||||
<p>API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html">Statistics</a>.
|
||||
<a href="#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_stat_info.html">VmaStatInfo</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Calculated statistics of memory usage in entire allocator. <a href="struct_vma_stat_info.html#details">More...</a><br /></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">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><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_stats.html">VmaStats</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of Allocator. <a href="struct_vma_stats.html#details">More...</a><br /></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>. <a href="struct_vma_detailed_statistics.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types. <a href="struct_vma_total_statistics.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_budget.html">VmaBudget</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget, in bytes, for specific memory heap. <a href="struct_vma_budget.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Describes parameter of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>. <a href="struct_vma_pool_stats.html#details">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap. <a href="struct_vma_budget.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
||||
Typedefs</h2></td></tr>
|
||||
<tr class="memitem:gaec5b57e29c97b5d69c6d5654d60df878"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_stat_info.html">VmaStatInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gaec5b57e29c97b5d69c6d5654d60df878">VmaStatInfo</a></td></tr>
|
||||
<tr class="memdesc:gaec5b57e29c97b5d69c6d5654d60df878"><td class="mdescLeft"> </td><td class="mdescRight">Calculated statistics of memory usage in entire allocator. <a href="group__group__stats.html#gaec5b57e29c97b5d69c6d5654d60df878">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaec5b57e29c97b5d69c6d5654d60df878"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga21813b2efdf3836767a9058cd8a94034"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_stats.html">VmaStats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga21813b2efdf3836767a9058cd8a94034">VmaStats</a></td></tr>
|
||||
<tr class="memdesc:ga21813b2efdf3836767a9058cd8a94034"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of Allocator. <a href="group__group__stats.html#ga21813b2efdf3836767a9058cd8a94034">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga21813b2efdf3836767a9058cd8a94034"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gac94bd1a382a3922ddc8de3af4d3ddd06">VmaStatistics</a></td></tr>
|
||||
<tr class="memdesc:gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="mdescLeft"> </td><td class="mdescRight">Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total. <a href="group__group__stats.html#gac94bd1a382a3922ddc8de3af4d3ddd06">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac94bd1a382a3922ddc8de3af4d3ddd06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga9ab0c535a6ca655dc63b8609ab4b8394">VmaDetailedStatistics</a></td></tr>
|
||||
<tr class="memdesc:ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="mdescLeft"> </td><td class="mdescRight">More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>. <a href="group__group__stats.html#ga9ab0c535a6ca655dc63b8609ab4b8394">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9ab0c535a6ca655dc63b8609ab4b8394"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga68916e729e55d513f88ffafbadddb770"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga68916e729e55d513f88ffafbadddb770">VmaTotalStatistics</a></td></tr>
|
||||
<tr class="memdesc:ga68916e729e55d513f88ffafbadddb770"><td class="mdescLeft"> </td><td class="mdescRight">General statistics from current state of the Allocator - total memory usage across all memory heaps and types. <a href="group__group__stats.html#ga68916e729e55d513f88ffafbadddb770">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga68916e729e55d513f88ffafbadddb770"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa078667e71b1ef24e87a6a30d128381d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_budget.html">VmaBudget</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gaa078667e71b1ef24e87a6a30d128381d">VmaBudget</a></td></tr>
|
||||
<tr class="memdesc:gaa078667e71b1ef24e87a6a30d128381d"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget, in bytes, for specific memory heap. <a href="group__group__stats.html#gaa078667e71b1ef24e87a6a30d128381d">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:gaa078667e71b1ef24e87a6a30d128381d"><td class="mdescLeft"> </td><td class="mdescRight">Statistics of current memory usage and available budget for a specific memory heap. <a href="group__group__stats.html#gaa078667e71b1ef24e87a6a30d128381d">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa078667e71b1ef24e87a6a30d128381d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4759a2d9f99c19ba7627553c847132f1"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga4759a2d9f99c19ba7627553c847132f1">VmaPoolStats</a></td></tr>
|
||||
<tr class="memdesc:ga4759a2d9f99c19ba7627553c847132f1"><td class="mdescLeft"> </td><td class="mdescRight">Describes parameter of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>. <a href="group__group__stats.html#ga4759a2d9f99c19ba7627553c847132f1">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4759a2d9f99c19ba7627553c847132f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga333b61c1788cb23559177531e6a93ca3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga333b61c1788cb23559177531e6a93ca3">vmaCalculateStats</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_stats.html">VmaStats</a> *pStats)</td></tr>
|
||||
<tr class="memdesc:ga333b61c1788cb23559177531e6a93ca3"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves statistics from current state of the Allocator. <a href="group__group__stats.html#ga333b61c1788cb23559177531e6a93ca3">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga333b61c1788cb23559177531e6a93ca3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59">vmaCalculateStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> *pStats)</td></tr>
|
||||
<tr class="memdesc:ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves statistics from current state of the Allocator. <a href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga36f3484de7aa6cd6edc4de9edfa0ff59"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7">vmaGetHeapBudgets</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_budget.html">VmaBudget</a> *pBudgets)</td></tr>
|
||||
<tr class="memdesc:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves information about current memory budget for all memory heaps. <a href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves information about current memory usage and budget for all memory heaps. <a href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9f88db9d46a432c0ad7278cecbc5eaa7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae8bf76997b234ef68aad922616df4153"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#gae8bf76997b234ef68aad922616df4153">vmaGetPoolStats</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a> *pPoolStats)</td></tr>
|
||||
<tr class="memdesc:gae8bf76997b234ef68aad922616df4153"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object. <a href="group__group__stats.html#gae8bf76997b234ef68aad922616df4153">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae8bf76997b234ef68aad922616df4153"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga34d8e7d83774eed0caee5c5ae88e217d">vmaGetPoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> *pPoolStats)</td></tr>
|
||||
<tr class="memdesc:ga34d8e7d83774eed0caee5c5ae88e217d"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object. <a href="group__group__stats.html#ga34d8e7d83774eed0caee5c5ae88e217d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga34d8e7d83774eed0caee5c5ae88e217d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga50ba0eb25d2b363b792be4645ca7a380"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga50ba0eb25d2b363b792be4645ca7a380">vmaCalculatePoolStatistics</a> (<a class="el" href="struct_vma_allocator.html">VmaAllocator</a> allocator, <a class="el" href="struct_vma_pool.html">VmaPool</a> pool, <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> *pPoolStats)</td></tr>
|
||||
<tr class="memdesc:ga50ba0eb25d2b363b792be4645ca7a380"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves detailed statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object. <a href="group__group__stats.html#ga50ba0eb25d2b363b792be4645ca7a380">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga50ba0eb25d2b363b792be4645ca7a380"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga52d810e1222c592e5d80556ad005f1e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__stats.html#ga52d810e1222c592e5d80556ad005f1e6">vmaBuildVirtualBlockStatsString</a> (<a class="el" href="struct_vma_virtual_block.html">VmaVirtualBlock</a> virtualBlock, char **ppStatsString, VkBool32 detailedMap)</td></tr>
|
||||
<tr class="memdesc:ga52d810e1222c592e5d80556ad005f1e6"><td class="mdescLeft"> </td><td class="mdescRight">Builds and returns a null-terminated string in JSON format with information about given <a class="el" href="struct_vma_virtual_block.html" title="Handle to a virtual block object that allows to use core allocation algorithm without allocating any ...">VmaVirtualBlock</a>. <a href="group__group__stats.html#ga52d810e1222c592e5d80556ad005f1e6">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga52d810e1222c592e5d80556ad005f1e6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
|
@ -127,7 +130,7 @@ Functions</h2></td></tr>
|
|||
<tr class="separator:ga3104eb30d8122c84dd8541063f145288"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p >API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. </p>
|
||||
<p >API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. See documentation chapter: <a class="el" href="statistics.html">Statistics</a>. </p>
|
||||
<h2 class="groupheader">Typedef Documentation</h2>
|
||||
<a id="gaa078667e71b1ef24e87a6a30d128381d" name="gaa078667e71b1ef24e87a6a30d128381d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gaa078667e71b1ef24e87a6a30d128381d">◆ </a></span>VmaBudget</h2>
|
||||
|
@ -141,55 +144,63 @@ Functions</h2></td></tr>
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Statistics of current memory usage and available budget, in bytes, for specific memory heap. </p>
|
||||
<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>
|
||||
</div>
|
||||
<a id="ga4759a2d9f99c19ba7627553c847132f1" name="ga4759a2d9f99c19ba7627553c847132f1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga4759a2d9f99c19ba7627553c847132f1">◆ </a></span>VmaPoolStats</h2>
|
||||
<a id="ga9ab0c535a6ca655dc63b8609ab4b8394" name="ga9ab0c535a6ca655dc63b8609ab4b8394"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga9ab0c535a6ca655dc63b8609ab4b8394">◆ </a></span>VmaDetailedStatistics</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a> <a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a></td>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> <a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Describes parameter of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a>. </p>
|
||||
|
||||
<p>More detailed statistics than <a class="el" href="struct_vma_statistics.html" title="Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool,...">VmaStatistics</a>. </p>
|
||||
<p >These are slower to calculate. Use for debugging purposes. See functions: <a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59" title="Retrieves statistics from current state of the Allocator.">vmaCalculateStatistics()</a>, <a class="el" href="group__group__stats.html#ga50ba0eb25d2b363b792be4645ca7a380" title="Retrieves detailed statistics of existing VmaPool object.">vmaCalculatePoolStatistics()</a>.</p>
|
||||
<p >Previous version of the statistics API provided averages, but they have been removed because they can be easily calculated as:</p>
|
||||
<div class="fragment"><div class="line">VkDeviceSize allocationSizeAvg = detailedStats.statistics.allocationBytes / detailedStats.statistics.allocationCount;</div>
|
||||
<div class="line">VkDeviceSize unusedBytes = detailedStats.statistics.blockBytes - detailedStats.statistics.allocationBytes;</div>
|
||||
<div class="line">VkDeviceSize unusedRangeSizeAvg = unusedBytes / detailedStats.unusedRangeCount;</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="gaec5b57e29c97b5d69c6d5654d60df878" name="gaec5b57e29c97b5d69c6d5654d60df878"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gaec5b57e29c97b5d69c6d5654d60df878">◆ </a></span>VmaStatInfo</h2>
|
||||
<a id="gac94bd1a382a3922ddc8de3af4d3ddd06" name="gac94bd1a382a3922ddc8de3af4d3ddd06"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gac94bd1a382a3922ddc8de3af4d3ddd06">◆ </a></span>VmaStatistics</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_stat_info.html">VmaStatInfo</a> <a class="el" href="struct_vma_stat_info.html">VmaStatInfo</a></td>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_statistics.html">VmaStatistics</a> <a class="el" href="struct_vma_statistics.html">VmaStatistics</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Calculated statistics of memory usage in entire allocator. </p>
|
||||
<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>
|
||||
</div>
|
||||
<a id="ga21813b2efdf3836767a9058cd8a94034" name="ga21813b2efdf3836767a9058cd8a94034"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga21813b2efdf3836767a9058cd8a94034">◆ </a></span>VmaStats</h2>
|
||||
<a id="ga68916e729e55d513f88ffafbadddb770" name="ga68916e729e55d513f88ffafbadddb770"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga68916e729e55d513f88ffafbadddb770">◆ </a></span>VmaTotalStatistics</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_stats.html">VmaStats</a> <a class="el" href="struct_vma_stats.html">VmaStats</a></td>
|
||||
<td class="memname">typedef struct <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> <a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>General statistics from current state of Allocator. </p>
|
||||
<p>General statistics from current state of the Allocator - total memory usage across all memory heaps and types. </p>
|
||||
<p >These are slower to calculate. Use for debugging purposes. See function <a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59" title="Retrieves statistics from current state of the Allocator.">vmaCalculateStatistics()</a>. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -275,7 +286,7 @@ Functions</h2></td></tr>
|
|||
<table class="params">
|
||||
<tr><td class="paramdir"></td><td class="paramname">virtualBlock</td><td>Virtual block. </td></tr>
|
||||
<tr><td class="paramdir">[out]</td><td class="paramname">ppStatsString</td><td>Returned string. </td></tr>
|
||||
<tr><td class="paramdir"></td><td class="paramname">detailedMap</td><td>Pass <code>VK_FALSE</code> to only obtain statistics as returned by <a class="el" href="group__group__virtual.html#ga95169b4730e94757897470086ec2768a" title="Calculates and returns statistics about virtual allocations and memory usage in given VmaVirtualBlock...">vmaCalculateVirtualBlockStats()</a>. Pass <code>VK_TRUE</code> to also obtain full list of allocations and free spaces.</td></tr>
|
||||
<tr><td class="paramdir"></td><td class="paramname">detailedMap</td><td>Pass <code>VK_FALSE</code> to only obtain statistics as returned by <a class="el" href="group__group__virtual.html#ga93c5741bca44b43e5b849cacbd616098" title="Calculates and returns detailed statistics about virtual allocations and memory usage in given VmaVir...">vmaCalculateVirtualBlockStatistics()</a>. Pass <code>VK_TRUE</code> to also obtain full list of allocations and free spaces.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
@ -283,14 +294,14 @@ Functions</h2></td></tr>
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga333b61c1788cb23559177531e6a93ca3" name="ga333b61c1788cb23559177531e6a93ca3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga333b61c1788cb23559177531e6a93ca3">◆ </a></span>vmaCalculateStats()</h2>
|
||||
<a id="ga50ba0eb25d2b363b792be4645ca7a380" name="ga50ba0eb25d2b363b792be4645ca7a380"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga50ba0eb25d2b363b792be4645ca7a380">◆ </a></span>vmaCalculatePoolStatistics()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void vmaCalculateStats </td>
|
||||
<td class="memname">void vmaCalculatePoolStatistics </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a> </td>
|
||||
<td class="paramname"><em>allocator</em>, </td>
|
||||
|
@ -298,7 +309,51 @@ Functions</h2></td></tr>
|
|||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_stats.html">VmaStats</a> * </td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_pool.html">VmaPool</a> </td>
|
||||
<td class="paramname"><em>pool</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_detailed_statistics.html">VmaDetailedStatistics</a> * </td>
|
||||
<td class="paramname"><em>pPoolStats</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Retrieves detailed statistics of existing <a class="el" href="struct_vma_pool.html" title="Represents custom memory pool.">VmaPool</a> object. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramdir"></td><td class="paramname">allocator</td><td>Allocator object. </td></tr>
|
||||
<tr><td class="paramdir"></td><td class="paramname">pool</td><td>Pool object. </td></tr>
|
||||
<tr><td class="paramdir">[out]</td><td class="paramname">pPoolStats</td><td>Statistics of specified pool. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ga36f3484de7aa6cd6edc4de9edfa0ff59" name="ga36f3484de7aa6cd6edc4de9edfa0ff59"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga36f3484de7aa6cd6edc4de9edfa0ff59">◆ </a></span>vmaCalculateStatistics()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void vmaCalculateStatistics </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a> </td>
|
||||
<td class="paramname"><em>allocator</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_total_statistics.html">VmaTotalStatistics</a> * </td>
|
||||
<td class="paramname"><em>pStats</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -310,7 +365,7 @@ Functions</h2></td></tr>
|
|||
</div><div class="memdoc">
|
||||
|
||||
<p>Retrieves statistics from current state of the Allocator. </p>
|
||||
<p >This function is called "calculate" not "get" because it has to traverse all internal data structures, so it may be quite slow. For faster but more brief statistics suitable to be called every frame or every allocation, use <a class="el" href="group__group__stats.html#ga9f88db9d46a432c0ad7278cecbc5eaa7" title="Retrieves information about current memory budget for all memory heaps.">vmaGetHeapBudgets()</a>.</p>
|
||||
<p >This function is called "calculate" not "get" because it has to traverse all internal data structures, so it may be quite slow. Use it for debugging purposes. For faster but more brief statistics suitable to be called every frame or every allocation, use <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>
|
||||
<p >Note that when using allocator from multiple threads, returned information may immediately become outdated. </p>
|
||||
|
||||
</div>
|
||||
|
@ -399,7 +454,7 @@ Functions</h2></td></tr>
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Retrieves information about current memory budget for all memory heaps. </p>
|
||||
<p>Retrieves information about current memory usage and budget for all memory heaps. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramdir"></td><td class="paramname">allocator</td><td></td></tr>
|
||||
|
@ -407,19 +462,19 @@ Functions</h2></td></tr>
|
|||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>This function is called "get" not "calculate" because it is very fast, suitable to be called every frame or every allocation. For more detailed statistics use <a class="el" href="group__group__stats.html#ga333b61c1788cb23559177531e6a93ca3" title="Retrieves statistics from current state of the Allocator.">vmaCalculateStats()</a>.</p>
|
||||
<p>This function is called "get" not "calculate" because it is very fast, suitable to be called every frame or every allocation. For more detailed statistics use <a class="el" href="group__group__stats.html#ga36f3484de7aa6cd6edc4de9edfa0ff59" title="Retrieves statistics from current state of the Allocator.">vmaCalculateStatistics()</a>.</p>
|
||||
<p >Note that when using allocator from multiple threads, returned information may immediately become outdated. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="gae8bf76997b234ef68aad922616df4153" name="gae8bf76997b234ef68aad922616df4153"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#gae8bf76997b234ef68aad922616df4153">◆ </a></span>vmaGetPoolStats()</h2>
|
||||
<a id="ga34d8e7d83774eed0caee5c5ae88e217d" name="ga34d8e7d83774eed0caee5c5ae88e217d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ga34d8e7d83774eed0caee5c5ae88e217d">◆ </a></span>vmaGetPoolStatistics()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void vmaGetPoolStats </td>
|
||||
<td class="memname">void vmaGetPoolStatistics </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_allocator.html">VmaAllocator</a> </td>
|
||||
<td class="paramname"><em>allocator</em>, </td>
|
||||
|
@ -433,7 +488,7 @@ Functions</h2></td></tr>
|
|||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_pool_stats.html">VmaPoolStats</a> * </td>
|
||||
<td class="paramtype"><a class="el" href="struct_vma_statistics.html">VmaStatistics</a> * </td>
|
||||
<td class="paramname"><em>pPoolStats</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue