Compartir a través de


Método IDirect3DDevice9Ex::CheckResourceResidency (d3d9.h)

Comprueba una matriz de recursos para determinar si es probable que provoquen una gran detención en el tiempo de dibujo, ya que el sistema debe hacer que los recursos sean accesibles para GPU.

Sintaxis

HRESULT CheckResourceResidency(
  [in] IDirect3DResource9 **pResourceArray,
  [in] UINT32             NumResources
);

Parámetros

[in] pResourceArray

Tipo: IDirect3DResource9**

Matriz de punteros IDirect3DResource9 que indican los recursos que se van a comprobar.

[in] NumResources

Tipo: UINT32

Valor que indica el número de recursos pasados al parámetro pResourceArray hasta un máximo de 65535.

Valor devuelto

Tipo: HRESULT

Si todos los recursos están en memoria accesible para GPU, el método devolverá S_OK. Es posible que el sistema tenga que realizar una operación de reasignación para promover los recursos, pero no tendrá que copiar datos.

Si no hay ninguna asignación que incluya los recursos en el disco, pero al menos una asignación no está en memoria accesible para GPU, el método devolverá S_RESIDENT_IN_SHARED_MEMORY. Es posible que el sistema tenga que realizar una copia para promover el recurso.

Si al menos una asignación que comprende los recursos está en el disco, este método devolverá S_NOT_RESIDENT. Es posible que el sistema tenga que realizar una copia para promover el recurso.

Comentarios

Esta API no es más que una estimación razonable en la residencia, ya que los recursos pueden haberse degradado en el momento en que la aplicación los usa.

El patrón de uso esperado es el siguiente. Si la aplicación determina que un conjunto de recursos no son residentes, la aplicación reemplazará una versión de loD inferior del recurso y continuará con la representación. La API del administrador de memoria de vídeo, ofrece una característica para permitir que la aplicación exprese que desea que estos recursos de loD inferiores sean más probables para permanecer residentes en la memoria accesible para GPU. Es responsabilidad de la aplicación crear, rellenar y destruir estas versiones de LOD inferiores, si así lo elige.

La aplicación también debe comenzar la promoción de las versiones de LOD superiores cuando la comprobación de residencia indica que el recurso no reside en la memoria accesible para GPU. Dado que existe un bloqueo por proceso en modo kernel, una implementación eficaz generará un proceso independiente cuyo único trabajo es promover recursos. La aplicación comunica la identidad de recursos entre los dos procesos mediante la API de superficies compartidas de recursos compartidos y las promueve mediante SetPriority.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9.h
Library D3D9.lib

Consulte también

IDirect3DDevice9Ex