   Couple quick questions about DirectX meshes.
  Hello,I have a couple of quick questions about DirectX meshes.Ok, so I create models in a modeling program and assign each sub-portion a different name.  Because I may use different shaders for different portions of the model (some may need different rendering functionality/shaders etc.) I need the ability to assign different vertex formats (declarations etc.) for different sub-meshes.Currently I have a .x file parser which reads the .x file and creates a completely different mesh for each named subportion with different meshes being converted to different vertex formats.  Then they can be used by any shader(s) whos formats match.I need to know how I can optimize this.Question 1)I need to know if I benefit from or should even use ::Optimize(...), ::OptimizeInPlace(...) methods on each mesh.  The meshes are separate entities so I am not sure if I need to even call these and/or if they will help.Question 2)Should I convert these to a single model and use subsets?  Can I even do that if they have different vertex formats?Question 3)Is there a better way to do any of this?Thank you for your help.Jeremy   
  The Optimize functions do provide a speed benefit when rendering if you haven't used another optimisation method (such as ATI's Tootle).IMO the best thing to do is not to use meshes at all, but manage buffers yourself. Often it's convenient for performance to put several models into the same buffer, but mesh subsets are a limited way of doing that.   