Krótka odpowiedź
Zmierzono 23 października 2026 na jednym komputerze, w atrapie gry z włączonymi silnikami. Sam proces w0a zużywał średnio:
- 0,15% jednego procesora logicznego (komputer ma ich 16)
- 7,2 Mcycle/s, czyli 7,2 miliona cykli procesora na sekundę
- 29,6 przełączenia kontekstu na sekundę
Jego zestaw roboczy, czyli pamięć trzymana w RAM, wynosił w czterech zmierzonych stanach średnio od 102 do 120 MB (w tym stanie 119,6 MB).
Żadna z tych wartości nie jest zerowa. Pomiary na bardziej obciążonym komputerze są niżej.
Nie zmierzono w prawdziwej grze. Gra była atrapą: programem, który pokazuje czarne okno na pełnym ekranie i niczego nie rysuje.
Co oznaczają liczby
- Procent jednego procesora logicznego. 0,15% to 1,5 ms czasu procesora w każdej sekundzie, na jednym z 16 procesorów logicznych. Windows liczy ten czas krokami po około 15,6 ms, więc większość jednosekundowych próbek pokazuje 0,00% (mediana), a próbka, która złapie jeden krok, pokazuje 1,56% (95. percentyl). Dlatego główną liczbą jest następna.
- Cykle (Mcycle/s). Miliony cykli procesora na sekundę zużyte przez wątki w0a, odczytane z licznika cykli, który Windows prowadzi dla każdego wątku; ten licznik nie zaokrągla do kroków. Mediana wyniosła 5,8 Mcycle/s. Dla skali: 1 GHz to miliard cykli na sekundę.
- Przełączenia kontekstu. Ile razy na sekundę jeden z wątków w0a został umieszczony na procesorze, żeby działać, licząc razem wszystkie wątki. Każde z nich to wątek obudzony do jakiejś pracy.
- Zestaw roboczy. Część pamięci w0a trzymana w RAM. W grze z włączonymi silnikami wynosił średnio 119,6 MB, a szczytowo 122,7 MB.
Cztery stany
Każdy stan trwał pięć minut. „Silniki wyłączone” oznacza, że każda część przełącznika Tryb gry poza planem zasilania była wyłączona. Planu zasilania w trakcie pomiaru nie ruszano: w0amax był aktywny przez cały czas.
| Stan | Cykle, średnia (mediana) | Procent jednego procesora logicznego | Przełączenia kontekstu na sekundę | Zestaw roboczy |
|---|---|---|---|---|
| Bezczynność, silniki wyłączone | 4,5 (2,4) Mcycle/s | 0,09% | 10,9 | 103,2 MB |
| W grze, silniki wyłączone | 1,7 (1,5) Mcycle/s | 0,08% | 10,7 | 108,2 MB |
| Bezczynność, silniki włączone | 5,3 (2,9) Mcycle/s | 0,10% | 13,9 | 102,0 MB |
| W grze, silniki włączone | 7,2 (5,8) Mcycle/s | 0,15% | 29,6 | 119,6 MB |
Wiersze mierzono jeden po drugim, a inne programy na komputerze w tym czasie dalej działały i się uruchamiały, więc różnicy między dwoma wierszami nie da się przypisać samym silnikom.
Przy wyłączonych silnikach bezczynność wypada wyżej niż gra. Każdą instancję w0a mierzono najpierw w bezczynności, wkrótce po jej starcie, a w tym czasie środowisko uruchomieniowe .NET wciąż kompilowało kod w0a w tle: 2,30 Mcycle/s, 51,4% całości w bezczynności (51,6% przy włączonych silnikach). W grze przy wyłączonych silnikach kompilowanie zajmowało już tylko 0,41 Mcycle/s. Ten spadek, 1,9 Mcycle/s, to około dwóch trzecich różnicy wynoszącej 2,8 Mcycle/s.
Jak mierzono
- Komputer: AMD Ryzen 7 9800X3D (8 rdzeni, 16 procesorów logicznych), 31,6 GB RAM, NVIDIA GeForce RTX 5070 Ti, Windows 11 Pro kompilacja 26200.
- w0a: wersja 2.1, kompilacja opublikowana 23 października 2026. Program działał w obszarze powiadomień z zamkniętym oknem. Między stanami zmieniały się tylko przełączniki silników, a potem przywrócono ich wcześniejsze ustawienie.
- Program pomiarowy: raz na sekundę osobny program pomiarowy odczytywał proces w0a przez funkcję Windows
NtQuerySystemInformation: czas procesora, cykle i przełączenia kontekstu każdego wątku oraz zestaw roboczy. Każdy stan dał 300 próbek. - Atrapa gry: okno pełnoekranowe 1920×1080, które z własnym zegarem wyświetla przez DXGI 240 czarnych klatek na sekundę. Działała na pierwszym planie, a wpisy w
engine.logpokazują, że została uznana za grę i że przy włączonych silnikach jej priorytet podniesiono do AboveNormal. Okno innego programu pozostało nad nią. - Kolejność: najpierw atrapa gry działała 2 minuty bez w0a, jako punkt odniesienia. Potem uruchomiono w0a z wyłączonymi silnikami, odczekano 90 sekund na ustabilizowanie, wykonano pomiar w bezczynności, a potem pomiar z działającą atrapą gry, gdy gra miała już 40 sekund na ustabilizowanie się. To samo powtórzono ze świeżo uruchomionym w0a z włączonymi silnikami.
- Obciążenie komputera: pomiar zaczął się na spokojnym komputerze, przy 3% całkowitego użycia procesora. W stanie „w grze, silniki włączone” działało 165 procesów, a proces w0a naliczył od 38 do 523 nowo uruchamianych procesów na minutę.
Co pokazała atrapa gry
Wyświetlała 240 klatek na sekundę we wszystkich trzech pomiarach w grze, z w0a i bez niego. Jej własne użycie procesora wyniosło 203,4 Mcycle/s bez w0a, 205,5 przy wyłączonych silnikach i 207,5 przy włączonych. Ten pomiar nie pokazuje, skąd bierze się ta różnica, więc nie jest ona przypisywana w0a. Atrapa niczego nie rysuje, więc nie mówi nic o czasach klatek w prawdziwej grze.
Przy włączonych silnikach w0a liczy klatki gry przez śledzenie zdarzeń systemu Windows (ETW), filtrowane do samej gry. Te zdarzenia zapisuje sam proces gry, kiedy wyświetla każdą klatkę, więc ta część kosztu trafia do liczb gry, a nie do liczb w0a. Wielkości tej części nie zmierzono.
Na bardziej obciążonym komputerze
Dwa późniejsze pomiary na tym samym komputerze, 24 października 2026, dołożyły obciążenie wokół atrapy gry. Użyto w nich nowszych kompilacji w0a, opublikowanych tego dnia, z włączonymi silnikami.
- 71 minut w czterech odcinkach: wątki w tle zajmowały każdy procesor logiczny w 50%; potem w 25% plus 150 MB/s odczytów z dysku; potem w 50% plus 100 MB/s odczytów z dysku plus krótko żyjący program co 5 sekund; potem bez dodatkowego obciążenia. Atrapa gry uruchamiała też co 90 sekund krótki program pomocniczy, a w0a uruchomiono jeszcze przed startem. W poszczególnych odcinkach proces w0a zużywał średnio od 0,12% do 0,17% jednego procesora logicznego i od 5,1 do 7,2 Mcycle/s.
- Cztery nowe programy na sekundę, w dwóch pomiarach po dwie i pół minuty: proces w0a naliczył 637 i 648 uruchomień na minutę. Zużywał średnio 0,30% i 0,25% jednego procesora logicznego, 14,8 i 14,6 Mcycle/s, 66,9 i 68,0 przełączenia kontekstu na sekundę oraz 117,1 i 116,7 MB zestawu roboczego. Każdą instancję w0a uruchomiono 90 sekund przed jej pomiarem, a kompilowanie przez środowisko uruchomieniowe .NET wciąż zabierało z tego około 5,3 Mcycle/s.
Każdy program, który się uruchamia, dociera do w0a jako zdarzenie, a w0a przegląda każde z nich; przy włączonych zarezerwowanych rdzeniach decyduje też, czy przenieść program z rdzeni gry. Im więcej programów się uruchamia, tym więcej jest tej pracy. Te pomiary używały nowszych kompilacji i innego obciążenia, więc nie są porównaniem przed i po z tabelą powyżej.
Czego nie zmierzono
- Prawdziwa gra. Gra była tu atrapą, która niczego nie rysuje. Kosztu w0a obok prawdziwej gry nie zmierzono.
- Czasy klatek. Nie zmierzono tu, czy silniki zmieniają czasy klatek twojej gry. Żeby zmierzyć to na własnym komputerze, uruchom w benchmarku serię A/B z A: silniki wyłączone i B: silniki włączone, jak opisano w Jak czytać wynik benchmarku.
- Inne procesory. Zmierzono tylko jeden procesor, 8-rdzeniowy AMD Ryzen 7 9800X3D. Na procesorze z mniejszą liczbą rdzeni albo z wolniejszymi rdzeniami ta sama praca to inny udział; jak bardzo inny, nie zmierzono.
- w0a z otwartym oknem. Okno było zamknięte przez cały czas. Kosztu przy otwartym oknie nie zmierzono.
- Karta graficzna, dysk i sieć. Zmierzono tylko czas procesora i pamięć w0a.
- Praca poza procesem w0a. Część pracy związanej z dostarczaniem zdarzeń do w0a, takich jak uruchomienie programu albo wyświetlenie klatki, wykonuje Windows albo gra, poza procesem w0a. Tej części nie zmierzono.
Włączanie i wyłączanie silników
Na nowej instalacji wszystkie silniki są wyłączone. To części przełącznika Tryb gry na stronie Process Manager.
Żeby zobaczyć, co silniki robiły podczas twojej gry, otwórz engine.log: jeden wiersz na każdą akcję. perf.log obok zawiera wiersze o tym, ile niektóre z nich kosztowały podczas gry. Oba pliki opisuje Gdzie jest plik dziennika.
Powiązane
Z jakichś dwunastu etapów między kliknięciem a zmianą piksela trzy należą do oprogramowania, a resztę mają firmware, ekran i gra: Jak zmniejszyć input lag: co program może skrócić, a czego nie
Czy ta strona pomogła?
Czego zabrakło albo co nie zadziałało? Czytamy każdą taką wiadomość.
Jeśli ta strona nie rozwiązała problemu, napisz do nas — podaj, który artykuł czytasz, a poprawimy ten artykuł.