DirectX Debug i dxcpl

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

Mon
05
May 2008

Jeśli masz zainstalowany DirectX SDK, możesz przestawić swojego DirectX w wersję Debug. W tym celu wybierz Start > Uruchom > "dxcpl" i w oknie 1. przesuń suwak "Debug Output Level" na przedostatni ząbek 2. przełącz na "Use Debug Version of Direct3D 9" 3. wciśnij "Apply".

dxcpl

DirectX w wersji Debug prawdopodobnie działa wolniej, dlatego nie zostawiałbym go tak na stałe, ale chwilowe przełączenie w ten tryb może się bardzo przydać. Po zrobieniu tego trzeba uruchomić swój program w trybie debugowania (w Visual C++ to będzie F5) i w czasie pracy programu albo po jego zakończeniu obserwować panel Output. Będą tam wypisywane różne ostrzeżenia i błędy, a wiele wywołań funkcji D3D może się wręcz nie udać, bo DirectX dużo lepiej sprawdza wszystkie dane i zależności.

Mnie w ten sposób udało się znaleźć nie tylko wiele błędów które powodowały niedziałanie programu, ale i takich rzeczy, które na mojej karcie graficznej działały mimo, że nie musiały. Na przykład blokowanie z flagą D3DLOCK_DISCARD zamiast 0 bufora, który nie miał D3DUSAGE_DYNAMIC, albo nawet używanie wypełnionego bufora dynamicznego do renderowania zanim go odblokowałem :)

Comments | #directx #tools Share

Comments

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2024