Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera omówienie rejestrowania sterowników trybu użytkownika w programie WDDM.
Aby uzyskać bardziej praktyczny podział pamięci wideo, sterownik WDDM musi uwidocznić relację między zasobami Direct3D i alokacjami pamięci wideo. Począwszy od systemu Windows 8, możliwość ta jest dostępna dzięki dodaniu interfejsów do rejestrowania sterowników trybu użytkownika (UMD). Dzięki tym informacjom dodanym do śledzenia zdarzeń systemu Windows (ETW) można zobaczyć alokacje pamięci wideo z perspektywy interfejsu API.
Wymagania:
- Minimalna wersja WDDM: 1.2
- Minimalna wersja systemu Windows: 8
- Implementacja sterownika — pełna grafika i tylko renderowanie: obowiązkowe
- Wymagania i testy: WHLKDevice.Graphics¦UMDLogging
W przypadku programistów rejestrowanie UMD może rozjaśnić koszty pamięci, takie jak fragmentacja wewnętrzna lub efekt szybkiego usuwania powierzchni. Umożliwia firmie Microsoft lepszą pracę z klientami i partnerami, którzy dostarczają ślady na potrzeby analizy problemów z wydajnością. W szczególności ta funkcja może pomóc w rozwiązaniu typowego punktu blokującego podczas badania problemów z wydajnością związanych z pamięcią: aplikacja używa zbyt dużego zestawu roboczego, ale nie można określić, które zasoby interfejsu API lub wywołania powodują problem.
Sterownik musi uwidocznić relację między zasobami Direct3D i alokacjami pamięci wideo przez zaimplementowanie interfejsów ETW UMD. Oprócz zdarzeń rejestrowania sterownik musi mieć możliwość raportowania wszystkich istniejących mapowań między zasobami i alokacjami w dowolnym momencie.
Rejestrowanie alokacji DDI sterownika UMD
Rejestrowanie alokacji UMD w ramach DDI zapewnia zdarzenia w funkcji śledzenia na poziomie jądra ETW, które pokazują, jakie zasoby interfejsu API są powiązane z alokacjami jądra w podsystemie jądra grafiki DirectX (Dxgkrnl.sys).
Za pomocą interfejsu DDI można wykonywać następujące czynności:
- Odkryj fragmentację pamięci wewnętrznej lub efekt szybkiego odrzucania powierzchni.
- Podaj lepsze informacje o śledzeniu dla firmy Microsoft, aby ułatwić identyfikowanie problemów z wydajnością.
- Pomoc w ustaleniu, kiedy zasoby aplikacji lub wywołania interfejsu API powodują użycie zbyt dużego zestawu roboczego pamięci.
Użyj funkcji, wyliczenia i struktury z nagłówka umdprovider.h, aby logować zdarzenia w UMD.
- UMDEtwLogMapAllocation funkcja
- UMDEtwLogUnmapAllocation, funkcja
- UMDEtwRegister, funkcja
- UMDEtwUnregister funkcja
- wyliczenie UMDETW_ALLOCATION_SEMANTIC
- struktura UMDETW_ALLOCATION_USAGE
Zobacz również nagłówek umdetw.h .
Wymagania dotyczące certyfikacji sprzętu
Aby uzyskać informacje na temat wymagań, które urządzenia sprzętowe muszą spełniać podczas implementowania tej funkcji, zobacz dokumentację zestawu WHLK w temacie Device.Graphics ■ UMDLogging.
Zobacz Funkcje programu WDDM 1.2 , aby zapoznać się z przeglądem funkcji dodanych w systemie Windows 8.