blob: 14dc06fd91dd9009827354ca837860a0a091d2c9 [file] [log] [blame]
<!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" lang="en-US">
<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.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Direct3D 12 Memory Allocator: D3D12MA::Budget 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>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.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 id="projectrow">
<td id="projectalign">
<div id="projectname">Direct3D 12 Memory Allocator
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "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');
$(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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespace_d3_d12_m_a.html">D3D12MA</a></li><li class="navelem"><a class="el" href="struct_d3_d12_m_a_1_1_budget.html">Budget</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="struct_d3_d12_m_a_1_1_budget-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">D3D12MA::Budget Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Statistics of current memory usage and available budget for a specific memory segment group.
<a href="#details">More...</a></p>
<p><code>#include &lt;D3D12MemAlloc.h&gt;</code></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:a1255508930766db238cfb1312b15f1cf" id="r_a1255508930766db238cfb1312b15f1cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1255508930766db238cfb1312b15f1cf">Stats</a></td></tr>
<tr class="memdesc:a1255508930766db238cfb1312b15f1cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Statistics fetched from the library. <br /></td></tr>
<tr class="separator:a1255508930766db238cfb1312b15f1cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77a8c9e32d6602f95b7d1c285cddd253" id="r_a77a8c9e32d6602f95b7d1c285cddd253"><td class="memItemLeft" align="right" valign="top">UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a77a8c9e32d6602f95b7d1c285cddd253">UsageBytes</a></td></tr>
<tr class="memdesc:a77a8c9e32d6602f95b7d1c285cddd253"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated current memory usage of the program. <br /></td></tr>
<tr class="separator:a77a8c9e32d6602f95b7d1c285cddd253"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a326515f08d89ee2e31dcfdd5c1e8ac71" id="r_a326515f08d89ee2e31dcfdd5c1e8ac71"><td class="memItemLeft" align="right" valign="top">UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a326515f08d89ee2e31dcfdd5c1e8ac71">BudgetBytes</a></td></tr>
<tr class="memdesc:a326515f08d89ee2e31dcfdd5c1e8ac71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimated amount of memory available to the program. <br /></td></tr>
<tr class="separator:a326515f08d89ee2e31dcfdd5c1e8ac71"><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 segment group. </p>
<p>These are fast to calculate. See function <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a1ac113daec5f6ef28ecb1786cf544144" title="Retrieves information about current memory usage and budget.">D3D12MA::Allocator::GetBudget()</a>. </p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a326515f08d89ee2e31dcfdd5c1e8ac71" name="a326515f08d89ee2e31dcfdd5c1e8ac71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a326515f08d89ee2e31dcfdd5c1e8ac71">&#9670;&#160;</a></span>BudgetBytes</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">UINT64 D3D12MA::Budget::BudgetBytes</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimated amount of memory available to the program. </p>
<p>Fetched from system using <code>IDXGIAdapter3::QueryVideoMemoryInfo</code> if possible.</p>
<p>It might be different (most probably smaller) than memory capacity returned by <a class="el" href="class_d3_d12_m_a_1_1_allocator.html#a434ae3147209953253da26687bfd62dc" title="Returns total amount of memory of specific segment group, in bytes.">D3D12MA::Allocator::GetMemoryCapacity()</a> due to factors external to the program, decided by the operating system. Difference <code>BudgetBytes - UsageBytes</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="a1255508930766db238cfb1312b15f1cf" name="a1255508930766db238cfb1312b15f1cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1255508930766db238cfb1312b15f1cf">&#9670;&#160;</a></span>Stats</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_d3_d12_m_a_1_1_statistics.html">Statistics</a> D3D12MA::Budget::Stats</td>
</tr>
</table>
</div><div class="memdoc">
<p>Statistics fetched from the library. </p>
</div>
</div>
<a id="a77a8c9e32d6602f95b7d1c285cddd253" name="a77a8c9e32d6602f95b7d1c285cddd253"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77a8c9e32d6602f95b7d1c285cddd253">&#9670;&#160;</a></span>UsageBytes</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">UINT64 D3D12MA::Budget::UsageBytes</td>
</tr>
</table>
</div><div class="memdoc">
<p>Estimated current memory usage of the program. </p>
<p>Fetched from system using <code>IDXGIAdapter3::QueryVideoMemoryInfo</code> if possible.</p>
<p>It might be different than <code>BlockBytes</code> (usually higher) due to additional implicit objects also occupying the memory, like swapchain, pipeline state objects, descriptor heaps, command lists, or heaps and resources 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/D3D12 Memory Allocator/REPO/include/<a class="el" href="_d3_d12_mem_alloc_8h.html">D3D12MemAlloc.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.10.0
</small></address>
</body>
</html>