Residência de driver no WDDM 2.0
Esta seção fornece detalhes sobre as alterações de residência do driver para o WDDM (Modelo de Driver de Exibição do Windows) 2.0. A funcionalidade descrita está disponível a partir do Windows 10.
Nesta seção
Tópico | Descrição |
---|---|
Com a introdução do novo modelo de residência, a residência está sendo movida para uma lista explícita no dispositivo em vez da lista de buffers por comando. O gerenciador de memória de vídeo garantirá que todas as alocações em uma lista de requisitos de residência de dispositivo específica sejam residentes antes que quaisquer contextos pertencentes a esse dispositivo sejam agendados para execução. |
|
Com a lista de alocação ausente, o gerenciador de memória de vídeo não tem mais visibilidade das alocações que estão sendo referenciadas em um buffer de comando específico. Como resultado disso, o gerenciador de memória de vídeo não está mais em posição de acompanhar o uso da alocação e lidar com a sincronização relacionada. Essa responsabilidade agora se enquadrará no driver do modo de usuário. Em particular, o driver de modo de usuário terá que lidar com a sincronização em relação ao acesso direto da CPU à alocação, bem como à renomeação. |
|
Para o WDDM v2, os requisitos em torno de Oferta e Recuperação estão sendo relaxados. Os drivers de modo de usuário não são mais necessários para usar a oferta e recuperar em alocações internas. Aplicativos ociosos/suspensos se livrarão dos recursos internos do driver usando a API trimque foi introduzida no Microsoft DirectX 11.1. |
|
O acesso à GPU (unidade de processamento gráfico) a alocações que não são residentes é ilegal e resultará em um dispositivo removido para o aplicativo que gerou o erro. Há dois modelos distintos de tratamento desse acesso inválido dependendo se o mecanismo com falha dá suporte ao endereçamento virtual de GPU ou não:
|
|
No WDDM v2, os processos receberão orçamentos para a quantidade de memória que podem manter residentes. Esse orçamento pode mudar ao longo do tempo, mas geralmente só será imposto quando o sistema estiver sob pressão de memória. Antes do Microsoft Direct3D 12, o orçamento é tratado pelo driver de modo de usuário na forma de notificações trim e falhas makeResident com STATUS_NO_MEMORY. As chamadas MakeResident com falha e notificação TrimToBudget retornam o orçamento mais recente na forma de um valor numBytesToTrim inteiro que indica quanto precisa ser cortado para se ajustar ao novo orçamento. |