Partilhar via


D3DCREATE

Uma combinação de um ou mais sinalizadores que controlam o dispositivo criam comportamento.

#define Descrição
D3DCREATE_ADAPTERGROUP_DEVICE Aplicação pede ao dispositivo para dirigir todas as cabeças que este adaptador mestre possui. O sinalizador é ilegal em adaptadores não-mestre. Se esse sinalizador estiver definido, os parâmetros de apresentação passados para CreateDevice deverão apontar para uma matriz de D3DPRESENT_PARAMETERS. O número de elementos em D3DPRESENT_PARAMETERS deve ser igual ao número de adaptadores definidos pelo membro NumberOfAdaptersInGroup da estrutura D3DCAPS9. O tempo de execução do DirectX atribuirá cada elemento a cada head na ordem numérica especificada pelo membro AdapterOrdinalInGroup do D3DCAPS9.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT O Direct3D gerenciará recursos em vez do driver. As chamadas Direct3D não falharão por erros de recursos, como memória de vídeo insuficiente.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Como D3DCREATE_DISABLE_DRIVER_MANAGEMENT, o Direct3D gerenciará recursos em vez do driver. Ao contrário D3DCREATE_DISABLE_DRIVER_MANAGEMENT, D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX retornará erros para condições como memória de vídeo insuficiente.
D3DCREATE_DISABLE_PRINTSCREEN Faz com que o tempo de execução não registre teclas de atalho para Printscreen, Ctrl-Printscreen e Alt-Printscreen para capturar o conteúdo da área de trabalho ou da janela.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Restrinja a computação ao thread principal do aplicativo. Se o sinalizador não estiver definido, o tempo de execução poderá executar o processamento de vértice de software e outros cálculos no thread de trabalho para melhorar o desempenho em sistemas com vários processadores.
Diferenças entre o Windows XP e o Windows Vista:
Esse sinalizador está disponível no Windows Vista, Windows Server 2008 e Windows 7.

 

D3DCREATE_ENABLE_PRESENTSTATS Permite a recolha de estatísticas presentes no dispositivo. As chamadas para GetPresentStatistics retornarão dados válidos.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DCREATE_FPU_PRESERVE Defina a precisão para cálculos de ponto flutuante Direct3D com a precisão usada pelo thread de chamada. Se você não especificar esse sinalizador, o Direct3D assumirá como padrão o modo arredondado para o modo mais próximo de precisão única por dois motivos:
  • O modo de precisão dupla reduzirá o desempenho do Direct3D.
  • Partes do Direct3D assumem que as exceções da unidade de ponto flutuante são mascaradas; Desmascarar essas exceções pode resultar em comportamento indefinido.
D3DCREATE_HARDWARE_VERTEXPROCESSING Especifica o processamento de vértice de hardware.
D3DCREATE_MIXED_VERTEXPROCESSING Especifica o processamento de vértice misto (software e hardware). Para o Windows 10, versão 1607 e posterior, o uso dessa configuração não é recomendado. Ver D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Especifica o processamento de vértice do software. Para o Windows 10, versão 1607 e posterior, o uso dessa configuração não é recomendado. Use D3DCREATE_HARDWARE_VERTEXPROCESSING.

Nota:
A menos que o processamento de vértice de hardware não esteja disponível, o uso de processamento de vértice de software não é recomendado no Windows 10, versão 1607 (e versões posteriores) porque a eficiência do processamento de vértice de software foi significativamente reduzida enquanto melhorava a segurança da implementação.

 
D3DCREATE_MULTITHREADED Indica que o aplicativo solicita que o Direct3D seja multithread seguro. Isso faz com que um thread Direct3D se aproprie de sua seção global crítica com mais frequência, o que pode prejudicar o desempenho. Se um aplicativo processa mensagens de janela em um thread ao fazer chamadas de API Direct3D em outro, o aplicativo deve usar esse sinalizador ao criar o dispositivo. Esta janela também deve ser destruída antes de descarregar d3d9.dll.
D3DCREATE_NOWINDOWCHANGES Indica que o Direct3D não deve alterar a janela de foco de forma alguma.

Nota:
Se esse sinalizador estiver definido, o aplicativo deverá oferecer suporte total a todos os eventos de gerenciamento de foco, como ALT+TAB e eventos de clique do mouse.

 
D3DCREATE_PUREDEVICE Especifica que o Direct3D não suporta chamadas Get* para nada que possa ser armazenado em blocos de estado. Ele também diz ao Direct3D para não fornecer nenhum serviço de emulação para processamento de vértice. Isso significa que, se o dispositivo não suportar o processamento de vértices, o aplicativo poderá usar apenas vértices pós-transformados.
D3DCREATE_SCREENSAVER Permite protetores de tela durante um aplicativo de tela cheia. Sem esse sinalizador, o Direct3D desativará os protetores de tela enquanto o aplicativo de chamada estiver em tela cheia. Se o aplicativo de chamada já for um protetor de tela, esse sinalizador não terá efeito.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING e D3DCREATE_SOFTWARE_VERTEXPROCESSING são bandeiras mutuamente exclusivas. Pelo menos um desses sinalizadores de processamento de vértice deve ser especificado ao chamar CreateDevice.

Informação Constante

Exigência Valor
Cabeçalho D3D9.h
Sistema operativo mínimo Janelas 98

 

constantes Direct3D