"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

TimerBench: Ein Benchmark für Windows Timer

mat 02.10.2017 - 18:05 276522 115 Thread rating
Posts

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
Hallo Dennis,

QPC ist in Windows 7 aufwärts immer TSC (CPUs Timestamp Counter) oder HPET. Wenn ich mich richtig erinnere, ist ACPI als QPC zuletzt bei Windows XP im Einsatz gewesen, weil das Auslesen von ACPI-Timestamps einfach zu langsam ist.

Deine Resultate sind im Prinzip alle TSC (bis auf die mit HPET). Alle "Unknown"-Resultate mit 10 MHz sind auf Windows 10 RS5+ entstanden. Das ist aber nur eine einheitlichere Darstellung, das Ergebnis ist dasselbe.

Lange Rede, kurzer Sinn. TSC ist schneller bei dir, HPET solltest du vermeiden.

Dennis50300

Bloody Newbie
Registered: Jul 2019
Location: germany
Posts: 6
Hi ma, also wenn ich das nun richtig blicke ist das mit den 10mhz schon ok und kann so laufen bleiben ja ?

Ich komme halt nicht dazu die 3,5 mal mit den 10 zu vergleichen, auf 8.1 hab ich nun auch 10mhz, kann also nur switchen zwischen 14mhz und somit HPET eben und eben den 10mhz also QPC
https://s18.directupload.net/images/190711/4ycqgnsg.jpg

Gruss Dennis
Bearbeitet von Dennis50300 am 11.07.2019, 06:42

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
Ja, der 3,5 MHz und 10 MHz sind derselbe Timer. Korrekt wäre ja eigentlich 3,5, weil das ist die Boot-Frequenz deiner CPU und somit die TSC-Timer-Frequenz. Seit RS5 wird allerdings die Frequenz fix mit 10 MHz angeschrieben und der Timestamp umgerechnet. Dadurch lässt sich jetzt sehr leicht erkennen, wann QPC TSC nutzt (= 10 MHz) oder HPET (> 10 MHz).

Dennis50300

Bloody Newbie
Registered: Jul 2019
Location: germany
Posts: 6
Hi mat

Achso ist das, ok
ist allerdings halt schon interessant warum mein 8.1 erst noch die 3,5 immer halt melden lassen und mittlerweile dann auch 10
Das hatte wohl was mit Konfigurationen per BCDEdit auf sich, ich teste halt lieber und sehe ob es einen Unterschied gibt oder nicht ;-)

Gruss Dennis

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
TimerBench 1.4 :cool:

timerbench-256_240633.png

  • Korrekte Erkennung von iTSC QPC-Modus mit 10 MHz (seit Windows 10 RS5)
  • Abstürze beim Laden von Resultat-Dateien behoben
  • Es können nun mehrere Resultat-Dateien gleichzeitig geöffnet werden
  • Es können nun mehrere "Measure Process"-Dialoge geöffnet werden
  • Im Measure Process Dialog kann nun auch eine Process ID statt einem Namen angegeben werden.
  • Neues Icon. Das Alte war etwas "altmodisch". :p
  • Bibliotheken aktualisiert: HWiNFO 6.12, PresentMon 1.5.2, EasyHook 2.7.7097
  • Alle ausführbaren Dateien und DLLs sind nun per SHA2 signiert
  • Kompiliert mit Visual Studio 2017 (MFC und VC statisch gelinkt)

Download: TimerBench 1.4 (172 MB, Self-extracting Exe, CRC32: 39a1a4c7)
Prerequisites: DirectX 11

Stefan_L_01

Bloody Newbie
Registered: Nov 2019
Location: Planet earth
Posts: 1
Mal eine Frage zum Timertest tool: was sagen mir die Werte?
Warum hat QpC eine Diff > 0 => 100.315ms, was bedeutet das??? Insbesonders der Diff Wert bei allen ausgaben? Bedeutung, zu was ist der gemessen?
Gruß
Stefan

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
Der ist eher für mich intern zum Testen bzw. auch als Spielwiese, um das "Measure Process" Tool besser kennenzulernen. Es werden dort einfach alle bekannten Win32 Timer-Funktionen dargestellt.

ocattest856

Bloody Newbie
Registered: Nov 2019
Location: Germany
Posts: 2
Hi mat,
ich kenne mich mit dem ganzen nur sehr oberflächlich aus und würde mich über eine Erklärung von dir freuen.

Windows 1709 wird von vielen als die beste Windows Version angepriesen, weil sie noch ~3.4 QueryPerformanceFrequency hat, geringe Latenz und gute Overclockstabilität haben soll.

Jetzt meine dummen Fragen:

-Bedeutet ein niedrigerer "QueryPerformanceFrequency" auch bessere Spieleperfomance oder bessere Latenz?

-Wenn du schreibst "3,5 MHz und 10 MHz sind derselbe Timer", bedeutet das dann, dass der Timer derselbe aber mit anderen Werten ist oder dass der Wert der selbe, ausgedrückt in verschiedenen Timern?

-Macht es folglich Sinn, 1709 zu benutzen oder haben 1809/1909 bezüglich des Windows Timers keine schlechtere Performance/Latenz?

Beste Grüße!

erlgrey

formerly known as der~erl
Registered: Aug 2002
Location: Wien
Posts: 4366
Ich höre gerade zum ersten mal, dass 1709 die beste windows version sein soll. :D

Roman

CandyMan
Avatar
Registered: Jun 2000
Location: Im schönen Kär..
Posts: 3771
Wahrscheinlich weils vom Namen her am nähsten an Windows 7 herankommt... :D

Viper780

Moderator
Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48756
Windows 10 1709 ist seit 9. April 2019 aus dem Support raus.
Wenn wer schon damit anfängt sollt man ihm das Internetkabel weg nehmen

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
Zitat aus einem Post von ocattest856
Hi mat,
ich kenne mich mit dem ganzen nur sehr oberflächlich aus und würde mich über eine Erklärung von dir freuen.

Windows 1709 wird von vielen als die beste Windows Version angepriesen, weil sie noch ~3.4 QueryPerformanceFrequency hat, geringe Latenz und gute Overclockstabilität haben soll.

Jetzt meine dummen Fragen:

-Bedeutet ein niedrigerer "QueryPerformanceFrequency" auch bessere Spieleperfomance oder bessere Latenz?

-Wenn du schreibst "3,5 MHz und 10 MHz sind derselbe Timer", bedeutet das dann, dass der Timer derselbe aber mit anderen Werten ist oder dass der Wert der selbe, ausgedrückt in verschiedenen Timern?

-Macht es folglich Sinn, 1709 zu benutzen oder haben 1809/1909 bezüglich des Windows Timers keine schlechtere Performance/Latenz?

Beste Grüße!
Hi,

Willkommen in unserem Forum. :)

Ich habe gerade eben mit einem der Top-Overclocker gesprochen und er verwendet Windows 10 1709 für keinen einzigen Benchmark. Da er für seine Rekorde jede Windows-Version für alle gängigen Plattformen testen muss, würde ich sagen, dass 1709 keine speziell interessante Version für Overclocker ist.

Einen Performance-Unterschied zwischen dem QPC (im TSC-Modus) mit der Bootup-CPU-Taktfrequenz als Timer-Frequenz und den 10 MHz seit RS5 konnte ich in der Praxis nicht feststellen. Ich habe mich damals recht ausführlich damit beschäftigt und den Code der QueryPerformanceCounter WIN32-API-Funktion analysiert und herausgefunden, dass die neue Methode mit 10 MHz eigentlich nicht viel mehr macht, als die Timestamp auf einen Nenner zu bringen. Damit kann ein Programmierer jetzt sehr einfach herausfinden, ob TSC verwendet wird oder nicht. Das war zuvor sehr mühsam, weil die Bootup-Taktfrequenz herausgefunden werden musste. Hier findest du eine detaillierte Abhandlung zu diesem Thema:


Wie es mit den Latenzen aussieht, kann ich dir leider nicht sagen. Da müsstest du den DPC Latency Checker anwerfen, wobei auch der nur Deferred Prodecure Calls (wichtig für zB Grafikkarten-Treiber und 3D-Performance) testet und das Testverfahren auch nicht unumstritten ist. Kein einfaches Thema jedenfalls, sodass die Aussage "die Latency ist bei 1709 besser" meiner Meinung nach schwierig festzustellen und wahrscheinlich allgemein so gar nicht formuliert werden kann.

Zu deinen Fragen:

-Bedeutet ein niedrigerer "QueryPerformanceFrequency" auch bessere Spieleperfomance oder bessere Latenz?

Du meinst wahrscheinlich die Timer-Frequenz, oder? Dann: Nein. Korrekt wäre: Je schneller der Aufruf von QueryPerformanceCounter() abgehandelt wird, desto weniger hat die Messung von Timern einen Einfluss auf die Performance. Der Einfluss ist auch nur dann gegeben, wenn die CPU ein Bottleneck wird und nicht mehr ausreichend schnell die Grafik-API mit Daten versorgen kann. Das passiert im Normalfall nur wenn die CPU ohnehin eher schwach dimensioniert im Vergleich zur Grafikkarte ist. Da hilft dann alles, was die CPU entlastet (auch zB weniger Prozesse, die gleichzeitig im Hintergrund laufen - aber auch eben die Performance der Zeitmessung).

-Wenn du schreibst "3,5 MHz und 10 MHz sind derselbe Timer", bedeutet das dann, dass der Timer derselbe aber mit anderen Werten ist oder dass der Wert der selbe, ausgedrückt in verschiedenen Timern?

Ja. Selber Timer nur durch einen Faktor vereinheitlicht.

-Macht es folglich Sinn, 1709 zu benutzen oder haben 1809/1909 bezüglich des Windows Timers keine schlechtere Performance/Latenz?

Wie oben beschrieben, macht es meiner Meinung nach keinen Sinn, nicht die neueste Windows-Version zu verwenden.

ocattest856

Bloody Newbie
Registered: Nov 2019
Location: Germany
Posts: 2
Hey mat,

vielen Dank für die ausführliche Antwort.
Die "1709-Befürworter" berufen sich gerne auf die niedrigere Timer-Frequenz und geringere Latenz in LatencyMon.
Es ist gut zu wissen, dass besonders der erste Punkt nicht fundiert ist und letzterer schwer vergleichbar ist - und damit die Unterschiede wohl vernachlässigbar sind.
Damit kann ich nun beruhigt deine abschließende Meinung teilen :)

Danke!

cramiii

Bloody Newbie
Registered: Jan 2020
Location: Deutschland
Posts: 3
Hi mat,

zunächst einmal danke für die Arbeit, die du in TimerBench gesteckt hast.

Ich hätte noch ein paar Fragen zu den Ergebnissen, welche das Tool ausspuckt.
Könntest du mir sagen, welche Werte höher bzw. niedriger als "besser" zu interpretieren sind?
Und in welcher Gewichtung die jeweiligen Benchmark Ergebnisse zu bewerten sind?

Mögen unter Umständen doofe Fragen sein, jedoch fange ich jetzt erst an mich mit derartigen Themen zu beschäftigen.

Ich habe mal drei Results angehangen, welche auf Grundlage verschiedener Settings ergaben.
HPET unter Windows kommt für mich nicht in Frage, jedoch würde ich gerne einzuschätzen wissen, welches der Ergebnisse, in der Theorie, das beste ist.

Vielen Dank und viele Grüße
cramiii
timerbench_241914.png (downloaded 18x)
Bearbeitet von cramiii am 29.01.2020, 18:35

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25373
Hi, die Attachments hast du leider vergessen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz