estrutura DXGI_PRESENT_PARAMETERS (dxgi1_2.h)
Descreve informações sobre o presente que ajudam o sistema operacional a otimizar a apresentação.
Sintaxe
typedef struct DXGI_PRESENT_PARAMETERS {
UINT DirtyRectsCount;
RECT *pDirtyRects;
RECT *pScrollRect;
POINT *pScrollOffset;
} DXGI_PRESENT_PARAMETERS;
Membros
DirtyRectsCount
O número de retângulos atualizados que você atualiza no buffer traseiro para o quadro apresentado. O sistema operacional usa essas informações para otimizar a apresentação. Você pode definir esse membro como 0 para indicar que você atualiza todo o quadro.
pDirtyRects
Uma lista de retângulos atualizados que você atualiza no buffer traseiro para o quadro apresentado. Um aplicativo deve atualizar cada pixel em cada retângulo que ele relata para o runtime; o aplicativo não pode assumir que os pixels são salvos do quadro anterior. Para obter mais informações sobre como atualizar sujo retângulos, consulte Comentários. Você pode definir esse membro como NULL se DirtyRectsCount for 0. Um aplicativo não deve atualizar nenhum pixel fora dos retângulos sujo.
pScrollRect
Um ponteiro para o retângulo rolado. O retângulo rolado é o retângulo do quadro anterior do qual o bloco de bits de runtime transfere (bitblts). O runtime também usa o retângulo rolado para otimizar a apresentação em cenários de exibição indireta e de servidor de terminal.
O retângulo rolado também descreve o retângulo de destino, ou seja, a região no quadro atual que é preenchido com conteúdo rolado. Você pode definir esse membro como NULL para indicar que nenhum conteúdo é rolado do quadro anterior.
pScrollOffset
Um ponteiro para o deslocamento da área rolada que vai do retângulo de origem (do quadro anterior) para o retângulo de destino (do quadro atual). Você pode definir esse membro como NULL para indicar nenhum deslocamento.
Comentários
Essa estrutura é usada pelo método Present1 .
O retângulo de rolagem e a lista de retângulos sujo podem se sobrepor. Nessa situação, os retângulos sujo são prioritários. Em seguida, os aplicativos podem ter partes de conteúdo dinâmico sobre uma área rolada. Por exemplo, um aplicativo pode rolar uma página e reproduzir vídeo ao mesmo tempo.
O diagrama e as coordenadas a seguir ilustram este exemplo.
DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }
Partes do quadro anterior e do conteúdo que o aplicativo renderiza são combinadas para produzir o quadro final que o sistema operacional apresenta na tela de exibição. A maior parte da janela é rolada do quadro anterior. O aplicativo deve atualizar o quadro de vídeo com a nova parte do conteúdo que aparece devido à rolagem.
O retângulo tracejado mostra o retângulo de rolagem no quadro atual. O retângulo de rolagem é especificado pelo membro pScrollRect . A seta mostra o deslocamento de rolagem. O deslocamento de rolagem é especificado pelo membro pScrollOffset . Retângulos preenchidos mostram sujo retângulos que o aplicativo atualizou com o novo conteúdo. Os retângulos preenchidos são especificados pelos membros DirtyRectsCount e pDirtyRects .
Não há suporte para o retângulo de rolagem e deslocamento para a opção DXGI_SWAP_EFFECT_DISCARD ou DXGI_SWAP_EFFECT_SEQUENTIAL presente. Não há suporte para retângulos sujos e retângulo de rolagem para cadeias de troca multisampled.
A implementação real da composição e dos bitblts necessários é diferente para o modelo bitblt e o modelo de inversão. Para obter mais informações sobre esses modelos, consulte DXGI Flip Model.
Para obter mais informações sobre a cadeia de troca de modelo flip e a apresentação de otimização, consulte Aprimorando a apresentação com o modelo de inversão, sujo retângulos e áreas roladas.
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] |
Cabeçalho | dxgi1_2.h |