Udostępnij przez


D3DPRESENT

Opisuje relację między częstotliwością odświeżania karty a szybkością ukończenia operacji obecnych lub obecnych . Te wartości służą również jako wartości flagi dla pola PresentationIntervals D3DCAPS9.

Stały Description
D3DPRESENT_DONOTFLIP
Użyj buforu frontu zarówno jako powierzchni źródłowej, jak i docelowej podczas renderowania. Zaplanowano synchronizację ramki, ale wyświetlana powierzchnia nie zmienia się. Ta flaga jest dostępna tylko wtedy, gdy aplikacja jest w trybie pełnoekranowym i D3DSWAPEFFECT_FLIPEX została określona.
Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DPRESENT_DONOTWAIT
Nie można zaplanować prezentacji przez urządzenie o połowę. Jeśli ta flaga jest ustawiona w wywołaniu funkcji Prezent, a sprzęt jest zajęty przetwarzaniem lub oczekiwaniem na pionowy interwał synchronizacji, funkcja Present zwróci D3DERR_WASSTILLDRAWING, aby wskazać, że operacja usterki jest niekompletna.
D3DPRESENT_FLIPRESTART
Zarezerwowane.
D3DPRESENT_FORCEIMMEDIATE
D3DPRESENT_INTERVAL_IMMEDIATE jest wymuszana w tym wywołaniu obecnym . Tę flagę można określić tylko w przypadku używania D3DSWAPEFFECT_FLIPEX. Zachowania prezentacji okiennych i pełnoekranowych są takie same. Jest to szczególnie przydatne w przypadku aplikacji multimedialnych, które chcą odrzucać ramki, które zostały wykryte późno i prezentują kolejne klatki w czasie kompozycji. Jeśli ta flaga zostanie nieprawidłowo określona, zostanie zwrócony nieprawidłowy błąd parametru. W przypadku kolejkowania wielu kolejnych ramek z D3DPRESENT_FORCEIMMEDIATEs wyświetlana jest tylko ostatnia ramka zarówno dla prezentacji okna, jak i pełnoekranowej.
Ta flaga jest dostępna w programie Direct3D 9Ex w systemach operacyjnych Windows 7 lub nowszych.
W przypadku używania D3DSWAPEFFECT_FLIPEX każda ramka przedstawiona przy użyciu D3DPRESENT_INTERVAL_IMMEDIATE lub D3DPRESENT_INTERVAL_FORCEIMMEDIATE zastąpi obecny interwał poprzedniej ramki. Jeśli na przykład kolejkujesz następujące ramki przy użyciu następujących efektów zamiany: ramka A (D3DPRESENT_INTERVAL_ONE), ramka B(D3DPRESENT_INTERVAL_ONE), ramka C(D3DPRESENT_INTERVAL_ONE), ramka D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), ramka D zastąpi obecny interwał ramki C. Wyświetlane ramki na obecny interwał to ramka A, ramka B, (ramka C przesłonięta przez) ramka D.
Zobacz uwagi.
D3DPRESENT_INTERVAL_DEFAULT
Jest to prawie równoważne D3DPRESENT_INTERVAL_ONE. Zobacz uwagi.
D3DPRESENT_INTERVAL_ONE
Sterownik będzie czekać na okres ponownego śledzenia w pionie (środowisko uruchomieniowe będzie "śledzić belkę", aby zapobiec rozerwaniu). Operacje obecne nie będą miały większego wpływu na operacje niż odświeżanie ekranu; środowisko uruchomieniowe zostanie ukończone w najwyżej jednej operacji obecnej na okres odświeżania karty. Jest to równoważne użyciu D3DSWAPEFFECT_COPY_VSYNC w programie DirectX 8.1. Ta opcja jest zawsze dostępna dla łańcuchów wymiany okiennych i pełnoekranowych. Zobacz uwagi.
D3DPRESENT_INTERVAL_TWO
Sterownik będzie czekać na okres ponownego śledzenia w pionie. Operacje obecne nie będą miały wpływu częściej niż co sekundę odświeżania ekranu. Sprawdź limit PresentationIntervals (zobacz D3DCAPS9), aby sprawdzić, czy D3DPRESENT_INTERVAL_TWO jest obsługiwany przez sterownik.
D3DPRESENT_INTERVAL_THREE
Sterownik będzie czekać na okres ponownego śledzenia w pionie. Operacje obecne nie będą miały wpływu częściej niż co trzecie odświeżanie ekranu. Sprawdź limit PresentationIntervals (zobacz D3DCAPS9), aby sprawdzić, czy D3DPRESENT_INTERVAL_THREE jest obsługiwana przez sterownik.
D3DPRESENT_INTERVAL_FOUR
Sterownik będzie czekać na okres ponownego śledzenia w pionie. Operacje obecne nie będą miały wpływu częściej niż co czwarte odświeżanie ekranu. Sprawdź element członkowski PresentationIntervals (zobacz D3DCAPS9), aby sprawdzić, czy D3DPRESENT_INTERVAL_FOUR jest obsługiwany przez sterownik.
D3DPRESENT_INTERVAL_IMMEDIATE
Środowisko uruchomieniowe natychmiast aktualizuje obszar klienta okna i może to zrobić więcej niż raz w okresie odświeżania karty. Jest to odpowiednik używania D3DSWAPEFFECT_COPY w programie DirectX 8. Może to mieć natychmiastowy wpływ na obecne operacje. Ta opcja jest zawsze dostępna dla łańcuchów wymiany okiennych i pełnoekranowych. Zobacz uwagi.
D3DPRESENT_LINEAR_CONTENT
Zawartość buforu wstecznego, który ma być prezentowany, znajduje się w liniowej przestrzeni kolorów.
  • Prezentacja będzie niejawnie konwertowana z przestrzeni liniowej na sRGB (gamma = 2.2). Jest to jedyna obsługiwana konwersja.
  • Ponieważ ta flaga reprezentuje właściwość zawartości buforu wstecznego, flagę można określić podczas wywołania Prezent . Innymi słowy, aplikacja może prezentować zawartość liniową w jednej ramce, a następnie przełączać się na poprawioną zawartość w następnej.
  • Ta flaga jest ignorowana, gdy łańcuch zamiany jest pełnoekranowy. (Pamiętaj, że ta flaga jest dostępna tylko w jawnej wersji łańcucha wymiany Present. Metoda Present nie bierze parametru flags.
  • Ta flaga jest zawsze akceptowana, ale zacznie obowiązywać tylko wtedy, gdy sterownik uwidacznia >D3DCAPS3_LINEAR_TO_SRGB_PresentATION.
  • Obsługiwany jest tylko format buforu wstecznego X8R8G8B8.
Zobacz Łańcuchy wymiany okiennej.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
Wycinek renderowanej zawartości monitora/urządzenia, dla których jest przeznaczona karta, pokazuje miniatury zawartości w widoku Flip3D i miniaturach paska zadań na innych monitorach.
Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
Aby uzyskać więcej informacji na temat tej funkcji systemu Windows Vista, zobacz Desktop Window Manager . Jeśli nie korzystasz z trybu kompozycji pulpitu, flaga daje takie samo zachowanie jak D3DPRESENTFLAG_DEVICECLIP.
Nuta: Ta flaga powinna być używana tylko z efektem zamiany D3DSWAPEFFECT_FLIPEX. Użycie tej flagi z innymi efektami zamiany jest przestarzałe i może nie działać w przyszłych wersjach systemu Windows.
D3DPRESENT_UPDATEOVERLAYONLY
Aktualizuje położenie nakładki lub dane colorkey bez powodowania rzeczywistego przerzucania i bez zmieniania czasu trwania wyświetlania obrazu.
Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DPRESENT_HIDEOVERLAY
Wyłącza sprzęt nakładki.
Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.
D3DPRESENT_UPDATECOLORKEY
Ponownie rysuje dane colorkey.
Ta flaga jest dostępna tylko w trybie Direct3D 9Ex.

Uwagi

Tryb okienny obsługuje D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE i D3DPRESENT_INTERVAL_ONE. D3DPRESENT_INTERVAL_DEFAULT i D3DPRESENT_INTERVAL_ONE są prawie równoważne (zobacz informacje dotyczące rozwiązania czasomierza poniżej). Działają one podobnie do COPY_VSYNC w tym, że istnieje tylko jedna obecność na ramkę, i zapobiegają rozerwaniu z belką po. Natomiast D3DPRESENT_INTERVAL_IMMEDIATE spróbuje zapewnić nieograniczoną częstotliwość prezentacji.

Tryb pełnoekranowy obsługuje podobne użycie jako tryb okienny, obsługując D3DPRESENT_INTERVAL_IMMEDIATE niezależnie od efektu odświeżania lub zamiany. D3DPRESENT_INTERVAL_DEFAULT używa domyślnej rozdzielczości czasomierza systemowego, podczas gdy D3DPRESENT_INTERVAL_ONE wywołuje timeBeginPeriod , aby zwiększyć rozdzielczość czasomierza systemu. Poprawia to jakość synchronizacji pionowej, ale zużywa nieco więcej czasu przetwarzania. Oba parametry próbują zsynchronizować w pionie.

Requirements

Wymaganie Wartość
Header
D3d9.h

Zobacz także

Stałe Direct3D