Gra przycina, naciskasz Ctrl+Shift+Esc, a tabela już się przesuwa: wartość CPU gry wygląda skromnie, kolumna GPU jest daleko od 100, „System interrupts” (przerwania systemowe) wisi blisko góry listy, a obok przeglądarki widać mały listek. Każdy odczyt mierzy coś konkretnego, a źle odczytany posyła cię po niewłaściwą poprawkę.
Otwórz go i wybierz stronę
Naciśnij Ctrl+Shift+Esc albo kliknij prawym przyciskiem Start i wybierz Menedżer zadań. Jeśli otworzy się jako krótka lista, wybierz Więcej szczegółów. Na pytanie, co działa, odpowiadają dwie strony:
- Procesy, które artykuł Microsoftu o rozwiązywaniu problemów z Menedżerem zadań opisuje jako listę aplikacji i procesów w tle wraz z wykorzystaniem zasobów przez każdy z nich. Wiersze są pogrupowane w „Apps” (aplikacje), „Background processes” (procesy w tle) i „Windows processes” (procesy Windows), a procesy podrzędne programu zwijają się pod jednym rozwijanym wierszem.
- Szczegóły: każdy proces w osobnym wierszu, według Microsoftu niezależnie od tego, czy jest aplikacją, czy procesem w tle, z większą ilością danych o każdym procesie. Tutaj ustawia się priorytet.
Na stronie Szczegóły kliknij prawym przyciskiem nagłówek kolumny i wybierz Wybierz kolumny, żeby dodać to, czego potrzebujesz.
Kolumna CPU to udział w całym procesorze
Wartość CPU to procent wszystkich procesorów logicznych razem. Przykład Microsoftu zakłada osiem procesorów logicznych: jeśli proces używa 12,5 procent mocy procesora, używa odpowiednika jednego pełnego procesora. Gra, która na takiej maszynie pokazuje 12,5%, może więc mieć wątek bez żadnego zapasu czasu, a suma ci tego nie powie.
Żeby to zobaczyć, otwórz kartę Wydajność i wykres CPU, kliknij wykres prawym przyciskiem i wybierz „Change graph to > Logical processors” (zmień wykres na procesory logiczne); wykres podzieli się na osobny dla każdego procesora logicznego. Pokaż czasy jądra w tym samym menu dzieli przebieg na dwa kolory, jądro i użytkownika. Jeśli jeden procesor stoi blisko swojego sufitu, a karta graficzna nie jest zajęta, GPU nie na 100% wyjaśnia, jak to odczytać.
Kolumna GPU to najbardziej obciążony silnik
GPU składa się z silników, które mogą pracować równolegle, a kolumna musi pokazać jedną liczbę. Wpis zespołu DirectX o GPU w Menedżerze zadań wyjaśnia ten wybór: kolumna pokazuje wykorzystanie najbardziej obciążonego silnika, ze wszystkich GPU, dla danego procesu. Kolumna „GPU engine” (silnik GPU) mówi, do którego GPU i którego silnika należy ta wartość, na przykład 3D, Copy, Video Decode albo Video Encode. Na komputerze z dwoma GPU to szybki sposób, żeby sprawdzić, na którym wylądowała gra; zmianę opisuje strona Na której karcie działa gra.
Karta Wydajność, w widoku GPU, pokazuje dwa rodzaje pamięci. Microsoft opisuje „Dedicated GPU memory” (dedykowana pamięć GPU) jako zarezerwowaną wyłącznie do użytku przez GPU, a „Shared GPU memory” (współdzielona pamięć GPU) jako zwykłą pamięć systemową, z której może korzystać GPU albo CPU. Strona Szczegóły może pokazać obie dla każdego procesu przez Wybierz kolumny, a Za mało VRAM to strona o tym, jak je odczytywać w trakcie gry. Przy dedykowanej karcie graficznej strona Wydajność pokazuje też jej temperaturę w stopniach Celsjusza; Microsoft w zapowiedzi tej funkcji z 2019 roku podał, że wymaga ona sterownika obsługującego WDDM 2.4 lub nowszy.
Aplikacje startowe: wpływ mierzy się przy uruchamianiu
Strona Aplikacje startowe, dostępna też w Ustawienia > Aplikacje > Uruchamianie, pokazuje, co startuje razem z Windows. Jej kolumna „Startup impact” (wpływ na uruchamianie) mierzy uruchamianie, zgodnie ze stroną Microsoftu o aplikacjach startowych: „Low” (niski) to mniej niż 300 milisekund procesora i mniej niż 292 kilobajty dysku, „High” (wysoki) to więcej niż 1 sekunda procesora albo więcej niż 3 megabajty dysku. Ocena „High” mówi, ile aplikacja kosztuje podczas uruchamiania Windows, a nie co robi, gdy gra już działa. Żeby to sprawdzić, znajdź ją na stronie Procesy w trakcie gry.
Listek to „Efficiency mode”
Kiedy zespół Windows odpowiedzialny za wydajność przedstawił Efficiency mode, opisał dwie zmiany: tryb obniża priorytet podstawowy procesu do niskiego i ustawia tryb QoS na EcoQoS, a EcoQoS może oznaczać pracę procesora z niższą częstotliwością, żeby oszczędzać energię. Proces w tym trybie pokazuje „Efficiency mode” (tryb wydajności) w kolumnie Stan i ikonę listka. Wyszarzona opcja oznacza według tego wpisu podstawowy proces Windows, którego ograniczanie może wpłynąć na system. Ten sam wpis podawał, że Edge i Chrome eksperymentowały z obniżaniem własnego priorytetu podstawowego i z interfejsami API oszczędzania energii, co Menedżer zadań też pokazuje jako Efficiency mode, więc listek, którego nie ustawiałeś, nie jest usterką.
Ten tryb jest przeznaczony dla pracy w tle. Włączony dla gry obniża priorytet samej gry.
„System interrupts” to nie program
Menedżer zadań opisuje ten wiersz jako „Deferred procedure calls and interrupt service routines” (odroczone wywołania procedur i procedury obsługi przerwań): to czas, który procesor spędza w kodzie przerwań sterowników, a nie w jakiejkolwiek aplikacji. Zarchiwizowany wpis na blogu Microsoftu nazwał te procedury cichymi zabójcami wydajności systemu: to kod o najwyższym priorytecie, jaki działa w systemie, a gdy działają za długo albo za często, według tego wpisu mogą powodować zakłócenia dźwięku i obrazu oraz zamrożenia myszy. Wysoka albo skacząca wartość wskazuje tu na sterowniki, a Opóźnienia DPC: kiedy to sterownik jest tym, co przycina pokazuje, jak znaleźć który.
Priorytet: co zmienia „Set priority” i na jak długo
Na stronie Szczegóły kliknij proces prawym przyciskiem i wybierz „Set priority” (ustaw priorytet): Realtime, High, Above normal, Normal, Below normal albo Low (czasu rzeczywistego, wysoki, powyżej normalnego, normalny, poniżej normalnego, niski); kolumna „Base priority” (priorytet podstawowy) pokazuje bieżący. Priorytet decyduje, kto działa pierwszy, gdy wątki rywalizują o procesor: według dokumentacji Microsoftu o planowaniu wątek o wyższym priorytecie, który staje się gotowy, zatrzymuje wątek o niższym priorytecie. Ta sama strona podaje, że domyślnie klasą priorytetu procesu jest NORMAL_PRIORITY_CLASS, wybierana przy tworzeniu procesu. Zmiana zrobiona w Menedżerze zadań trwa więc do zamknięcia gry; następne uruchomienie znowu startuje z priorytetem Normal, chyba że to, co uruchamia grę, ustawia albo przekazuje inną klasę.
Trzy zastrzeżenia:
- Ta sama dokumentacja mówi, że prawie nigdy nie należy używać REALTIME_PRIORITY_CLASS, bo przerywa to wątki systemowe obsługujące wejście z myszy, wejście z klawiatury i opróżnianie buforów dysku w tle. Menedżer zadań może też odpowiedzieć komunikatem „Unable to set priority to Realtime. The priority was set to High instead.” (nie można ustawić priorytetu czasu rzeczywistego, zamiast niego ustawiono wysoki).
- High ma własne ostrzeżenie: według tej dokumentacji aplikacja z klasą wysokiego priorytetu może zużyć prawie cały dostępny czas procesora.
- Niektóre procesy odrzucają każdą zmianę („Unable to change priority”, czyli nie można zmienić priorytetu). Procesy chronione, na przykład, nie udzielają prawa dostępu, którego wymaga zmiana priorytetu.
Jeśli gra ciągle startuje z priorytetem, którego nie wybierałeś, ustawia go przy każdym uruchomieniu sama gra, jej launcher albo stała reguła. Karta Priorytety gier i aplikacji w w0a usuwa stałe reguły wysokiego priorytetu, razem z zapisanym przy nich priorytetem wejścia/wyjścia, niezależnie od tego, które narzędzie je zapisało: na stronie Fix wyszukaj oncelik i naciśnij przycisk na karcie (Priorytety gier i aplikacji).
Dysk i sieć: Monitor zasobów
Menedżer zadań ma polecenie „Open Resource Monitor” (otwórz Monitor zasobów), a perfmon /res otwiera go bezpośrednio. Jego karta „Disk” (dysk) zawiera listę „Processes with Disk Activity” (procesy z aktywnością dysku), a w sekcji „Disk Activity” (aktywność dysku) każdy odczytywany albo zapisywany plik z wartościami „Read (B/sec)”, „Write (B/sec)” i „Response Time (ms)” (odczyt, zapis, czas odpowiedzi). Jego karta „Network” (sieć) zawiera listy „Processes with Network Activity” (procesy z aktywnością sieciową) i „TCP Connections” (połączenia TCP). To wiąże skok aktywności dysku z jednym procesem i jednym plikiem; dalej prowadzi Dysk na 100% w Menedżerze zadań.
Kończenie procesu
Kiedy Microsoft przeprojektował Menedżer zadań dla Windows 8, opisał Zakończ zadanie jako działające od razu, bez pytania „Are you sure?” (czy na pewno?) i bez propozycji zapisania. Podał też, że aplikacje na ogół można bezpiecznie zabić, a zabicie niektórych procesów Windows może spowodować niebieski ekran. Na stronie Szczegóły zakończenie procesu jest poprzedzone pytaniem, a pytanie ostrzega: „If you end a system process, it might result in system instability.” (zakończenie procesu systemowego może spowodować niestabilność systemu). Kiedy gra jeszcze odpowiada, zapisz stan i zamknij ją z jej własnego menu.
Co nie pomaga
- Priorytet czasu rzeczywistego (Realtime) dla gry. Może przerywać wątki systemowe obsługujące wejście z myszy i klawiatury, jak mówi ostrzeżenie wyżej.
- Kończenie procesów Windows, żeby zwolnić zasoby. Zabicie niektórych z nich może spowodować niebieski ekran.
- Wyłączanie liczników wydajności. Niektóre poradniki optymalizacji zapisują wartość Disable Performance Counters, która je wyłącza. Jeśli Monitor wydajności nie znajduje żadnych zestawów liczników albo narzędzie do monitorowania nie widzi danych, karta Liczniki wydajności w w0a usuwa tę wartość: na stronie Fix wyszukaj
performansi naciśnij przycisk na karcie (Liczniki wydajności).
Powiązane
- Opóźnienia DPC: kiedy to sterownik jest tym, co przycina
- GPU nie na 100%: jak odróżnić wąskie gardło procesora od czegoś innego
- Dysk na 100% w Menedżerze zadań: jak znaleźć przyczynę
- Za mało VRAM: co się dzieje i jak to sprawdzić
- Antimalware Service Executable obciąża procesor podczas gry
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ł.