Constants used to set the priority of a resource in SetPriority.
The resource has the lowest priority possible. This constant marks the resource as unused and for eviction. The resource should be evicted as soon as another resource requires the memory space that the resource occupies.
The resource is scheduled with low priority. The placement of the resource is not critical, and the operating system performs minimal work to find a location for the resource. Marking a resource as low priority allows other more critical resources to occupy the faster memory.
The resource is scheduled with normal priority. The placement of the resource is important for performance, but it is not critical. The operating system should try to place the resource that is marked as normal in the resource's preferred location instead of a low-priority resource. Typically, textures are marked as normal.
The resource is scheduled with high priority. The placement of the resource is critical for performance. The operating system always tries to place the resource that is marked as high in the resource's preferred location instead of a low-priority or normal-priority resource. Typically, render targets are marked as high.
The resource has the maximum priority possible. This constant marks the priority of the resource as soft-pinned. A soft-pinned resource is evicted from memory only if there is no other way of resolving the memory requirement of a DMA buffer. The operating system attempts to split a DMA buffer to its minimum size and evict all other resources that are not pinned and not soft-pinned before it evicts a soft-pinned resource.
Values other than D3D9_RESOURCE_PRIORITY_MINIMUM and D3D9_RESOURCE_PRIORITY_MAXIMUM are treated as hints by the scheduler.
You can use priority levels other than the values defined earlier in this topic. For example, marking a resource with a priority level of 0x78000001 indicates that the resource priority is slightly above normal.