Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El controlador de pantalla en modo de usuario no se carga en varios procesos simultáneamente: la DLL del controlador de visualización en modo de usuario se carga en el espacio de direcciones de cada proceso por separado. Aun así, se pueden ejecutar varios subprocesos en el controlador de pantalla en modo de usuario al mismo tiempo. Sin embargo, cada subproceso que se ejecuta en el controlador de pantalla en modo de usuario debe tener acceso a un dispositivo de visualización diferente, que se crea mediante una llamada a la función CreateDevice del controlador de pantalla en modo de usuario. Por ejemplo:
Una aplicación que crea dos dispositivos Microsoft Direct3D puede tener dos subprocesos que acceden a estos dispositivos de forma independiente.
Una aplicación puede usar, en dos subprocesos diferentes, un dispositivo Direct3D que el entorno de ejecución de DirectX 9.0 Direct3D creó junto con un dispositivo de Microsoft DirectDraw que creó el entorno de ejecución de DirectX 5.0.
Nota Dos o más subprocesos que usan el mismo dispositivo de visualización nunca se pueden ejecutar simultáneamente en el controlador de pantalla en modo de usuario.
Al igual que el controlador de minipuerto de pantalla, el controlador de pantalla en modo de usuario no es necesario para usar ninguna estructura de datos global, ya que los dispositivos Direct3D son independientes y el estado y los recursos de cada dispositivo no afectan a los demás dispositivos. Si el controlador de pantalla en modo de usuario debe mantener estructuras de datos globales entre dispositivos (por ejemplo, para un administrador de montón de memoria del sistema personalizado), debe arbitrar el acceso mediante sus propios mecanismos. No se recomienda encarecidamente estas estructuras de datos globales que administra el controlador. Dado que el tiempo de ejecución de Direct3D abre una "vista" independiente del recurso compartido en cada dispositivo de visualización en modo de usuario que debe tener acceso al recurso, los recursos entre procesos o entre dispositivos no se deben controlar de forma diferente a los recursos que usa un único proceso o dispositivo. La duración y otra administración se controlan mediante el subsistema del kernel de gráficos de DirectX (Dxgkrnl.sys).
En equipos con varios procesadores, el entorno de ejecución de Direct3D podría llamar a un controlador de visualización en modo de usuario desde un subproceso de trabajo en lugar de desde el subproceso de aplicación principal. Esta optimización de varios procesadores es transparente para el controlador de pantalla en modo de usuario. Cuando el tiempo de ejecución usa la optimización de varios procesadores, sigue garantizando que solo se ejecute un subproceso que haga referencia a un dispositivo determinado en el controlador en un momento dado.