Plötzliche FPS-Einbrüche in Spielen: die echte Ursache finden

Eine Bildrate, die fällt und unten bleibt, ist ein anderes Problem als ein Hänger, und sie hat eine kurze Liste von Ursachen, die sich alle daran unterscheiden lassen, dass man während des Vorfalls zwei oder drei Zahlen beobachtet.

Eben waren es noch 140. Jetzt sind es 70, und dabei bleibt es, bis du das Spiel neu startest — oder bis du aufhörst, die Maschine abkühlen lässt und beim Zurückkommen feststellst, dass alles wieder in Ordnung ist.

Das ist ein anderes Problem als ein Ruckler, und die Verwechslung der beiden kostet Leute Wochen. Ein Ruckler ist ein einzelnes verspätetes Frame in einem ansonsten gesunden Durchlauf — wenn du das hast, ist Warum Spiele unter Windows 11 ruckeln die Seite, die du suchst. Ein Einbruch ist eine anhaltende Änderung daran, wie viel Arbeit die Maschine pro Sekunde schafft, und fast alles hier unten kündigt sich selbst an, wenn du während des Vorfalls auf die richtigen Zahlen schaust.

Zuerst der ehrliche Satz. Nichts auf dieser Seite macht ein Spiel schneller. Sie zeigt drei Spuren, die Windows ohnehin aufbewahrt — Resets des Grafiktreibers, Firmware, die den Prozessortakt unten hält, und die Obergrenzen für den Prozessor in deinem aktiven Energiesparplan —, die der Ruckler-Scan von w0a für dich liest, und wie du dieselben drei in ein paar Minuten selbst liest.

Die drei Fragen, die das ganze Feld teilen

Bevor du eine Einstellung anfasst, beantworte diese hier — jede streicht etwa die Hälfte der Liste.

  1. Erholt es sich von selbst? Ein Einbruch, der sich nach einer Minute Stillstehen auflöst, deutet auf Hitze oder eine Hintergrundaufgabe hin. Einer, der bleibt, bis du das Spiel neu startest, deutet auf den Zustand des Spiels selbst oder ein Treiberereignis hin.
  2. Passiert es in jedem Spiel oder nur in einem? Jedes Spiel zeigt auf die Maschine. Ein Spiel zeigt auf die Einstellungen dieses Spiels, sein Update oder seine Server.
  3. Hängt es an der Spieldauer oder an einer Stelle auf der Map? Dauer heißt Hitze und Energie. Eine Stelle heißt, die Szene ist anspruchsvoller geworden, oder es wird etwas geladen.

Beobachte danach Takte und Temperaturen während es passiert und nicht hinterher. Ein Einbruch, der im Rückblick unsichtbar ist, ist live offensichtlich: Entweder ist ein Takt gefallen, oder eben nicht.

Hitze und die Leistungsgrenze

Eine Ursache, die du bei „nach zwanzig Minuten bricht es ein“ ausschließen solltest.

Chips fallen nicht aus, wenn sie heiß werden, sie werden langsamer. Wird eine Temperatur- oder eine Leistungsgrenze erreicht, wird der Takt heruntergezogen und dort gehalten, solange der Zustand anhält. Diese Entscheidung trifft die Firmware selbst — der Schutz des Boards oder der CPU, nicht Windows —, deshalb erklärt nichts im Task-Manager sie. Auf der Grafikseite nennt der Treiber den Grund, wenn du ihn unter Last danach fragst: thermischer Schutz, ein unter den Werkswert gesetztes Power-Limit, ein Programm, das den Treiber zum Langsamerwerden auffordert, oder ein nicht richtig steckender PCIe-Stromstecker.

Woran du es erkennst: Es hängt mit der Länge der Sitzung und der Raumtemperatur zusammen, und der Takt liegt während des Einbruchs sichtbar niedriger als am Anfang.

Was du tust: Sitz des Kühlers, Staub, Luftführung im Gehäuse. Prüf dann, ob ein Power-Limit absichtlich gesenkt wurde — in der Firmware, in einem Hersteller-Werkzeug oder in einem gespeicherten Grafikkartenprofil.

Die Maschine hat den Energiezustand gewechselt

Bei Laptops fällt das am deutlichsten auf: Netzteil abziehen, und die Plattform wechselt auf einen anderen Satz Grenzwerte. Auf Desktops passiert es auch — ein geänderter Energiesparplan, Core Parking oder eine Obergrenze für den Prozessorzustand, die ein älteres Tuning-Skript hinterlassen hat, oder ein Plan, der nach einem Windows-Update zurückgesprungen ist.

Woran du es erkennst: Der Einbruch beginnt mit einem Ereignis — Netzteil abziehen, Deckel zu, Aufwachen aus dem Ruhezustand, ein Neustart — und nicht bei einer Temperatur.

Was du tust: Setz die Standardwerte des Plans zurück, statt neue Werte zu erfinden. Die Seite Fix hat Karten für den Energiesparplan und für die Prozessor-Energieeinstellungen, und jede schreibt bedingungslos den Windows-Standard, egal welches Werkzeug ihn geändert hat.

Ein Treiber-Reset

Der Bildschirm wird für ein, zwei Sekunden schwarz, kommt zurück, und alles ist langsamer — oder das Spiel ist geschlossen. Windows hat protokolliert, dass der Anzeigetreiber hing und zurückgesetzt wurde (TDR).

Woran du es erkennst: Das hinterlässt eine klare Spur, und der Ruckler-Scan meldet, wie viele Resets es am letzten Tag gab. Die Spur zeigt meist auf eine Übertaktung oder auf die Kühlung, nicht auf Software.

Was du tust: Hast du einen Offset auf Speicher oder Kerne gesetzt, halbier ihn und spiel eine Partie zum Test; setz ihn auf null und teste erneut. GPU-Absturzwiederherstellung deckt den Rest ab, auch das Zurücksetzen auf den Windows-Standard, falls ein älteres Werkzeug die Zeitüberschreitung angehoben hat, statt die Ursache zu beheben.

Drei Spuren, die Windows ohnehin aufbewahrt

1. Ein Reset des Grafiktreibers (Ereignis 4101)

Wenn der Grafiktreiber nicht mehr reagiert und zurückgesetzt wird, schreibt Windows das Ereignis 4101 in das Ereignisprotokoll System. Der Ruckler-Scan zählt diese Ereignisse der letzten 24 Stunden und meldet sie als seinen einzigen kritischen Befund; über zehn sagt er „10+“, statt so zu tun, als kenne er die genaue Zahl. Lässt sich das Protokoll selbst nicht lesen, sagt der Scan, dass die Prüfung nicht laufen konnte, statt die Maschine für sauber zu erklären.

Um selbst nachzusehen, in PowerShell:

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Display'] and (EventID=4101) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 10

Gibt es keine, antwortet PowerShell mit einem Fehler, der sagt, dass keine Ereignisse den Auswahlkriterien entsprechen: Das ist die Antwort „keines am letzten Tag“. Sagt es, dass es das Protokoll nicht lesen kann, starte PowerShell als Administrator und versuch es noch einmal.

Der Weg zurück ist der aus dem Abschnitt oben: eine Übertaktung senken oder entfernen, die Kühlung ansehen, und GPU-Absturzwiederherstellung, wenn ein älteres Werkzeug die Zeitüberschreitung des Treibers erhöht hat. w0a erhöht diese Zeitüberschreitung nicht selbst: Ein längerer Watchdog macht jedes Einfrieren nur länger, und die Wiederherstellung abzuschalten nimmt sie ganz weg.

2. Die Firmware hat den Takt unten gehalten (Ereignis 37)

Das Ereignis 37 von Microsoft-Windows-Kernel-Processor-Power ist die Firmware, die festhält, dass sie den Prozessortakt gesenkt und dort ganze Sekunden am Stück gehalten hat; der Text des Ereignisses selbst sagt, wie lange. Das zählt, weil eine Temperaturanzeige nur den Moment zeigt, in dem du hinsiehst: Eine Maschine, die vor einer Stunde gedrosselt hat und seitdem abgekühlt ist, sieht völlig gesund aus, und dieses Ereignis ist die einzige Spur dieser Stunde, die auf ihr bleibt.

Der Scan zählt diese Ereignisse der letzten 24 Stunden, nur im Netzbetrieb — im Akkubetrieb ist dasselbe Ereignis die Plattform, die ihre Arbeit macht — und warnt ab drei. Ein oder zwei sind in den ersten Sekunden nach dem Start üblich, während das Board seine Leistungsgrenzen einpendelt.

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-Kernel-Processor-Power'] and (EventID=37) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 20

Lass den Namen des Anbieters im Filter. Andere Komponenten verwenden die Nummer 37 für Ereignisse, die nichts damit zu tun haben, und eine Zählung ohne den Anbieter bedeutet nichts.

Findest du eine ganze Spur davon, ist die Ursache Hitze oder eine Leistungsgrenze, wie im Abschnitt über Hitze oben; CPU- und GPU-Temperaturen beim Spielen erklärt, was du ablesen solltest, und auf einem Laptop behandelt Gaming-Laptop langsamer, als er sein sollte das Netzteil und die Energiemodi.

3. Der aktive Plan begrenzt den Prozessor

Der Name eines Plans ist nicht das, was läuft. Ein Plan für hohe Leistung mit einem maximalen Prozessorzustand von 80 % ist eine begrenzte Maschine mit dem richtigen Etikett. Der Scan liest vier Einstellungen aus dem Prozessorabschnitt des Plans, der gerade aktiv ist, im Netzbetrieb:

Einstellung (der Name, den powercfg verwendet)Was der Scan als Grenze behandeltWas es bedeutet
PERFBOOSTMODE0Turbo aus: Der Prozessor geht nie über seinen Nenntakt.
PROCTHROTTLEMAX1 bis 99Eine Obergrenze für den Takt, in Prozent.
IDLEDISABLE1Leerlaufzustände aus. w0a zählt das als Grenze, nicht als Leistungseinstellung, mit der Überlegung, dass ohne Leerlaufzustände kein thermischer Spielraum bleibt, in den der Boost gehen könnte. Das ist eine Überlegung aus der Funktionsweise des Boosts, keine Messung.
CPMINCORES1 bis 99Core Parking. Wird nicht gemeldet auf Hybridprozessoren, wo es einer der Hebel ist, mit denen Windows Arbeit verteilt, und nicht auf V-Cache-Prozessoren mit zwei Chiplets, wo der Treiber damit ein Spiel auf dem Chiplet mit dem Cache hält. Siehe Ryzen X3D, Game Bar und Core Parking.

Der Scan liest diese Einstellungen über die Energieschnittstelle von Windows und nicht über powercfg, weil auf einer Standardinstallation zwei davon ausgeblendet sind und powercfg für sie überhaupt nichts ausgibt. Kann keine der vier gelesen werden, sagt der Scan, dass er nicht messen konnte, nicht, dass der Plan sauber ist.

Um selbst nachzusehen, in der Eingabeaufforderung oder in PowerShell:

powercfg /getactivescheme
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX
powercfg /query SCHEME_CURRENT SUB_PROCESSOR IDLEDISABLE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PERFBOOSTMODE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR CPMINCORES

So liest du die Antworten:

Der Weg zurück, Einstellung für Einstellung:

Es fing direkt nach einem Update an

Hier verstecken sich zwei sehr verschiedene Dinge.

Ein Spiel- oder Treiber-Update entwertet den Shader-Cache, und das Spiel kompiliert beim Spielen nach. Die Bildrate ist eine Weile wirklich niedriger und dann nicht mehr. Es klingt ab — das ist das Erkennungszeichen. Ruckler durch Shader-Kompilierung erklärt, warum, und warum du in diesem Zeitfenster nicht benchmarken solltest.

Eine Regression in einem Treiberzweig klingt nicht ab. Hersteller geben so etwas schriftlich zu — in Release Notes stehen Einträge wie „geringere Leistung in diesem Titel auf Zweigen neuer als X“. Stuf nicht reflexartig zurück: Zieh deine Updates durch, miss auf deiner eigenen Maschine, und zieh eine andere Version erst dann in Betracht, wenn du die Regression selbst belegen kannst.

Etwas anderes hat angefangen zu laufen

Ein geplanter Scan, ein Update-Dienst beim Auspacken, ein Archiv, das entpackt wird, ein Videoexport. Das stellt sich für dieselben Kerne an wie das Spiel und verschwindet, anders als ein Hänger, nicht zwischen zwei Frames — oft zu einer bestimmten Tageszeit reproduzierbar. Die gesamte CPU-Auslastung ist die falsche Zahl dafür: Ein einzelner ausgelasteter Kern auf einer Maschine mit acht Kernen liest sich als bescheidener Gesamtwert. Sitz es aus, oder verleg die Arbeit.

Die Bildrate ist gar nicht eingebrochen

Ein gesetztes Limit. Landest du auf genau deiner Bildwiederholrate, deinem spielinternen Limit oder einem Limit auf Treiberseite, ist gar nichts der Flaschenhals — du liegst an der Decke, um die du gebeten hast.

Dynamische Auflösung. Ein Spiel, das seine Renderauflösung selbst anpasst, um eine Zielbildrate zu halten, zeigt einen stabilen Zähler, während sich stattdessen die Bildqualität bewegt.

Es ist ein Spiel, und der Zähler sieht gut aus

Dann liegt der Einbruch vielleicht gar nicht an deiner Maschine. Eine Online-Partie wird für alle auf dem Server gleichzeitig schlechter, und Netzwerkprobleme sind kein Bildratenproblem: Zu spät ankommende Pakete lassen die Welt um dich herum ruckeln, während deine Maschine mit voller Geschwindigkeit weiterzeichnet. Sind die Frametimes während des Vorfalls gesund, hör auf, den PC anzuschauen.

Ist die Bildrate dagegen einfach niedriger, als sie sein sollte, während die Grafikkarte untätig danebensitzt, ist das eine eigene Diagnose mit einer eigenen Liste: GPU nicht bei 100 % arbeitet sie der Reihe nach ab.

Ein Vorgehen, das eine Antwort liefert

  1. Nimm eine ganz normale Sitzung auf, bevor irgendetwas nicht stimmt, und heb die Aufnahme auf. Das Benchmark-Ergebnis lesen erklärt, wie — und warum der Durchschnitt dort die unnützeste Zahl ist.
  2. Wenn der Einbruch passiert, notier Takte und Temperaturen währenddessen, nicht danach.
  3. Änder eine Sache, dann stell dieselbe Szene und dieselbe Sitzungslänge wieder her.
  4. Miss dich an deiner eigenen Schwankung von Durchlauf zu Durchlauf. Schwanken drei unveränderte Durchläufe stärker als der Unterschied, über den du dich freust, hast du Rauschen gefunden.

Was du gegen einen Einbruch nicht tun solltest

Heb nicht die Wiederherstellungs-Zeitüberschreitung des Grafiktreibers an, um einen Treiber-Reset zu verstecken: Aus einer kurzen Wiederherstellung wird dadurch ein längeres Einfrieren, und der Beleg verschwindet. Schalt keine Kerne und kein Simultaneous Multithreading ab, gestützt auf einen Guide ohne Quellen — du würdest bekannte Mehrkernkapazität gegen einen Gewinn tauschen, für den niemand eine Methode veröffentlicht hat. Und wende keine Werte der Kernel-Speicherverwaltung als Leistungslösung an; dieses Produkt weigert sich, sie zu schreiben, und keine Messung stützt sie.

Dasselbe gilt für die Energieeinstellungen: Keine der vier oben ist ein „Leistungs“-Schalter, den man in die andere Richtung umlegen müsste. Turbo aus hält den Prozessor auf seinem Nenntakt, und der Scan von w0a selbst markiert ausgeschaltete Leerlaufzustände ebenfalls als Grenze, wo immer er sie findet.

Verwandt

Du spielst CS2? Welche Startoptionen noch etwas bewirken und wo im Grafikmenü die Frames tatsächlich liegen: Wenig FPS und Ruckler in CS2 trotz gutem PC: eine gemessene Checkliste

w0a ändert keine Windows-Einstellung, bevor du es verlangst, und ein Tweak sichert den alten Wert, bevor er einen neuen schreibt. Erinnere mich

Hat diese Seite geholfen?

Was hat gefehlt, oder was hat nicht funktioniert? Wir lesen jede einzelne Rückmeldung.

Wenn diese Seite das Problem nicht gelöst hat, schreib uns — nenne den Artikel, den du gelesen hast, und wir bessern ihn nach.