DXGI_PRESENT
As constantes DXGI_PRESENT especificam opções para apresentar quadros à saída.
Constante/valor | Descrição |
---|---|
|
Apresente um quadro de cada buffer (começando com o buffer atual) para a saída. |
DXGI_PRESENT_DO_NOT_SEQUENCE 0x00000002UL |
Apresente um quadro do buffer atual para a saída. Use esse sinalizador para que a apresentação possa usar a sincronização em branco vertical em vez de sequenciar buffers na cadeia da maneira usual. Nota: Se o aplicativo de chamada definir a constante DXGI_PRESENT_DO_NOT_SEQUENCE na primeira operação atual (ou seja, quando não houver buffer atual), o runtime ignorará essa operação atual e não chamará o driver. |
|
Não apresente o quadro à saída. O status da cadeia de troca será testado e os erros apropriados retornados. DXGI_PRESENT_TEST destina-se ao uso somente ao alternar do estado ocioso; não o use para determinar quando alternar para o estado ocioso, pois isso pode deixar a cadeia de troca incapaz de sair do modo de tela inteira. |
|
Especifica que o runtime descartará os presentes em fila pendentes. |
|
Especifica que o runtime falhará na apresentação (ou seja, falhará uma chamada para IDXGISwapChain1::P resent1) com o código de erro DXGI_ERROR_WAS_STILL_DRAWING se o thread de chamada estiver bloqueado; o runtime retorna DXGI_ERROR_WAS_STILL_DRAWING em vez de suspensão até que a dependência seja resolvida. Direct3D 11: Esse valor de enumeração tem suporte a partir do Windows 8. |
DXGI_PRESENT_RESTRICT_TO_OUTPUT 0x00000010UL |
Indica que o conteúdo da apresentação será mostrado somente na saída específica. O conteúdo não ficará visível em outras saídas. Por exemplo, se o usuário tentar realocar o conteúdo do vídeo em outra saída, o conteúdo do vídeo não ficará visível. Direct3D 11: Esse valor de enumeração tem suporte a partir do Windows 8. Nota: Esse sinalizador só deve ser usado com efeito de troca DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL ou DXGI_SWAP_EFFECT_FLIP_DISCARD. O uso desse sinalizador com outros efeitos de troca está sendo preterido e pode não funcionar em versões futuras do Windows. |
|
Indica que, se o estéreo presente precisar ser reduzido a mono, a visualização do olho direito será usada em vez da exibição com o olho esquerdo. Direct3D 11: Esse valor de enumeração tem suporte a partir do Windows 8. |
|
Indica que a apresentação deve usar o buffer esquerdo como um buffer mono. Um aplicativo chama o método IDXGISwapChain1::IsTemporaryMonoSupported para determinar se uma cadeia de troca dá suporte a "mono temporário". Direct3D 11: Esse valor de enumeração tem suporte a partir do Windows 8. |
DXGI_PRESENT_USE_DURATION 0x00000100UL |
Esse sinalizador deve ser definido por aplicativos de mídia que estão atualmente usando uma duração presente personalizada (taxa de atualização personalizada). Consulte IDXGISwapChainMedia. Nota: Esse valor tem suporte a partir de Windows 8.1. |
|
Permitir a desinstalação é um requisito de exibições de taxa de atualização variável. As condições para usar DXGI_PRESENT_ALLOW_TEARING durante Presente são as seguintes:
|
Comentários
As opções de apresentação são fornecidas durante a chamada IDXGISwapChain::P resent ou IDXGISwapChain1::P resent1 . Os buffers são especificados na descrição da cadeia de troca (consulte DXGI_SWAP_CHAIN_DESC ou DXGI_SWAP_CHAIN_DESC1).
DXGI_PRESENT_RESTART é válido somente para cadeias de troca de modelo de flip e tela inteira. Os aplicativos podem usar DXGI_PRESENT_RESTART para se recuperar de falhas na reprodução, bem como para descartar apresentações enfileiradas anteriormente. Descartar apresentações enfileiradas anteriormente será útil se essas apresentações enfileiradas forem cenários em janelas. Em particular, a apresentação anteriormente enfileirada pode ter assumido que a janela é um tamanho antigo (ou seja, uma operação de redimensionamento ocorreu após o envio).
DXGI_PRESENT_RESTRICT_TO_OUTPUT é válido somente para cadeias de troca que especificaram uma saída específica para restringir o conteúdo a quando essas cadeias de troca foram criadas (IDXGIFactory2::CreateSwapChainForHwnd). Se não houver nenhuma saída para restringir, o sinalizador será inválido.
DXGI_PRESENT_STEREO_PREFER_RIGHT indica que, se o estéreo presente precisar ser reduzido a mono, o olho direito deverá ser usado em vez do olho esquerdo (padrão). Você poderá usar esse sinalizador se um lado for de maior qualidade (por exemplo, se o par estéreo for sintetizado de uma imagem padrão).)
DXGI_PRESENT_STEREO_TEMPORARY_MONO indica que o presente deve usar o buffer esquerdo como um buffer mono. Você pode usar esse sinalizador para evitar atualizar o buffer direito quando um aplicativo temporariamente não tiver conteúdo estéreo. Você deve usar esse sinalizador sempre que possível, pois ele permite otimização significativa pelo sistema operacional e, em algumas circunstâncias, pode evitar artefatos de alteração de modo visível.
Você deve usar o sinalizador DXGI_PRESENT_STEREO_TEMPORARY_MONO em preferência para alternar para uma cadeia de troca mono para a maioria dos aplicativos que você prevê que usará estéreo novamente. Você precisa equilibrar o uso desse sinalizador em aplicativos que são de execução extremamente longa ou que raramente exibem estéreo em relação à desvantagem da memória não utilizada.
Observação
Aplicativos de tela inteira que alternam para uma cadeia de troca mono causam uma alteração de modo que geralmente tem artefatos visíveis (por exemplo, "piscando"). No entanto, o mono temporário pode não ter suporte para cadeias de troca de tela inteira.
Os sinalizadores DXGI_PRESENT_STEREO_PREFER_RIGHT e DXGI_PRESENT_STEREO_TEMPORARY_MONO aplicam-se somente a cadeias de troca estéreo. Se você usá-las quando apresentar cadeias de troca mono, ocorrerá uma operação inválida.
Se você usar o sinalizador DXGI_PRESENT_STEREO_TEMPORARY_MONO ao apresentar uma cadeia de troca estéreo que não dá suporte a mono temporário, ocorrerá um erro, a cadeia de troca não será exibida e a apresentação retornará DXGI_ERROR_INVALID_CALL.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Confira também