한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › L2 Client-OS und Gerät

CPU-Belegung durch Hintergrundprozesse Background CPU contention

Ursachen-ID co-background · Hauptzuständig Extern (Extern) · Beteiligt Client-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Belegen Virenscans, Windows Update, Streaming-Software oder Videos im Browser die Kerne, bekommt der Game-Thread keine CPU-Zeit und muss warten.

Warum Andere Programme belegen CPU-Kerne über längere Zeit → Folge Game-Thread wartet auf CPU-Zuteilung → Auf dem Bildschirm Frames kommen zu spät, auch empfangene Pakete werden verspätet verarbeitet

Symptome
Ruckeln, Zeitraffer
Faktoren
Stillstand
Wer ist betroffen
Nur ich
Wann
Gelegentlich, zufällig, In festen Abständen
Zuständigkeit
Hauptzuständig Extern (Extern) · Beteiligt Client-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Priorität des Game-Threads anpassen, in den Logs, die beim Ruckeln entstehen, die CPU-Auslastung des gesamten PCs mitschreiben, um andere Programme als Ursache zu erkennen.
Aufgaben Extern
Spielern empfehlen, den Windows-Spielmodus einzuschalten und unnötige Programme während des Spielens zu beenden (Virenscans, Windows Update, Streaming-Software, Videos im Browser).
Größenordnungen
Windows vergibt Kerne meist in Abschnitten von einigen bis einigen Dutzend ms. Schon ein einziges Zurückstellen beim Scheduling kostet einen ganzen Frame.
Im Graphen
Vereinzelte Spitzen ohne Muster · CPU-Auslastung des gesamten PCs, Frametime
Wo nachsehen
Die CPU-Spalte im Reiter „Prozesse“ des Task-Managers und Processor Information(_Total)\% Processor Time aus der Leistungsüberwachung zusammen mit der Frametime aus PresentMon aufzeichnen. Bei Verdacht auf den Virenscanner mit New-MpPerformanceRecording aufzeichnen und mit Get-MpPerformanceReport die Dateien und Prozesse mit langer Scanzeit ansehen
Spricht dafür
Zum Zeitpunkt des Ruckelns schießt die CPU-Nutzung eines anderen Programms hoch (Virenscan, Update, Streaming-Software), oder Dateien aus dem Spielordner stehen oben in der Liste der Scanzeiten. Wird das Programm beendet oder eine Ausnahme eingetragen, verschwindet es
Spricht dagegen
CPU-Auslastung niedrig, trotzdem stockt das ganze Bild und der Ton knistert: „NIC-Energiesparmodus und Treiberprobleme“ (DPC-Latenz)
Prüfmittel
Prüfung in der Umgebung des Spielers
Mehr dazu
Windows gibt dem Programm im Vordergrundfenster etwas mehr Priorität. Gibt es aber mehr Arbeit als Kerne, wartet auch das Spiel. Virenscanner stören häufiger über den „Echtzeitschutz“ als über CPU-Last. Der Echtzeitschutz prüft jede Datei, die das Spiel öffnet, und verlängert so den Stillstand beim Laden von Assets.

Quellen

  1. Multitasking Microsoft
    Windows gibt jedem Thread eine Zeitscheibe und wechselt nach deren Ablauf zum nächsten Thread, eine Zeitscheibe beträgt etwa 20 ms (je nach OS und CPU)
  2. Priority Boosts Microsoft
    Der Prozess im Vordergrundfenster erhält eine Priorität, die mindestens so hoch ist wie die von Hintergrundprozessen
  3. About regular quick and full scans with Microsoft Defender Antivirus Microsoft
    Der Echtzeitschutz prüft bei jedem Öffnen und Schließen einer Datei und bei jedem Öffnen eines Ordners
  4. Network-Related Performance Counters Microsoft
    Processor Information: Leistungsindikator % Processor Time
  5. Performance analyzer for Microsoft Defender Antivirus Microsoft
    Mit New-MpPerformanceRecording aufzeichnen und mit Get-MpPerformanceReport die Dateien, Pfade und Prozesse ansehen, die die Scanzeit am stärksten beeinflusst haben
  6. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Aufzeichnung der Zeit pro Frame über FrameTime (CPU-Zeit zwischen Frames)

Verwandte Ursachen

Gleiche Schicht: L2 Client-OS und Gerät

Ursachen aus anderen Schichten mit demselben Symptom (Ruckeln)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen