You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue was traced to the fact that ModelMeshPart uses GraphicsMemory for the VB/IB. This effectively means it uses "DYNAMIC" (GPU/CPU shared memory) rather than "STATIC" (GPU only accessible memory like VRAM) memory allocation. This works fine for PrimitiveBatch, SpriteBatch, Constant Buffers, etc. and simplifies the interface for GeometricPrimitive.
Given that most use of Model is for static rather than dynamic geometry, this issue should be fixed by making ModelMeshPart use ID3D12Resource pointers for VB and IB instead. This will require breaking changes to the existing Model loading API since it will now require a device instance as well as a ResourceUploadBatch to complete the transfer to GPU memory. This will also impact anyone doing their own custom loaders or drawing with the DirectX 12 version of Model.
Another option is to create a parallel StaticModel, StaticModelMesh, and StaticModelPart. Then there can be either an Optimize method on the Model class which converts to a StaticModel, or you can have direct loading of` StaticModel.
The
Model
class renders a little slower than expected, which is particularly noticeable on Xbox One.The text was updated successfully, but these errors were encountered: