Comments (3)
Heap "slots" are an important resource in a given heap, so it's important to reuse them as much as possible.
The DescriptorHeap
class was designed for a 'static assignment' model where you knew all the slots you'd need up-front. The DescriptorPile
class was added to provide a set of 'static assignment' slots and then you can allocate more 'dynamic' slots at runtime up to the provided maximum.
As such, you should really have a system on-top of that you use to manage texture lifetime and reuse those slots. You'd only go back to DescriptorPile
when you needed more of them.
from directxtk12.
That's cool thanks, I have a simple allocator I can use in place of the DescriptorPile
class. Thanks for the clarification.
from directxtk12.
The motivation for DescriptorPile
was supporting Model where you don't know the number of SRV slots you need until runtime.
For 'streaming' scenarios where assets come and go, you should do something fancier yourself. You can of course you DescriptorPile
in your implementation if you want :)
from directxtk12.
Related Issues (20)
- Retire VS 2017 support HOT 1
- DirectXTK emits a -Wreserved-identifier warning with clang v13
- Are d3d12sdklayers.dll symbols files available somewhere? HOT 1
- PostProcess Problem with Radeons 570 & 580 HOT 3
- VertexPositionNormal::InputLayout is undefined in the library HOT 1
- PBREffect directional lights still impact metalness when they are supposed to be off HOT 3
- GenerateMips is causing TDR HOT 6
- New game available written using DirectXTK12 HOT 1
- Make namespace configurable (avoid conflict with D3D11 DirectXTK) HOT 4
- Xbox One "Line drawing and anti aliasing" Tutorial Requires IID_GRAPHICS_PPV_ARGS HOT 2
- WICTextureLoader and DDSTextureLoader feature request HOT 3
- GenerateMips on sRGB Textures averaging in gamma space? HOT 3
- Retire legacy Xbox One XDK support
- "Basic Game Loop" from supplied Win32 template results in invalid window regions after window resize HOT 6
- Havok Animation System HOT 1
- MSAAHelper file downloads download wrong version HOT 1
- Nuget package is not compiled with security protections HOT 3
- Wiki Issue for Getting Started -> Animating using model bones HOT 3
- Rust port of DirectXTK12, d3dx12 etc.
- Any plan for the C++ 20 modules support? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from directxtk12.