   Resource and Memory Management
  I''m starting my trek from DD over to D3D, and have some questions about resource classes (Textures) and their so called "Memory Management."Am I to understand that this is the process of shuffling resources around from system to video memory, and not actually creating and destroying the resource? Basically, if I have 2 gigs worth of graphics that I''ll be using throughout my game, I''m still going to use a Resource Manager that I make to cache resources (load from disk and unload from memory), right?Please keep in mind that I''m using C#, although I doubt it makes much of a difference. 
  There are two managers here, the one you do and the one Direct3D does. If you create managed resources with Direct3D it, along with the driver, will put the resource in the best place possible e.g. video or AGP ram. You no longer worry about that side of things. So if you are never going to edit a resource then make it managed and let D3D handle where to put it. The other manager would be one you create yourself to habdle all your level data and arrange for the loading and removal of resources.  ;  Ah okay, so I was correct. This is what I initially thought, but the explanation of Resource.Priority threw me for a loop;quote:Priorities are used to determine when managed resources should beremoved from memory. A resource assigned a low priority is removedbefore one with a high priority. If two resources have the samepriority, the one that was used more recently is kept in memory, whilethe other is removed. Managed resources have a default priority of 0.Right here; "determine when managed resources should beremoved from memory." I assume they mean removed from video memory, and not memory altogether? ;  Yes. DirectX keeps two copies of managed resources, one in system memory and one in video or AGP memory so it can switch resources in and out. This is why if your device is invalidated you do not need to reload your managed resources. Of course if the device is changed e.g. switching from windowed to full screen you will then need to reload the resources 