🔗 GPU Native Fence Objects – pełny przewodnik
1. Co to jest GPU Native Fence Object?
GPU Native Fence Object to zaawansowana synchronizacyjna struktura wprowadzona w WDDM 3.2 (Windows 11 24H2). Umożliwia rzeczywistą synchronizację między silnikami GPU bez angażowania CPU, a także zapewnia znaczne oszczędności energii, dzięki treściowemu przeparkowywaniu przerwań oraz przechowywaniu wartości fences w pamięci GPU ([turn0search0], [turn0search2]).
Tradycyjny monitored fence w WDDM 2.x wymagał zaangażowania CPU do odczytu i sygnalizacji oczekiwanych wartości — GPU musiał przekazywać zakończenie pracy przez pamięć systemową i irq do CPU. Nowoczsne native fence pozwalają GPU czekać na określoną wartość bez CPU-wroundtrip, co przyspiesza i upraszcza pracę pipeline’u ([turn0search0]).
2. Dlaczego to ma znaczenie?
⚡ Bezpośrednie GPU‑to‑GPU ubruktowanie
Silniki GPU (np. render/compute/copy) mogą teraz synchronizować pracę między sobą bez pośrednictwa CPU. To skraca opóźnienia, poprawia wydajność multi-engine i zmniejsza obciążenie CPU ([turn0search0], [turn0search3]).
🌙 Oszczędność energii
GPU generuje przerwanie tylko wtedy, kiedy CPU rzeczywiście czeka (MonitoredValue), co ogranicza liczbę zbędnych interruptów i pozwala CPU obniżyć pobór energii w stanie idle ([turn0search0], [turn0search2]).
📦 Szybsza synchronizacja wartości fence
Wartości fences są przechowywane w pamięci lokalnej GPU, a nie w wolnej pamięci RAM, co znacząco przyspiesza odczyty i zapisy—efekt odczuwalny zwłaszcza w grach i renderingu ([turn0search0], [turn0search2]).

3. Jak działa GPU Native Fence – mechanika
🔍 Struktura:
- CurrentValue – 64-bitowa wartość, zapisywana atomowo w pamięci GPU.
- MonitoredValue – aktualny minimalny oczekiwany przez CPU fence minus 1; GPU odradza interrupt, jeśli CurrentValue przekracza MonitoredValue ([turn0search0]).
🚦 Przebieg operacji:
- GPU zapisuje wartość do CurrentValue — niesynchronicznie.
- Jeśli GPU wykryje, że CurrentValue > MonitoredValue, generuje interrupt.
- CPU obsługuje interrupt, odblokowuje oczekujące wątki, aktualizuje MonitoredValue.
- GPU pozostaje w spoczynku aż do kolejnej wartości—zerując obciążenie CPU przy idle ([turn0search0]).
4. Korzyści – wrażalne efekty
- Płynniejszy rendering – GPU-owe silniki (np. ray-tracing, compute shaders) mogą lepiej koordynować pracę.
- Niższy latency – brak CPU‑waits oznacza szybsze zależności między zadaniami.
- Efektywność energetyczna – mniej niepotrzebnych interruptów, dłuższy stan niskiego zużycia CPU.
- Stabilność i wydajność – zwłaszcza w scenariuszach cloud gaming, AI, i renderowaniu batchowym ([turn0search3]).
5. Wymagania – sprzęt i oprogramowanie
- Windows 11 24H2 lub nowszy z WDDM 3.2 i GPU/NPU sterownikami kompatybilnymi z kontami fences ([turn0search2], [turn0search6]).
- Nowoczesne GPU – NVIDIA Ampere/Ada, AMD RDNA2+, Intel ARC (z sterownikami WDDM 3.2, np. NVIDIA 555.85, AMD 6.05.28.016) ([turn0search6], [turn0search7]).
- Pomoc drivera – KMD musi wspierać
D3DDDI_NATIVEFENCE_TYPE_DEFAULT, czyli CPU+GPU interoperacyjne fences ([turn0search1], [turn0search9]).
6. Konfiguracja i aktywacja
✅ Użytkownik:
- Uaktualnij Windows do 24H2.
- Zainstaluj sterowniki GPU z WDDM 3.2 (np. NVIDIA 555.85, AMD 6.05.28.016).
- Włącz GPU Hardware Scheduling w ustawieniach Windows, co przyspiesza użycie native fence ([turn0search3]).
🛠️ Deweloper GPU driverów:
- Obsłuż
D3DKMTCreateNativeFencei odpowiednie typy fences (DEFAULT). - Wypełnij
NATIVEFENCE_INFO: CurrentValue oraz MonitoredValue, GPU VA mapping, CMP flag. - Rejestruj interrupty
DXGK_INTERRUPT_NATIVE_FENCE_SIGNALED. - Implementuj atomic memory i logiczną obsługę odbioru przez CPU.
7. Przykłady wdrożenia
- NVIDIA & AMD – w sterownikach WDDM 3.2 włączyły native fence, redukując opóźnienia między silnikami GPU i zwiększając efektywność energetyczną ([turn0search6], [turn0search3]).
- GPU hardware scheduling 2 z ETW – Nsight Systems pokazuje nowe events „NativeFenceSignaled” w trace’ach, potwierdzając wdrożenie ([turn0search10]).
8. Ograniczenia i wyzwania
- Brak wsparcia na WDDM < 3.2 – native fence działa jedynie na najnowszych wersjach.
- Driver compatibility – wymaga poprawnej implementacji KMD/UI w sterownikach zarówno CPU, jak i GPU.
- Edge cases – synchronizacja między GPU różnej klasy wymaga poprawnej koordynacji w architekturze silników GPU.
9. Perspektywy – co dalej?
- UM Work Submission – w przyszłych wersjach native fence posłuży do bezpośrednich priorytetów from UMD ([turn0search5]).
- Deep GPU pipelines – coraz więcej silników GPU współpracuje bez udziału CPU, co zwiększy płynność zadań compute/render.
- Integracja z live migration i dirty bit – fences mogą synchronizować migracje GPU‑P, co zmniejsza przerwy i zapewnia płynność działania w trybie VM.
🧩 Podsumowanie
GPU Native Fence Objects w WDDM 3.2 to:
- Rzeczywista synchronizacja GPU do GPU bez CPU,
- Redukcja obciążenia CPU i oszczędność energii,
- Szybsza i stabilna praca pipelinów GPU (render, compute, RT),
- Fundament dla zaawansowanych funkcji: UM submission, live migration, AI/Cloud workloads.
Aby w pełni korzystać z tej technologii, potrzebujesz Windows 11 24H2 i GPU/sterowników hardode‑friendly. To krok w stronę GPU‑centricznych, energooszczędnych i ultra‑wydajnych systemów graficznych.






