Original Post
I have a BIG dynamic buffer, which adding tons of vertex and tons of draw calls every frame. What I want to do is just call map/unmap or updatesubresource once per frame.
Read directx document, DEFAULT is better for fast GPU read, DYNAMIC is slower for GPU read but why?
I guess DYNAMIC working like :
1) map, reserve a memory pool in main memory which can be access directly by CPU.
2) unmap copy memory to GPU memory.
but if the final copy of DYNAMIC buffer residents in video memory, DYNAMIC shouldn't be slower for GPU read, right?
read from other post, updatesubresource will do two passes of memory copy that sounds waste and slow to me.
so I want fast GPU read, but don't want to use updatesubresource since it does two passes of memory copy which is waste to me, what's the best solution for me?
Thanks
Read directx document, DEFAULT is better for fast GPU read, DYNAMIC is slower for GPU read but why?
I guess DYNAMIC working like :
1) map, reserve a memory pool in main memory which can be access directly by CPU.
2) unmap copy memory to GPU memory.
but if the final copy of DYNAMIC buffer residents in video memory, DYNAMIC shouldn't be slower for GPU read, right?
read from other post, updatesubresource will do two passes of memory copy that sounds waste and slow to me.
so I want fast GPU read, but don't want to use updatesubresource since it does two passes of memory copy which is waste to me, what's the best solution for me?
Thanks