IDirect3DQuery9

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

# IDirect3DQuery9

Sun
14
Jan 2007

Dzisiaj tych wszystkich niekoniecznie początkujących którzy używają Direct3D chciałem zainteresować zapytaniami - queries. Są to zasoby tworzone metodą CreateQuery urządzenia D3D. Reprezentują zapytania zadawane do karty graficznej i wykonywane w sposób asynchroniczny. Wywołujemy takiemu zapytaniu Issue(D3DISSUE_BEGIN) (nie wszystkie tego wymagają), rysujemy coś, wywołujemy Issue(D3DISSUE_END), następne sprawdzamy wynik funkcji GetData i jeśli ten oznacza sukces, otrzymujemy natychcmiast dane zwrócone przez zapytanie.

Zapytania mogą być różnego rodzaju. Te ciekawsze to OCCLUSION pozwalające realizować to słynne sprzętowe Occlusion Query, czyli szybki test zasłaniania jednych obiektów przez inne. EVENT z kolei pozwala poczekać na zakończenie wszystkich wykonywanych w tle operacji graficznych, co rzekomo miałoby wyeliminować skakanie animacji dające o sobie znać w trybie okienkowym - mnie niestety nie pomogło.

Inne zapytania zwracają struktury pełne liczb z różnymi statystykami wewnętrznej pracy karty graficznej. Niestety większość z nich nie jest supported w moim systemie - widocznie albo GeForce 6600 GT to jest już złom a nie karta graficzna, albo trzebaby się przełączyć na DirectX-a w wersji Debug zamiast Retail (chociaż dokumentacja w SDK mówi że większość z nich działa w obydwu).

Więcej na ten temat możecie przeczytać w DirectX SDK, w rozdziale zatytułowanym Queries.

Comments | #rendering #directx Share

Comments

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2019