D3DCREATE

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

#define Descrição
D3DCREATE_ADAPTERGROUP_DEVICE O aplicativo solicita que o dispositivo conduza todas as cabeças que este adaptador master possui. O sinalizador é ilegal em adaptadores não mestres. Se esse sinalizador for 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 definido pelo membro NumberOfAdaptersInGroup da estrutura D3DCAPS9 . O runtime do DirectX atribuirá cada elemento a cada cabeçalho 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 em erros de recurso, como memória de vídeo insuficiente.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Assim como D3DCREATE_DISABLE_DRIVER_MANAGEMENT, o Direct3D gerenciará recursos em vez do driver. Ao contrário de 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 runtime não registre teclas de acesso para Printscreen, Ctrl-Printscreen e Alt-Printscreen para capturar o conteúdo da área de trabalho ou da janela.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

D3DCREATE_DISABLE_PSGP_THREADING Restrinja a computação ao thread do aplicativo main. Se o sinalizador não estiver definido, o runtime poderá executar o processamento de vértice de software e outras computações no thread de trabalho para melhorar o desempenho em sistemas multiprocessador.
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 Habilita a coleta de estatísticas presentes no dispositivo. As chamadas para GetPresentStatistics retornarão dados válidos.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente 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 usará como padrão o modo arredondado para o mais próximo de precisão simples por dois motivos:
  • O modo de precisão dupla reduzirá o desempenho do Direct3D.
  • Partes do Direct3D pressupõem que as exceções de unidade de ponto flutuante são mascaradas; desmascarar essas exceções pode resultar em um 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. Confira D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Especifica o processamento de vértice de software. Para o Windows 10, versão 1607 e posterior, o uso dessa configuração não é recomendado. Use D3DCREATE_HARDWARE_VERTEXPROCESSING.

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

 
D3DCREATE_MULTITHREADED Indica que o aplicativo solicita que o Direct3D seja multithread safe. Isso faz com que um thread Direct3D assuma a propriedade de sua seção crítica global com mais frequência, o que pode prejudicar o desempenho. Se um aplicativo processar mensagens de janela em um thread ao fazer chamadas à API do Direct3D em outro, o aplicativo deverá usar esse sinalizador ao criar o dispositivo. Essa 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.

Observação:
Se esse sinalizador estiver definido, o aplicativo deverá dar 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 dá suporte a chamadas Get* para qualquer coisa que possa ser armazenada em blocos de estado. Ele também informa 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 der suporte ao processamento de vértice, o aplicativo poderá usar apenas vértices pós-transformados.
D3DCREATE_SCREENSAVER Permite protetores de tela durante um aplicativo de tela inteira. Sem esse sinalizador, o Direct3D desabilitará os protetores de tela enquanto o aplicativo de chamada estiver em tela inteira. Se o aplicativo de chamada já for um protetor de tela, esse sinalizador não terá efeito.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

 

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

Informações constantes

Requisito Valor
parâmetro D3D9.h
Sistema operacional mínimo Windows 98

 

Constantes Direct3D