Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Descreve a relação entre a taxa de atualização do adaptador e a taxa a que as operações Presente ou Presente são concluídas. Estes valores também servem como valores de bandeira para o campo PresentationIntervals de D3DCAPS9.
| Constante | Description |
|---|---|
|
Use o front buffer tanto como superfície de origem como de destino durante a renderização. Uma sincronização de frames é agendada, mas a superfície apresentada não muda. Esta bandeira só está disponível quando a aplicação está em modo de ecrã completo e D3DSWAPEFFECT_FLIPEX foi especificado. Esta bandeira está disponível apenas em Direct3D 9Ex. |
|
Uma apresentação não pode ser agendada por um dispositivo HAL. Se esta flag estiver definida numa chamada para o Present, e o hardware estiver ocupado a processar ou à espera de um intervalo de sincronização vertical, então o Present devolverá D3DERR_WASSTILLDRAWING para indicar que a operação blit está incompleta. |
|
Reservado. |
|
D3DPRESENT_INTERVAL_IMMEDIATE é aplicado neste chamado Present . Esta bandeira só pode ser especificada ao usar D3DSWAPEFFECT_FLIPEX. Os comportamentos de apresentação em janela e em ecrã inteiro são os mesmos. Isto é especialmente útil para aplicações de media que querem descartar frames detetados como atrasados e apresentar frames subsequentes no momento da composição. Um erro de parâmetro inválido será devolvido se este flag for especificado incorretamente. Quando vários frames consecutivos com D3DPRESENT_FORCEIMMEDIATEs estão em fila, apenas o último frame é exibido, tanto para apresentação em janela como em ecrã completo. Este flag está disponível no Direct3D 9Ex em sistemas operativos Windows 7 ou posteriores. Ao usar D3DSWAPEFFECT_FLIPEX, cada frame apresentado com D3DPRESENT_INTERVAL_IMMEDIATE ou D3DPRESENT_INTERVAL_FORCEIMMEDIATE irá sobrepor o intervalo presente do frame anterior. Por exemplo, se enfileirar os seguintes frames usando os seguintes efeitos de swap: frame A (D3DPRESENT_INTERVAL_ONE), frame B(D3DPRESENT_INTERVAL_ONE), frame C(D3DPRESENT_INTERVAL_ONE), frame D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), o frame D irá sobrepor o intervalo presente do frame C. Os fotogramas exibidos por intervalo presente são o quadro A, o quadro B (quadro C sobreposto por) o quadro D. Ver Observações. |
|
Isto é quase equivalente a D3DPRESENT_INTERVAL_ONE. Ver observações. |
|
O driver espera pelo período de retração vertical (o tempo de execução "segue o feixe" para evitar rasgões).
As operações atuais não serão afetadas com mais frequência do que a atualização do ecrã; o tempo de execução completará no máximo uma operação Present por período de atualização do adaptador. Isto é equivalente a usar D3DSWAPEFFECT_COPY_VSYNC no DirectX 8.1. Esta opção está sempre disponível tanto para cadeias de troca em janela como em ecrã inteiro. Ver observações. |
|
O condutor espera pelo período de regresso vertical.
As operações atuais não serão afetadas com mais frequência do que a cada segunda atualização do ecrã. Verifique o limite de PresentationIntervals (veja D3DCAPS9) para ver se D3DPRESENT_INTERVAL_TWO é suportado pelo driver. |
|
O condutor espera pelo período de regresso vertical.
As operações atuais não serão afetadas com mais frequência do que a cada terceira atualização do ecrã. Verifique o limite de PresentationIntervals (ver D3DCAPS9) para ver se D3DPRESENT_INTERVAL_THREE é suportado pelo driver. |
|
O condutor espera pelo período de regresso vertical.
As operações atuais não serão afetadas com mais frequência do que a cada quatro atualizações de ecrã. Verifique o membro PresentationIntervals (ver D3DCAPS9) para ver se D3DPRESENT_INTERVAL_FOUR é suportado pelo driver. |
|
O tempo de execução atualiza imediatamente a área do cliente da janela e pode fazê-lo mais do que uma vez durante o período de atualização do adaptador. Isto é equivalente a usar D3DSWAPEFFECT_COPY no DirectX 8.
As operações atuais poderão ser afetadas imediatamente. Esta opção está sempre disponível tanto para cadeias de troca em janela como em ecrã inteiro. Ver observações. |
|
O conteúdo do backbuffer a apresentar encontra-se no espaço de cor linear.
|
|
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR |
Prende o conteúdo renderizado ao monitor/dispositivo que o adaptador está a direcionar, mostra miniaturas do conteúdo na vista Flip3D e miniaturas da barra de tarefas noutros monitores. Esta bandeira está disponível apenas em Direct3D 9Ex. Consulte o Gestor de Janelas do Ambiente de Trabalho para mais detalhes sobre esta funcionalidade do Windows Vista. Se não estiveres a correr em modo de composição de ambiente de trabalho, a flag apresenta o mesmo comportamento que D3DPRESENTFLAG_DEVICECLIP. Nota: Esta flag só deve ser usada com o efeito de troca D3DSWAPEFFECT_FLIPEX. O uso desta bandeira com outros efeitos de troca está a ser obsoleto e pode não funcionar em versões futuras do Windows. |
|
Atualiza a posição da sobreposição ou os dados da colorkey sem causar uma inversão real e sem alterar a duração com que a imagem é apresentada. Esta bandeira está disponível apenas em Direct3D 9Ex. |
|
Desliga o hardware de sobreposição. Esta bandeira está disponível apenas em Direct3D 9Ex. |
|
Redesenha os dados da colorkey. Esta bandeira está disponível apenas em Direct3D 9Ex. |
Observações
O modo janela suporta D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE e D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT e o D3DPRESENT_INTERVAL_ONE são quase equivalentes (ver a informação sobre a resolução do temporizador abaixo). Funcionam de forma semelhante ao COPY_VSYNC, pois há apenas um presente por fotograma e evitam rasgões com o seguimento do feixe. Em contraste, D3DPRESENT_INTERVAL_IMMEDIATE tentará oferecer uma tarifa de apresentação ilimitada.
O modo de ecrã inteiro suporta um uso semelhante ao modo janela, suportando D3DPRESENT_INTERVAL_IMMEDIATE independentemente da taxa de atualização ou do efeito de troca. D3DPRESENT_INTERVAL_DEFAULT utiliza a resolução padrão do temporizador do sistema, enquanto o D3DPRESENT_INTERVAL_ONE chama timeBeginPeriod para melhorar a resolução do temporizador do sistema. Isto melhora a qualidade da sincronização vertical, mas consome um pouco mais de tempo de processamento. Ambos os parâmetros tentam sincronizar-se verticalmente.
Requerimentos
| Requisito | Valor |
|---|---|
| Header |
|