Método IDXGISwapChain1::P resent1 (dxgi1_2.h)
Apresenta um quadro na tela de exibição.
Sintaxe
HRESULT Present1(
UINT SyncInterval,
UINT PresentFlags,
[in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);
Parâmetros
SyncInterval
Um inteiro que especifica como sincronizar a apresentação de um quadro com o espaço em branco vertical.
Para o modelo de transferência de bloco de bits (bitblt) (DXGI_SWAP_EFFECT_DISCARD ou DXGI_SWAP_EFFECT_SEQUENTIAL), os valores são:
- 0 – A apresentação ocorre imediatamente, não há sincronização.
- 1 a 4 – Sincronizar a apresentação após o nºem branco vertical.
- 0 – Cancele o tempo restante no quadro apresentado anteriormente e descarte esse quadro se um quadro mais recente estiver na fila.
- 1 a 4 – Sincronizar a apresentação para pelo menos n espaços em branco verticais.
Se a região de atualização ultrapassar mais de uma saída (cada uma representada por IDXGIOutput1), Present1 executará a sincronização com a saída que contém o maior subtângulo da área de cliente da janela de destino.
PresentFlags
Um valor inteiro que contém opções de apresentação de cadeia de troca. Essas opções são definidas pelas constantes DXGI_PRESENT .
[in] pPresentParameters
Um ponteiro para uma estrutura de DXGI_PRESENT_PARAMETERS que descreve retângulos atualizados e informações de rolagem do quadro a ser apresentado.
Retornar valor
Os valores retornados possíveis incluem: S_OK, DXGI_ERROR_DEVICE_REMOVED , DXGI_STATUS_OCCLUDED, DXGI_ERROR_INVALID_CALL ou E_OUTOFMEMORY.
Comentários
Um aplicativo pode usar Present1 para otimizar a apresentação especificando rolagem e retângulos sujo. Quando o runtime tem informações sobre esses retângulos, o runtime pode executar bitblts necessários durante a apresentação com mais eficiência e passar esses metadados para o DWM (Gerenciador de Janelas da Área de Trabalho). Em seguida, o DWM pode usar os metadados para otimizar a apresentação e passar os metadados para monitores indiretos e servidores de terminal para otimizar o tráfego pela transmissão. Um aplicativo deve limitar suas modificações apenas às sujo regiões que ele passa para Present1, bem como modificar toda a sujo região para evitar que conteúdos de recursos indefinidos sejam expostos.
Para cadeias de troca de modelo de apresentação invertida criadas com o conjunto de valores DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL , uma apresentação bem-sucedida resulta em uma desassociação do buffer 0 do pipeline gráfico, exceto quando você passa o sinalizador DXGI_PRESENT_DO_NOT_SEQUENCE no parâmetro Flags .
Para obter informações sobre como os valores de dados mudam quando você apresenta o conteúdo na tela, consulte Convertendo dados para o espaço de cores.
Para obter informações sobre como chamar Present1 quando seu aplicativo usa vários threads, consulte Considerações multithread e Multithreading e DXGI.
Fila do modelo de apresentação do Flip
Suponha que os quadros a seguir com valores de intervalo de sincronização sejam enfileirados do mais antigo (A) para o mais recente (E) antes de chamar Present1.R: 3, B: 0, C: 0, D: 1, E: 0
Quando você chama Present1, o runtime mostra o quadro A para apenas um intervalo vertical em branco. O runtime encerra o quadro A mais cedo devido ao intervalo de sincronização 0 no quadro B. Em seguida, o runtime mostra o quadro D para um intervalo em branco vertical e, em seguida, o quadro E até que você envie uma nova apresentação. O runtime descarta os quadros B e C.
Exibições de taxa de atualização variável
É um requisito de taxa de atualização variável que exibe que o tearing está habilitado. O método CheckFeatureSupport pode ser usado para determinar se esse recurso está disponível e, para definir os sinalizadores necessários, consulte as descrições de DXGI_PRESENT_ALLOW_TEARING e DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING e a seção Taxa de atualização variável é exibida/Vsync desativada do DXGI 1.5 Improvements.Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dxgi1_2.h |
Biblioteca | Dxgi.lib |