Der Standard-Timer von Windows arbeitet in Schritten von 15,6 ms. Ein „nur 1 ms warten“ dauert deshalb tatsächlich bis zum nächsten Timer-Takt, im ungünstigsten Fall 15,6 ms.
Warum Framelimit und Paketversand über Sleep (kurzes Warten) umgesetzt → Folge OS weckt nur in Schritten von 15,6 ms auf → Auf dem Bildschirm Frame-Abstände und Sendeabstände der Eingaben schwanken
Hochauflösende Timer verwenden, Pacing über Events oder V-Sync (ohne Sleep-Wartezeiten).
Größenordnungen
In Schritten von 15,6 ms lässt sich kein Abstand von 16,7 ms treffen. Die Frame-Abstände springen zwischen 15,6 ms und 31,2 ms hin und her.
Im Graphen
Von Anfang an dauerhaft hoch · Verteilung der Frame-Abstände
Wo nachsehen
Die Verteilung von MsBetweenPresents (Frame-Abstand) in PresentMon und den Abschnitt „Platform Timer Resolution“ im Bericht von powercfg /energy (Prozesse, die die Timer-Auflösung geändert haben) ansehen
Spricht dafür
Frame-Abstände häufen sich bei Vielfachen von 15,6 ms wie 15,6 ms und 31,2 ms, und das Spiel fordert keine höhere Timer-Auflösung an
Spricht dagegen
Abstände gleichmäßig gestreut: eher „CPU-Belegung durch Hintergrundprozesse“ oder Frame-Last als der Timer
Prüfmittel
Prüfung in der Umgebung des Spielers
Mehr dazu
In älteren Windows-Versionen wirkte es sich auf alle Programme aus, wenn ein Programm den Timer auf 1 ms stellte. Daher stammt auch der Spruch „Mit offenem Browser läuft das Spiel flüssiger“. Seit Windows 10, Version 2004, gilt die Einstellung nur für das anfragende Programm. Windows 11 kann Anfragen von Fenstern ignorieren, die minimiert oder vollständig verdeckt sind und keinen Ton ausgeben.
Quellen
_WDF_TIMER_CONFIG (wdftimer.h)Microsoft Genauigkeit gewöhnlicher Timer entspricht dem Takt der Systemuhr, standardmäßig 15,6 ms, hochauflösende Timer 1 ms
timeBeginPeriod function (timeapi.h)Microsoft Bis Windows 10 2004 globale Einstellung, danach nur für den anfragenden Prozess, Windows 11 garantiert Prozessen mit verdeckten oder minimierten Fenstern keine hohe Auflösung
Results for the Idle Energy Efficiency AssessmentMicrosoft Standardauflösung des Systemtimers 15,6 ms, Prozesse, die die Timer-Auflösung geändert haben, stehen im Abschnitt „Platform Timer Resolution“ des Energieberichts
Powercfg command-line optionsMicrosoft powercfg /energy: analysiert das System und erstellt einen Energiebericht (HTML)