Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O driver de exibição do modo de usuário não é carregado em vários processos simultaneamente– a DLL do driver de exibição do modo de usuário é carregada no espaço de endereço de cada processo separadamente. Ainda assim, vários threads podem ser executados no driver de exibição do modo de usuário ao mesmo tempo. No entanto, cada thread em execução no driver de exibição do modo de usuário deve acessar um dispositivo de exibição diferente, que é criado por uma chamada para a função CreateDevice do driver de exibição no modo de usuário. Por exemplo:
Um aplicativo que cria dois dispositivos Microsoft Direct3D pode ter dois threads que acessam esses dispositivos de forma independente.
Um aplicativo pode usar, em dois threads diferentes, um dispositivo Direct3D que o runtime do Microsoft DirectX 9.0 Direct3D criou junto com um dispositivo Microsoft DirectDraw criado pelo runtime do DirectX 5.0.
Nota Dois ou mais threads que estão usando o mesmo dispositivo de exibição nunca podem ser executados no driver de exibição do modo de usuário simultaneamente.
Assim como o driver de miniporto de exibição, o driver de exibição no modo de usuário não é necessário para usar estruturas de dados globais, pois os dispositivos Direct3D são independentes e o estado e os recursos de cada dispositivo não afetam os outros dispositivos. Se o driver de exibição do modo de usuário precisar manter estruturas globais de dados entre dispositivos (como, para um gerenciador de heap de memória do sistema personalizado), ele deverá arbitrar o acesso usando seus próprios mecanismos. Essas estruturas de dados globais que o driver gerencia são fortemente desencorajadas. Como o runtime do Direct3D abre uma "exibição" independente do recurso compartilhado em cada dispositivo de exibição no modo de usuário que deve acessar o recurso, os recursos entre processos ou entre dispositivos não devem ser tratados de forma diferente dos recursos que um único processo ou dispositivo usa. O tempo de vida e outros gerenciamentos são tratados pelo subsistema de kernel de elementos gráficos DirectX (Dxgkrnl.sys).
Em computadores com vários processadores, o runtime do Direct3D pode chamar um driver de exibição do modo de usuário de um thread de trabalho em vez de do thread de aplicativo main. Essa otimização de vários processadores é transparente para o driver de exibição do modo de usuário. Quando o runtime usa a otimização de vários processadores, ele ainda garante que apenas um thread que referencie um determinado dispositivo seja executado no driver a qualquer momento.