Lovelace_187
Neuling
- Mitglied seit
- Mrz 31, 2020
- Beiträge
- 4
- Bewertungspunkte
- 2
- Punkte
- 2
Hallo,
nach dem Wechsel auf mein neues System ist mir bei der Leistungsaufnahme etwas seltsames aufgefallen.
Direkt nach starten von Windows 10 beträgt diese ca. 60W. Nach einiger Zeit steigt diese jedoch auf ca. 83W an.
Als mögliche Ursache konnte ich die Auflösung des globalen Zeitgebers von Windows ermitteln.
Standardmäßig liegt diese bei meinem (und wohl den meisten aktuellen Systemen) bei 15,6 ms.
Eine Software kann diesen Zeitraum bis auf einen Platformabhängigen minimalwert (hier 0,5 ms) reduzieren.
Dies wird z.B. für grafische Animationen oder beim Abspielen von Audio oder Video Inhalten benötigt.
Beobachtet habe ich bisher minimal 1ms, gesetzt von z.B. Edge (YouTube) / Steam oder AMDRSSrcExt.exe (wohl ein Teil vom Grafiktreiber).
Zum Vergleich habe ich auf unterschiedlichen Systemen die Auflösung in 0,5ms schritten getestet,
wobei kein anderes System dieses Verhalten zeigt:
Nun stellt sich mir die Frage ob bei meinem System ein Konfigurationsfehler vorliegt oder ob dieses Verhalten auch bei anderen (Ryzen 5000) Systemen beobachtet werden kann.
Energiemessgerät:
ELV Energy Master
Hintergrund (Englisch):
https://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/
https://download.microsoft.com/down...-412a-a8b6-5e0a75d5b237/timer-resolution.docx
nach dem Wechsel auf mein neues System ist mir bei der Leistungsaufnahme etwas seltsames aufgefallen.
Direkt nach starten von Windows 10 beträgt diese ca. 60W. Nach einiger Zeit steigt diese jedoch auf ca. 83W an.
Als mögliche Ursache konnte ich die Auflösung des globalen Zeitgebers von Windows ermitteln.
Standardmäßig liegt diese bei meinem (und wohl den meisten aktuellen Systemen) bei 15,6 ms.
Eine Software kann diesen Zeitraum bis auf einen Platformabhängigen minimalwert (hier 0,5 ms) reduzieren.
Dies wird z.B. für grafische Animationen oder beim Abspielen von Audio oder Video Inhalten benötigt.
Beobachtet habe ich bisher minimal 1ms, gesetzt von z.B. Edge (YouTube) / Steam oder AMDRSSrcExt.exe (wohl ein Teil vom Grafiktreiber).
Zum Vergleich habe ich auf unterschiedlichen Systemen die Auflösung in 0,5ms schritten getestet,
wobei kein anderes System dieses Verhalten zeigt:
Zeitgeberauflösung (ms) | 5950X | 3600 | 3550U | 1950X | 3770K |
15,625 (Idle) | 60W | 53W | 6W | 70W | 35W |
6 | 61W | - | - | - | - |
4 | 62W | - | - | - | - |
2,5 | 64W | - | - | - | - |
2 | 70W | - | - | - | - |
<= 1,5 | 83W | - | - | - | - |
Nun stellt sich mir die Frage ob bei meinem System ein Konfigurationsfehler vorliegt oder ob dieses Verhalten auch bei anderen (Ryzen 5000) Systemen beobachtet werden kann.
AMD Ryzen 9 5950X
ASUS ROG Crosshair VIII Dark Hero (BIOS: 3302)
AMD Threadripper 1950X
ASRock X399 Taichi
AMD Ryzen 3600
Gigabyte X570 Elite
Intel 3770K
Gigabyte Z77 UD3H
Lenovo T495
3500U
ASUS ROG Crosshair VIII Dark Hero (BIOS: 3302)
AMD Threadripper 1950X
ASRock X399 Taichi
AMD Ryzen 3600
Gigabyte X570 Elite
Intel 3770K
Gigabyte Z77 UD3H
Lenovo T495
3500U
Energiemessgerät:
ELV Energy Master
C++
:
#include <iostream>
#include <windows.h>
#include <timeapi.h>
extern "C" NTSYSAPI NTSTATUS NTAPI NtSetTimerResolution(ULONG DesiredResolution, BOOLEAN SetResolution, PULONG CurrentResolution);
int main()
{
for (int i = 5000; i <= 150000; i+=5000)
{
ULONG currentResolution = 0;
NtSetTimerResolution(i, TRUE, ¤tResolution);
std::cout << "Test (ms): " << currentResolution / 10000.0 << "\n";
Sleep(10000);
NtSetTimerResolution(i, FALSE, ¤tResolution);
std::cout << "Test (ms): " << currentResolution / 10000.0 << "\n";
}
}
Hintergrund (Englisch):
https://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/
https://download.microsoft.com/down...-412a-a8b6-5e0a75d5b237/timer-resolution.docx