Especificar el tipo de memoria para un recurso

El controlador de visualización en modo de usuario recibe información sobre el tipo de memoria que se debe usar cuando recibe una solicitud para crear un recurso. El tipo de memoria se especifica como memoria de sistema o vídeo a través de los enumeradores de D3DDDIPOOL_SYSTEMMEM o D3DDDIPOOL_VIDEOMEMORY, respectivamente, del miembro Pool de la estructura D3DDDIARG_CREATERESOURCE . Además, el tiempo de ejecución de Microsoft Direct3D proporciona sugerencias al controlador sobre el tipo de memoria de vídeo que se va a usar especificando uno de los siguientes enumeradores en el miembro Pool :

  • D3DDDIPOOL_LOCALVIDMEM

    El tiempo de ejecución recomienda que el controlador use la memoria de vídeo local.

  • D3DDDIPOOL_NONLOCALVIDMEM

    El tiempo de ejecución recomienda que el controlador use memoria de vídeo no local (por ejemplo, memoria AGP).

El tiempo de ejecución proporciona sugerencias al controlador de pantalla en modo de usuario para mejorar el rendimiento. Por ejemplo, el tiempo de ejecución podría especificar D3DDDIPOOL_NONLOCALVIDMEM si la CPU escribe en la superficie, que se realiza más rápido mediante la memoria de vídeo no local.

El controlador de pantalla en modo de usuario pasa las sugerencias al controlador de minipuerto de pantalla a través de los miembros pPrivateDriverData de la D3DDDI_ALLOCATIONINFO y DXGK_ALLOCATIONINFO estructuras de forma específica del proveedor. El controlador de minipuerto de pantalla indica al administrador de memoria de vídeo el segmento de memoria adecuado que se usará devolviendo el identificador del segmento en el miembro HintedSegmentId de la estructura DXGK_ALLOCATIONINFO desde una llamada a la función DxgkDdiCreateAllocation del controlador.

Independientemente del tipo de memoria de vídeo que se usa para crear el recurso, el controlador de pantalla en modo de usuario no debe exponer ninguna diferencia semántica al tiempo de ejecución. Es decir, para cada tipo de memoria de vídeo, el controlador debe representar la información de forma idéntica y debe devolver los mismos valores devueltos.