Einzelnen Beitrag anzeigen

supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#16

Re: exakte Zeitmessungen auf Multiprozessoren

  Alt 2. Okt 2006, 03:50
hmm klingt alles logisch aber ich will doch mal meine probleme darstellen, die ich bekommen würde, wenn ich getickcount in meinem projekt verwenden würde:
Hmm klingt alles logisch, aber ich woll doch mal meine Probleme darstellen, die ich bekommen würde, wenn ich GetTickcount in meinem Projekt verwenden würde, anstatt das mit dem QueryPerformanceCounter Dingens zu berechnen:

Also es geht um das Programm "miniAdmin2", das einen Client für Call of Duty Server für die "Newbies" und "Admins" sein soll.
Es ist ziemlich belieb in der Community und deshalb bemühe ich mich auch im Vorfeld, "Falschanzeigen" im Programm zu vermeiden.
Und da sind wir auch schon beim Problem.
Die Server, die ich da anlegen kann, werden tabellarisch dargestell und erhalten in der Spalte "Ping" immer den aktuellen Ping, vom User zum Server, der sich jede Sekunde akualisiert.

Wenn ich jetzt jetzt die Methode "PerformanceCounter" benutze, sind die Pings in ihrer Auflösung etwa millisekundengenau, was schonmal ziemlich gut aussieht.
Allerdings muss ich, wie gesagt, negative Werte rausfiltern und damit leben, das mir der Ping ab und zu, zu wenig anzeigt.
Zum Beispiel hat ein Server einen Ping von durchschnittlich 15ms und dann auf einmal 4ms und weniger
Das verwirrt die User eventuell total und dann gibts Fragen über Fragen....

Wenn ich jezt die Methode "GetTickCount" benutze, sind die negativen Werte nicht vorhanden und die Pings sind annähernd real.
Allerdings ist die Zeitauflösung je nach Windows und PC etwas grob, was zu pings von 0 oder 16 oder sonstigen "eingerasteten" Messwerten führt.
Damit kann ich also noch weniger leben, da die Server dann sehr unreale Pings haben (obwohl das schon näher hinkommt)
aber wenn ich jetzt 10 Serve untereinander habe und 5 davon immer den gleichen Ping haben ( z.b. alle 16ms) dann sieht das ziemlich blöd aus
Was ich jetzt machen könnte, ist einen Pauschalwert vom Ping abziehen und noch nen gerundeten Wert von 1-2 ms dazu addieren. Das wäre dann schöne Statistikfälschung, sieht aber geil aus *g*

Ich hoffe ihr wisst jetzt was ich meine und ob man was dagegen tun kann weis ich leider nicht
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat