   D3D ant multithread
  Hello again GDNetI designed my application so that only one (the "renderer") thread performs operations which involve using the IDirect3DDevice9 object, which I think is a good choice. [comments are welcome on that point] I refer to all call like pD3DDev->Xxx() and D3DX(pD3DDev,...)My question is: can other threads perform operation on a D3D object when that operation doesnt explicitly mentions the device itself ? (for example, a texture->Lock) I guess the answer is no since the IDirect3DTexture9 object was created through the device and is hence not independant from it at all.(My device is NOT created with the D3DCREATE_MULTITHREADED flag since that *might* be a performance issue that would be difficult to refactor away in later stages of development)What do you think ?   
  There's been quite a few discussions about this sort of thing: Link. I can't remember what the general opinion was, but it's best to avoid D3DCREATE_MULTITHREADED where possible. I don't think you'll be able to lock textures from different threads, but you could give it a go I suppose...   ;  -Don’t use D3DCREATE_MULTITHREADED-Never call D3D methods from another thread than that one who creates the object.-You can pass a pointer you get from a lock call to another thread to manipulate the content. But Unlock need to be called from the same thread that has called Lock.;  This issue gets brought up fairly regularly on the DirectXDev Mailing List, you can run a search for D3DCREATE_MULTITHREADED to find most of them. For whatever reason, seems you can't actually get a direct URL to the search results [rolleyes]Anyway, the basic idea is what Demirug posted. The only exceptions are, and I forget the details, creating some D3DPOOL_SCRATCH and NULLREF devices - you can get some shader compiling and resource loading via D3DX on a seperate thread.One final thing: I'm going to be working on an FAQ entry for the forum about multi-threading and Direct3D. I'm pretty sure I've got enough references to work from, but if anyone has any neat tips/tricks or has found any cool resources please let me know [smile]hthJack   