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.
Os drivers do Modelo de Driver de Exibição do Windows (WDDM) 1.3 e posteriores podem oferecer suporte a melhorias no desempenho de renderização do Microsoft Direct3D que permitem que o hardware do Direct3D 9 faça um melhor uso dos buffers e contadores de comando de hardware e realize cópias eficientes da memória do sistema para subrecursos. Esses recursos, que espelham alguns dos recursos disponíveis para hardware direct3D versão 10, são novos a partir do Windows 8.1.
Novos aprimoramentos de aparagem de recursos e desempenho padrão de mapeamento no Direct3D 11.1 também estão disponíveis. O cenário padrão do mapa é descrito na seção Alterações de comportamento abaixo.
Referência de desempenho de renderização
Esta seção de referência descreve as DDIs (interfaces de driver de dispositivo) no modo de usuário.
Funções de desempenho de renderização direct3D implementadas pelo driver de modo de usuário
Esta seção contém funções que um WDDM (Modelo de Driver de Exibição do Windows) 1.3 e um driver de exibição do modo de usuário posterior implementa para dar suporte a melhorias no desempenho de renderização do Microsoft Direct3D.
PFND3DDDI_FLUSH1: PFND3DDDI_CHECKCOUNTERINFO
PFND3DDDI_CHECKCOUNTER: PFND3DDDI_UPDATESUBRESOURCEUP
Estruturas e enumerações de desempenho de renderização Direct3D
Essas estruturas e enumerações de modo de usuário dão suporte a melhorias de desempenho de renderização e são novas ou atualizadas para o Windows 8.1. Exceto para D3D11_1_DDI_FLUSH_FLAGS, todos se aplicam a drivers de Nível 9 do Direct3D.
- D3DDDI_FLUSH_FLAGS (novo)
- D3DDDIARG_COPYFLAGS (novo)
- D3DDDIARG_COUNTER_INFO (novo)
- D3DDDIARG_UPDATESUBRESOURCEUP (novo)
- D3DDDICAPS_SIMPLE_INSTANCING_SUPPORT (novo)
- Os drivers CreateResource2 (WDDM 1.3 e posteriores do Direct3D Nível 9 devem retornar o código de erro E_INVALIDARG se o valor do sinalizador CaptureBuffer estiver definido)
- D3D11_1_DDI_FLUSH_FLAGS (constante D3DWDDM1_3DDI_TRIM_MEMORY adicionada)
- D3DDDI_DEVICEFUNCS (membros pfnFlush1, pfnCheckCounterInfo, pfnCheckCounter, pfnUpdateSubresourceUP adicionados)
- D3DDDI_POOL (constante D3DDDIPOOL_STAGINGMEM adicionada)
- D3DDDICAPS_TYPE (constante D3DDDICAPS_GET_SIMPLE_INSTANCING_SUPPORT adicionada)
- GetCaps (novas informações em Comentários)
Requisitos de implementação de DDI começando com o WDDM 1.3
A partir do WDDM 1.3, as funções a seguir são necessárias ou opcionais para os drivers de modo de usuário implementarem.
| Grupo de funções | Descrição |
|---|---|
Funções do Direct3D 9 que são opcionais antes do WDDM 1.3. Agora é necessário: |
|
Funções do Direct3D 9 que estão disponíveis a partir do WDDM 1.3. Um driver deve implementar todas essas funções ou nenhuma delas: |
|
Quando as funções opcionais do WDDM 1.3 e posterior imediatamente acima são implementadas, essas funções têm alterações de comportamento associadas: |
Esses cenários se aplicam quando GetCaps é chamado:
|
Essas funções do Direct3D 11 têm alterações de comportamento associadas: |
|
Alterações de comportamento para chamadas para criar recursos, mapear e cancelar o mapa de funções
Para essas funções que são implementadas por drivers WDDM 1.3 e posteriores, o runtime do Direct3D fornece um conjunto restrito de valores de entrada para o cenário padrão do mapa. Esses valores restritos se aplicam somente a drivers que dão suporte ao nível de recurso 11.1 e posterior.
Esses membros da estrutura D3D11DDIARG_CREATERESOURCE de entrada são restritos:
| Membro | Descrição |
|---|---|
ResourceDimension e Usage |
Essas alterações de comportamento só se aplicam quando o runtime do Direct3D fornece o tipo D3D10DDIRESOURCE_BUFFER para ResourceDimension e o tipo D3D10_DDI_USAGE_DEFAULT para Usage. |
BindFlags |
O runtime do Direct3D define apenas os valores D3D10_DDI_BIND_SHADER_RESOURCE e D3D11_DDI_BIND_UNORDERED_ACCESS . |
MapFlags |
Se todos os outros requisitos de membro listados aqui forem atendidos, o runtime poderá definir valores D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE e D3D10_DDI_MAP_READWRITE . O driver deve dar suporte a esses valores. Valores de D3D10_DDI_MAP_WRITE_DISCARD e D3D10_DDI_MAP_WRITE_NOOVERWRITE são inválidos. |
MiscFlags |
O runtime define apenas os valores D3D11_DDI_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS e D3D11_DDI_RESOURCE_MISC_BUFFER_STRUCTURED. |
Formato |
O runtime define apenas o valor DXGI_FORMAT_UNKNOWN . |
SampleDesc |
O runtime define os membros DXGI_SAMPLE_DESC.Count como 1 e Quality como zero. |
MipLevels |
O runtime define o valor como 1. |
ArraySize |
O runtime define o valor como 1. |
pPrimaryDesc |
O runtime define o valor como NULL. |
ResourceMapfunção—
Esses parâmetros de entrada para ResourceMap são restritos:
| Parâmetro | Descrição |
|---|---|
hResource |
O runtime do Direct3D define apenas um recurso de D3D10DDIRESOURCE_BUFFER quando um valor diferente de zero para MapFlags é definido na chamada de criação para CreateResource(D3D11). |
O runtime define apenas o valor DXGI_FORMAT_UNKNOWN . |
|
Sub-fonte |
O runtime define apenas o valor como 0. |
DDIMap |
Se todos os outros requisitos de membro listados aqui forem atendidos, o runtime poderá definir D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE ou D3D10_DDI_MAP_READWRITE valores, correspondendo ao valor mapFlags definido na chamada de criação para CreateResource(D3D11). |
Flags |
Embora o valor de entrada do runtime não seja restrito, o driver deve ser capaz de dar suporte ao valor D3D10_DDI_MAP_FLAG_DONOTWAIT . |
pMappedSubResource |
Embora o valor de entrada do runtime não seja restrito, o driver deve atribuir um ponteiro CPU-cacheável válido ao D3D10DDI_MAPPED_SUBRESOURCE ao membro pData e deve ajustar RowPitch e DepthPitch de modo que correspondam ao tamanho do buffer e aos dados fornecidos no pData. |
Esses parâmetros de entrada para ResourceUnmap são restritos:
| Parâmetro | Descrição |
|---|---|
hDevice |
Embora o valor de entrada do runtime do Direct3D não seja restrito, deve corresponder ao valor hDevice da chamada ResourceMap original. |
hResource |
O runtime define apenas um recurso de D3D10DDIRESOURCE_BUFFER quando um valor diferente de zero para MapFlags é definido na chamada de criação para CreateResource(D3D11). |
Sub-fonte |
O runtime define apenas o valor como 0. |