Ideen-sammeln-für-Latenzmessungen-1200FPS

Baal Netbeck

Fleet Admiral
🎅Rätsel-Elite ’24
Registriert
Apr. 2008
Beiträge
13.076

Hallo PC-Spieler,​

ich habe mir die Tage eine gebrauchte Nikon 1 J4 gekauft, weil ich schon lange mal im Detail den Monitor abfilmen wollte und diverse Aussagen zu Latenzen, Frametimes, Synchronisation und Pixeltransitions mit Zahlen und Bildern/videos untersuchen wollte und es bis jetzt meist nur ein subjektive-qualitative,s anstatt quantitatives Beobachten war.​

Kauf und technische Möglichkeiten:​

Nun wollte ich dafür nicht viel Geld ausgeben und Profikameras gehen in die tausende....andere Kameras die angeblich 1000 FPS können, verrechnen das dann zu einem Video mit z.B. 500 FPS, was ich nicht gebrauchen kann.
Die Nikon ist trotz ihres Alters scheinbar einzigartig in ihrer Videofähigkeit. Ich habe ein Modell mit kaputtem Zoom erstanden und daher nicht viel gezahlt.

Die 1200 FPS kommen mit einem großen Nachteil...416x144 Pixel für 3 Sekunden. ;)
Auch sind die Aufnahmen zusätzlich recht verrauscht. Tolle Qualitätsvideos wie von den Slow Mo Guys kann man also in der Pfeife rauchen.

Erstes Basteln und Probemessungen​

Wie schon der Betreiber von Battle(Non)Sense, habe ich heute Abend eine alte Maus von mir aufgeschraubt und eine LED an den linken Maustaster gelötet. Die LED kann ich dann vor dem Monitor ins Video plazieren und sehe direkt den Maus down und Maus up....und dann eben die Reaktion am Bildschirm.

Es ist so also möglich den echten Button to Pixel Delay zu messen, indem ich die Frames im Video zähle.
Ist sehr mühselig und man braucht denke ich für jeden Messpunkt locker 10 Aufnahmen...eventuell mehr, denn die Streuung ist auf den ersten Blick groß.
Ich habe in Hogwards Lagacy zwei Test läufe mit einer handvoll Aufnahmen gemacht und lag zwischen 42 bis 49 Frames Verzögerung...sowohl für die Animation des Standardzaubers, als auch eine Kameradrehung.....macht ca. 38ms button to Pixel Delay.
FrameView meint zur PCL ca 20 ms. Wobei es dann etwas später schon 33 ms waren?

Mir ist klar, dass es da inzwischen andere Möglichkeiten zur Latenzmessung über spezielle Monitore und spezielle Sensoren gibt....ich fand die Kamera Variante resistenter für Fehler und ich wollte ja noch mehr beobachten, als nur die Latenz.

Jetzt die Frage an euch!​

Was habt ihr für Vorschläge bezüglich möglicher Messungen?

Ich habe keine Ahnung wann ich Zeit dafür finde die Messungen zu machen und vor allem die Auswertung wird lange dauern.

Wenn ich belastbare Ergebnisse habe, werde ich diese natürlich in einem Leserartikel veröffentlichen....aber habt Geduld...es ist ja ein Hobby.

Gerade wegen der eingeschränkten Zeit, wäre es natürlich gut, wenn ich besonders interessante Themen zuerst behandle.
Ich habe natürlich einen Haufen eigener Idden, aber vermutlich habt ihr noch bessere oder könnt mir bei der Priorisierung helfen.
Latenzen sind erstmal das einfachste, aber auch etwas, das andere schon (besser) gemacht haben.

Ich werde nicht umhin kommen erstmal nur herum zu probieren. Vor allem brauche ich eine bessere Methode, als das Video frame für frame weiter zu klicken und im Kopf die vergangenen Frames zu zählen. ;)

Eventuell kann ich das in einem Videoeditor besser ablesen? Wenn da jemand von euch eine gute Methode kennt, bin ich froh nicht suchen/testen zu müssen.

Pixel transitions sind mit einer Abtastung von 0,83ms nur schwer zu beobachten, aber deutlich verschiedene Monitore sollten schon vermessen werden können.
Ich habe z.B. einen 144Hz TN Monitor und einen 240Hz IPS Monitor....das TN Panel zeigt in den UFO-Tests weniger Ghosting, obwohl er weniger Hz hat. Wäre interessant, wie sich das auf die Latenz auswirkt.
Mein Laptop Display ist so träge, dass man es deutlich sehen kann....das will ich auch messen.

Aber da ist die Frage in welcher Situation?
Ich tendiere zu einem Spiel, da es dort darauf ankommt, aber ein Programm, das einfach mit klicken die Farbe ändert oder sowas....das wäre einfacher und vermutlich reproduzierbarer.

V-sync, Freesync, fast sync....sowas hat Battle(non)sense schon vor Jahren ausgiebig getestet, aber eventuell hat sich etwas geändert?

Frame limiter und ihre Auswirkungen?

Framepacing? Ich weiß. dass ich es spüre, wenn der Frametimeverlauf peaks zeigt. Aber mal sind es einzelne Peaks, mal geht ein Peak hoch und direkt darauf einer runter...was passiert da visuell?
Das wird sehr schwer zu messen und zu zeigen.
Vor allem mit der geringen Auflösung, ist es fraglich, was ich da überhaupt herausfinden kann.
Ich würde es aber versuchten wollen....auch hier gerne Tipps geben. ;)

Nikon 1 J4 und eine roccat kone pure mit LED am linken Maustaster.

Verschiedene AM4 PCs und verschiedenste AM4 CPUs: 5800X3D, 5700X, 3950X,...bis runter zum Ryzen 1400
Laptop CPU:13700H

Verschiedenen DDR4 RAM.

Grafikkarten: RX 9070 XT, Radeon VII, Vega64, GTX 1080 Ti, und am Laptop RTX4060

Monitore: LG UltraGear 27GR83Q-B(1440p 240Hz IPS), AOC AG241QX(1440p 1440Hz TN), Laptop Display(4K 60Hz IPS) und ein paar ältere Monitore.

Verschiedene Mäuse, wobei ich keine Lust habe weitere davon zu modifizieren. Ich könnte mir aber vorstellen einen Bewegungstest zu machen, wo ich die Maus halb im Bild habe und dann anstupse...oder teste ob Front USB, IO Shield, USB HUB, Bluetoth, 2,4GHz einen Unterschied macht.

Als Spiele habe ich eine große Sammlung, aber natürlich nicht alle. ;) Ich würde auch eher Spiele testen wollen, die ich selbst gerne mag, oder wo ich die Latenz als mögliches Problem sehe. Aber gerne Vorschläge...auch in Bezug auf Tearing oder andere Phänomene.

Ich bin auf eure konstruktiven Vorschläge und Anregungen gespannt. :)


Eine der ersten Messungen als Beispiel:
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SpamBot, Conqi, |Moppel| und 3 andere
Baal Netbeck schrieb:
mit klicken die Farbe ändert
Bei Shoothern das Mündungsfeuer an der Waffe geht bestimmt auch gut.

Zum Messen einfach die KLassiker: Window vs. Vollbild, verschiedene Framebegrenzer usw... Bei Nvidia gibt es ja auch so späße wie Low Latency Modus, das wäre auch intereressant ob das was bringt.

Cooles projekt, viel Spaß beim Messen :)
 
  • Gefällt mir
Reaktionen: Azghul0815 und Baal Netbeck
Danke für die Rückmeldung... Vollbild hatte ich nicht auf dem Schirm...wird als Test aufgenommen und low latency Mode auch.

Wäre interessant, wie sich da AMD und Nvidia schlagen. Leider ist meine aktuellste Nvidia GPU eine 4060 in einem Notebook...ohne muxx switch und mit 60Hz Display.
Mal sehen was das ergibt.
 
Baal Netbeck schrieb:
Vollbild hatte ich nicht auf dem Schirm
Bei manchen Spielen soll der Fenstermodus schnell +100 ms und mehr kosten, weil schlampig implentiert und die eingaben nicht direkt am Treiber sondern "über Windows" abgegriffen werden.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Was ist mit dem alten Fcat-Benchmark-Modus bei Nvidia-Grafikkarten.
Also die Farbstreifen am Rand vom Monitor, in dem der Nvidia Treiber jeden Frame mit einem Farbcode marktiert (kann man z.b. über den Afterburner aktivieren). Würde Dir das helfen?
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Da wäre es also gut wenn man den Fenstermodus in verschiedensten Spielen antestet.

Generell ist die Wahl der Spiele ein Thema.
Shooter sind vermutlich am einfachsten, aber ich bin eher kein Shooter Spieler.

Ich muss da auch einfach etwas austesten und vor allem prüfen, wie ich die Reproduzierbarkeit sicherstelle.

Es ist ja keine kontinuierliche Messung wie ein Frametime Verlauf von X Sekunden, wo sich kleine Unterschiede rausmitteln.

Das sind Einzelmessungen, die stark mit den momentanen FPS skalieren.
Kleine Änderungen der Kamera Position könnten schon große Einflüsse haben.

Die Situation im Spiel hat großen Einfluss.
Eine Häuserwand anzugucken ist vermutlich reproduzierbarer, aber die Latenz wird vermutlich auch unrealistisch gut sein.

Einen Platz voller NPCs zu vermessen ist schwieriger wenn da immer wieder mehr/weniger von ihnen herumlaufen.

Zum Glück sind die Messungen an sich sehr schnell gemacht... Da hat man ruckzuck ein dutzend Messungen. Nur mehrere dutzend Messungen per Hand auszuwerten dauert lange.

Könnte ein Grund sein, warum man diese Messungen so selten sieht.
Ergänzung ()

HisN schrieb:
Würde Dir das helfen?
Definitiv. Das muss ich mal ausprobieren.
Da wäre die Auflösung nicht so wichtig und ich kann den ganzen Bildschirm aufnehmen.

Kann man das einfach so aktivieren?
Die Option ist mir noch nie aufgefallen.
 
Zuletzt bearbeitet:
Wir haben hier jede zwei Wochen einen Thread, in dem jemand fragt was die blöden Streifen am Rand sind.
Also wird die Option gefunden und ausgelöst (wenn auch unbewusst^^).

https://www.computerbase.de/forum/threads/mit-msi-afterburner-fps-anzeigen.2098311/post-27478070
https://www.computerbase.de/forum/threads/grafikkartenfehler-beim-spielen.2019312/post-25570391
https://www.computerbase.de/forum/t...eifen-in-3d-anwendungen.2005753/post-25315296
https://www.computerbase.de/forum/t...te-auf-der-linken-seite.1933394/post-23899393
https://www.computerbase.de/forum/threads/kleiner-roter-balken.1848148/post-22158571

1743675690095.png
 
  • Gefällt mir
Reaktionen: Azghul0815 und Baal Netbeck
Haha, die einen finden sie ungewollt und ich übersehen sie. :)
Ergänzung ()

Werde ich wohl morgen Abend austesten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Azghul0815
Baal Netbeck schrieb:
wie ich die Reproduzierbarkeit sicherstelle.
Ich hätte viele Ideen. Im Grundstudium haben wir unendlich dieser Laborversuche gemacht.

Ich würde schon mal den Menschen ausschlißen wollen und möglichst viele Daten pro Schuss produzieren. Eine Maus mit internen Script die alle 0,x Sekunden auslöst wäre schon mal etwas. Dann hast du in den 3 Sekunden aufname jede Menge Daten zum Verwerten.
 
SpamBot schrieb:
Eine Maus mit internen Script die alle 0,x Sekunden auslöst wäre schon mal etwas. Dann hast du in den 3 Sekunden aufname jede Menge Daten zum Verwerten.
Danke für den Input, aber das klappt in meinem Fall nicht...bzw. das bekomme ich nicht hin. ;)

Die LED ist an das physische betätigen des Maustasters gebunden. Da hilft es wenig, wenn ein Skript irgendwelche Befehle sendet.

Vermutlich könnte jemand die Maus so umprogrammieren, dass da eine LED aktiviert wird, wenn die Befehle gesendet werden.
Gleichzeitig müsste das Skript auch die Videoaufnahme der Kamera fernsteuern.
Das geht aber über meine Fähigkeiten und meinen Willen hier Entwicklungstechnisch aktiv zu werden.

Auch zu viele Befehle sind im Hinblick auf PC Spiele nicht wirklich realistisch. Eine Schusswaffe wäre schon möglich, aber gerade wenn es um den Start von Animationen oder um Kameradrehung geht, bricht das Konzept zusammen.

Die Aufnahmen zu machen ist eigentlich auch nicht das Problem...rec, click, rec drücken.....sehen ob die animation wieder auf Anfang steht..rec, click, rec drücken usw....da habe ich in 20s 10 Messwerte....oder in 30s.
Das Zeit-Problem liegt eher in der Auswertung und dem Zählen der Frames.
Was helfen mir 1000 Messwerte in wenigen Sekunden, wenn ich 2 Tage zum Auswerten brauche.

Ich muss mal sehen wie die Videos aussehen, wenn sie in einem Videobearbeitungsprogramm stecken.
Und ob ich da durch gesetzte Start- und Endpunkt die Frames zählen lassen kann...oder direkt die ms.
Ergänzung ()

SpamBot schrieb:
Ich hätte viele Ideen.
Die eine hat mich nicht überzeugt, aber ich bin offen für weitere.

Gerne auch Gedanken zur Reproduzierbarkeit der Spielsituationen.

Bei klassischen gaming-benchmarks kenne ich mir sehr gut aus. Da kommen aber andere Effekte/Besonderheiten zum tragen, die sich hier nicht unbedingt übertragen lassen.

Vermutlich ist das einfachste ein Standbild, aber man sieht in immer mehr Spielen, wie die FPS absinken, wenn man sich bewegt und hochgehen, wenn man stillsteht.
Aus der Bewegung heraus zu messen führt aber dazu, dass ich eben nicht mehr sicherstellen kann, dass ich in der genau geichen Position messe. Die FPS gehen mit geänderter Position hoch und runter...das kann ich schlecht gebrauchen.

Am Ende kann man immer einfach mehr Messwerte an ungefär der gleichen Stelle nehmen und der Mittelwert sollte das regeln.

Wenn ich ein Maß für die Schwankung der Latenz angebe(Standardabweichung der Einzelmessung), ist das eventuell auch eine interessante Info.

Eventuell zeigt eine Methode von Syncronisation/FPS Limiter/sonstwas, zwar etwas schlechtere Latenzen, aber dafür mit deutlich weniger Schwankungen?

Aber das muss natürlich trotzdem so reproduzierbar wie möglich sein.
Noch habe ich keine Erfahrungen dazu, aber bei klassischen Benchmarks war es immer wieder so, dass die Messungen in der gleichen Messreihe zwar sehr reproduzierbar ausgesehen haben, aber nach einem Neustart des PCs konnte die nächste Messreihe, in sich genauso geringe Schwankungen aufweisen, aber verglichen mit der anderen Messreihe, war sie leicht verschoben.
Hat wohl unter anderem etwas damit zu tun, wie die Daten im RAM verteilt wurden.
Also mehr Messreihen mit Neustarts dazuwischen, wenn es auf diese Genauigkeit ankommt.
 
Zuletzt bearbeitet:
Zurück
Oben