Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poniższy zrzut ekranu w powiększeniu przedstawia kolejkę sprzętową GPU wraz z kontekstowymi kolejkami CPU czterech procesów.
Skojarzenie między elementami kolejki CPU kontekstu a elementami w kolejce sprzętowej GPU jest jedną z najbardziej podstawowych relacji w GPUView. Na powyższym diagramie najbardziej po lewej czerwona strzałka wskazuje klucz koloru kolejki CPU kontekstu. Dolna czerwona strzałka wskazuje odpowiedni element danych w kolejce procesora CPU kontekstu, a górna czerwona strzałka wskazuje pakiet DMA w kolejce sprzętowej procesora GPU, który pochodzi z kolejki procesora CPU kontekstu Dwm.exe. W dowolnym momencie możesz zobaczyć, jaka aplikacja (proces) działa na procesorze GPU, patrząc na kolor bloków w kolejce sprzętowej procesora GPU.
Ponieważ system Windows wirtualizuje sprzęt wideo, praca wykonywana w kolejce CPU kontekstu reprezentuje obciążenie grafiki w kolejce do przetworzenia przez sprzęt, ale nie jest faktycznie przetwarzane przez sprzęt. Poniższy diagram może pomóc w zrozumieniu relacji między kolejką procesora kontekstu a kolejką sprzętową GPU.
W tym miejscu aplikacja przesłała pracę dla procesora GPU w punkcie najbardziej czerwonej strzałki po lewej stronie. Już w kolejce były dwa inne elementy robocze, oznaczone najbardziej jasnoniebieskimi strzałkami po lewej stronie. Patrząc powyżej w kolejce sprzętowej GPU, widać, że inne procesy miały zadania wykonywane na GPU, i dopiero później zauważysz dwa pierwsze elementy robocze aplikacji uruchomionej w kolejce sprzętowej GPU (jasnoniebieskie strzałki w kolejce sprzętowej GPU). Ostatecznie wyróżniony element roboczy (queue packet) trafia do kolejki sprzętowej procesora GPU (hardware queue, oznaczonej czarną strzałką) i wkrótce potem zostaje zakończony (dwie żółte strzałki). Tuż po tym aplikacja w końcu widzi pracę jako wykonywaną (strzałka z prawej strony). Mimo że element roboczy (pakiet kolejki) potrzebował tylko 1,5 milisekundy na wykonanie na sprzęcie, musiał czekać na swoją kolej na tej bardzo obciążonej maszynie. Od chwili złożenia wniosku do momentu jego ukończenia minęło około 28 milisekund.
Szczegóły kolejki procesora GPU kontekstu
Układ kolejki CPU kontekstu jest podobny do układu kolejki sprzętowej GPU.
Klucz koloru
Najdalej po lewej stronie prostokąt przedstawia klucz koloru dla wszystkich elementów roboczych (pakietów kolejki) w kolejce procesora CPU kontekstu. Ten klucz koloru pomaga podczas identyfikowania miejsca, w którym kolejka sprzętowa procesora GPU spędza czas.
Obszar kolejki kontekstowej
Szary obszar oznacza obszar kolejki kontekstu.
Tekst kolejki procesora CPU kontekstu
Tekst powyżej obszaru kolejki kontekstowej zawiera szczegółowe informacje o pracy wykonywanej w kontekście i skojarzonej pracy w kolejce sprzętowej procesora GPU. Pierwsza liczba to liczba elementów, które zostały rzeczywiście uruchomione w kolejce CPU kontekstu w danym okresie czasu wyświetlania. Zauważ, że jest to liczba elementów w dolnym wierszu kolejki CPU kontekstu. Po tym znajduje się czas, jaki te elementy robocze (pakiety kolejek) spędziły na wykonywaniu w sprzętowej kolejce procesora GPU oraz odpowiadający temu procent widoku. Poniżej przedstawiono to samo obliczenie dla elementów kolejki CPU dla kontekstu.
Elementy kolejki procesora CPU kontekstu
Prostokąty jednokolorowe w kolejce kontekstowej procesora CPU reprezentują standardowe pakiety kolejki. To jest zadanie dla GPU. Prostokąty z krzyżującymi się liniami to aktualne pakiety, a prostokąty z ukośnymi liniami reprezentują pakiety tokenów prezentu.
Odwróć powierzchnię
W kolejce Context CPU powiązanej z procesem Dwm.exe, GPUView udostępnia adres Flip Surface w prostokątach pakietu Present. Pierwsza liczba to Flip Queue. Druga liczba to adres powierzchni, która zostanie odwrócona. Tę liczbę można zazwyczaj znaleźć w pakiecie DMA, który zakończył się tuż przed wydaniem pakietu prezentowego.
Uwaga dotycząca kolejek
Kolejki, jak pokazuje GPUView, to stos pracy czekającej na wykonanie. Na ekranie element w dolnej części stosu (dolny wiersz) jest elementem, nad którym faktycznie pracuje się w danym momencie w czasie. Następny element czekający na przetworzenie jest ułożony na wierzchu elementu, który jest wykonywany. Punktem przejściowym jest moment zakończenia jednego elementu roboczego, a element w oczekiwaniu teraz staje się następnym, nad którym się pracuje. Te punkty przejścia nadają kolejce wygląd schodów w miarę wykonywanej pracy i kończenia pakietów. Najnowsze elementy dodane do kolejki są zawsze umieszczane na górze.