Historia pikseli grafiki
Grafiki piksela historii, które jest jednym z narzędzia diagnostyki grafiki w programie Visual Studio, pomoże Ci zrozumieć, jak piksela dotyczy zdarzeń Direct3D podczas danej klatki gry lub aplikacji.
Jest to grafiki piksela historii okna:
[!UWAGA]
Od wersji programu Visual Studio 2013 Update 3, diagnostyki grafiki narzędzia windows znajdują się w niezależne kopię powłoki programu Visual Studio.Ta dostosowana powłoka o nazwie analizy grafiki eliminuje niepotrzebne menu i opcji, ale w przeciwnym razie historia pikseli i przepływu pracy są taka sama jak przed.Aby uzyskać więcej informacji na temat tej zmiany, zobacz Diagnostyka grafiki — Przegląd.
Opis historii pikseli
Przy użyciu grafiki piksela historii, można analizować piksela obiektu docelowego renderowania wpływu zdarzenia Direct3D podczas danej klatki.Można wskazanie problem z renderowaniem do określonego zdarzenia Direct3D, nawet jeśli kolejnych zdarzeń — lub kolejnych elementów podstawowych w tym samym zdarzenia — Zmiana koloru końcowego pikseli w dalszym ciągu.Na przykład piksel może być renderowana niepoprawnie i następnie przesłaniać piksel inny, częściowo przezroczysty, aby ich kolory są mieszane razem w obiektu.Tego rodzaju problemy byłoby trudne do diagnozowania końcowa zawartość obiektu docelowego renderowania pomogą gdyby tylko.
Grafiki piksela historii okno wyświetla całą historię piksel w ciągu zaznaczonej ramki.Końcowego bufor ramki u góry okna wyświetla kolor, który jest zapisywana do obiektu na końcu ramkę, wraz z dodatkowymi informacjami dotyczącymi piksela, takich jak ramki, która jest dostarczana z i współrzędne jego ekranu.Ten obszar zawiera także renderowania alfa pole wyboru.Jeśli to pole wyboru jest zaznaczone, końcowego bufor ramki kolor i kolor pośredni wartości są wyświetlane przezroczystości nad wzorca szachownica.Jeśli pole wyboru jest zaznaczone, wartości kolorów kanału alfa jest ignorowana.
W dolnej części okna są wyświetlane zdarzenia, które mieli Państwo możliwość wpływ na kolor piksela, wraz z początkowej i końcowego pseudo-zdarzenia, które reprezentują wartości początkowe i końcowe kolor piksela w obiektu.Wartość początkowa kolor jest określana przez pierwsze zdarzenie, który zmienił kolor piksela (zazwyczaj Clear zdarzeń).Piksel ma zawsze te dwa pseudo-zdarzenia w jego historii nawet wtedy, gdy nie inne zdarzenia, których to dotyczy, go.Gdy inne zdarzenia, mieli Państwo możliwość wpływa na piksel, są wyświetlane między początkowej i końcowego zdarzenia.Zdarzenia można rozwinąć w taki sposób, aby wyświetlić jego szczegóły.Prosty zdarzenia, takimi jak systemy wyczyść obiektu docelowego renderowania zdarzenie powoduje tylko wartość koloru.Bardziej złożonych zdarzenia, takie jak wywołania rysuje wygenerować jeden lub więcej elementów podstawowych, może to również wpływać na kolor piksela.
Podstawowych rysowanych przez zdarzenie są identyfikowane przez ich typ pierwotny i indeksu, wraz z łączną liczbę pierwotny dla obiektu.Na przykład identyfikator, takich jak trójkąta (1456) (6214) oznacza, że element pierwotny odpowiada 1456th trójkąt w obiekt, który składa się z 6214 trójkąty.Z lewej strony każdego pierwotny identyfikator jest ikona znajduje się podsumowanie stwierdzenia, że element pierwotny była w piksela.Podstawowych, które mają wpływ na kolor piksela są reprezentowane przez zaokrąglony prostokąt, który zostanie wypełniony kolorem wynik.Podstawowych, które są wykluczone z mających wpływ na kolor piksela są reprezentowane przez ikony, które wskazać, że piksel został wyłączony.Te ikony są opisane w sekcji pierwotny wykluczenia później w tym artykule.
Po rozwinięciu każdego pierwotny, aby sprawdzić, jak dane wyjściowe programu do cieniowania pikseli został scalony z istniejącego koloru piksela do tworzenia koloru wynikowego.Z tego miejsca można również należy sprawdzić, czy i debugowanie kodu cieniowania pikseli, którą ma skojarzony element pierwotny, a węzeł cieniowania wierzchołków do programu do cieniowania wierzchołków wejściowych należy sprawdzić, czy można rozwinąć.
Pierwotny wykluczenia
Jeśli podstawowy są wykluczane mających wpływ na kolor piksela, wykluczenia może być wielu powodów.Przyczyna każdy jest reprezentowany przez ikonę, które jest opisane w tej tabeli:
Ikona |
Przyczyna wyłączenia |
---|---|
Piksela został wykluczony, ponieważ jego testu głębokość nie powiodło się. |
|
Piksela został wykluczony, ponieważ jego testu dwubiegowa nie powiodło się. |
|
Piksela został wykluczony, ponieważ jego testu wzornik nie powiodło się. |
Rysuj wykluczenia połączenie
Jeśli wywołanie wszystkich elementów podstawowych do rysowania są wykluczone z obejmujące obiektu docelowego renderowania, ponieważ nie ich test, wywołanie draw nie mogą być rozwijane i jest wyświetlana ikona umożliwiająca przyczyn wyłączenia obok niej.Przyczyny wykluczenia połączenie rysuje podobne przyczyny pierwotny wykluczenia, a ich ikony są podobne.
Przeglądanie i debugowanie kodu cieniowania
Możesz wyświetlić kod programu do cieniowania wierzchołków, cieniowania kadłuba, cieniowania domeny, cieniowania geometrii, lub programu do cieniowania pikseli, lub debugowania, korzystając z formantów poniżej pierwotny, który jest skojarzony z modułu.
Aby wyświetlić kod źródłowy cieniowania
- Poniżej pierwotny powiązanej z moduł, który chcesz wyświetlić, wybierz tytuł moduł — na przykład wybierz programu do cieniowania wierzchołków do wyświetlania kodu źródłowego cieniowania wierzchołku.
Do debugowania programu do cieniowania
- Poniżej element pierwotny powiązanej z moduł do debugowania na prawo od nazwy cieniowania, wybierz rozpocząć debugowanie.
Łącza do obiektów grafiki
Obsługi zdarzeń grafiki w historii piksela może być wymagane informacje dotyczące stanu urządzenia w momencie zdarzenia lub obiektów Direct3D, do których odwołuje się zdarzenie.Dla każdego zdarzenia w historii piksela grafiki piksela historii zawiera łącza do urządzenia obowiązujących stanu i do powiązanych obiektów.
Zobacz też
Zadania
Wskazówki: brak obiektów spowodowany stanem urządzenia
Wskazówki: debugowanie błędów renderowania spowodowanych cieniowaniem