I'm making the transition from DX9 to D3D11. Looking at the docs for the D3D11_USAGE enumeration: IF a vertex buffer can be initialized when it's created, will not change during its lifetime, and will not have to be accessed by the CPU, is there any disadvantage to creating it with D3D11_USAGE_IMMUTABLE? Is it guaranteed, for instance, to be faster, or have fewer cache misses, than D3D11_USAGE_DEFAULT?
On the other, is D3D11_USAGE_DEFAULT the only choice if CPU access may be needed (say, for picking purposes)? The docs don't say explicitly, but I'm assuming DEFAULT can be accessed by the CPU. Is that correct? EDIT: And DYNAMIC obviously can be accessed by the CPU (as I read a little bit further) so that part is answered.
Edited by Buckeye, 09 March 2014 - 09:22 PM.