Registro de driver no modo de usuário
Este artigo fornece uma visão geral do log do driver do modo de usuário no WDDM.
Para obter uma divisão mais acionável da memória de vídeo, um driver WDDM precisa expor a relação entre os recursos do Direct3D e as alocações de memória de vídeo. A partir do Windows 8, esse recurso é possível com a adição de interfaces de log UMD (driver de modo de usuário). Com essas informações adicionadas aos rastreamentos do ETW (Rastreamento de Eventos para Windows), é possível ver as alocações de memória de vídeo da perspectiva da API.
Requisitos:
- Versão mínima do WDDM: 1.2
- Versão mínima do Windows: 8
- Implementação do driver - somente gráficos completos e renderização: obrigatório
- Requisitos e testes do WHLK : Device.Graphics¦UMDLogging
Para desenvolvedores, o log UMD pode esclarecer os custos de memória, como fragmentação interna ou o efeito de descartar superfícies rapidamente. Ele permite que a Microsoft trabalhe melhor com clientes e parceiros que fornecem rastreamentos para análise de problemas de desempenho. Em particular, esse recurso pode ajudar a superar um ponto de bloqueio comum na investigação de problemas de desempenho relacionados à memória: o aplicativo está usando um conjunto de trabalho muito grande, mas você não pode determinar quais recursos ou chamadas de API estão causando o problema.
O driver deve expor a relação entre os recursos do Direct3D e as alocações de memória de vídeo implementando as interfaces ETW do UMD. Além dos eventos de log, o driver deve ser capaz de relatar todos os mapeamentos existentes entre recursos e alocações a qualquer momento.
DDI de registro de alocação de driver UMD
A DDI de log de alocação do UMD fornece eventos no recurso de rastreamento no nível do kernel do ETW que mostram quais recursos de API estão associados a quais alocações de kernel no subsistema de kernel de gráficos do DirectX (Dxgkrnl.sys).
Você pode usar a DDI para:
- Descubra a fragmentação da memória interna ou o efeito de superfícies sendo rapidamente descartadas.
- Forneça melhores informações de rastreamento para a Microsoft para ajudá-lo a identificar problemas de desempenho.
- Ajudar a determinar quando os recursos ou as chamadas de API de um aplicativo estão fazendo com que ele use um conjunto de memória de trabalho muito grande.
Use estas funções, enumeração e estrutura do cabeçalho umdprovider.h para registrar eventos em seu UMD:
- Função UMDEtwLogMapAllocation
- Função UMDEtwLogUnmapAllocation
- Função UMDEtwRegister
- Função UMDEtwUnregister
- UMDETW_ALLOCATION_SEMANTIC enumeração
- UMDETW_ALLOCATION_USAGE estrutura
Veja também o cabeçalho umdetw.h .
Requisitos de certificação de hardware
Para obter informações sobre os requisitos que os dispositivos de hardware devem atender ao implementar esse recurso, consulte a documentação do WHLK em Device.Graphics ¦ UMDLogging.
Consulte Recursos do WDDM 1.2 para obter uma revisão dos recursos adicionados com Windows 8.