TL; DR Der Artikel beschreibt das bekannte Problem der Eingangsverzögerung, das sich beim Versuch zeigt, alte Spiele auf moderner Hardware zu spielen: Emulatoren von Retro-Konsolen, Bluetooth-Gamepads usw. Manchmal sind die Verzögerungen so groß, dass es unmöglich wird, zu spielen. Ich werde beschreiben, wie ich eine akzeptable Konfiguration finde, um meine Lieblingsspiele auszuführen.
Mit der Welle der Popularität von RaspberryPi-Einplatinencomputern kauften sich viele Bekannte von OrangePi Bündel davon. Ohne zu entscheiden, was sie mit ihnen anfangen sollten, begannen sie, aus ihnen eine Retro-Konsole zu formen, die auf dem RetroArch-Emulator und der Recallbox-Distribution basierte. Als ich versuchte, meine Lieblingsspiele aus der Kindheit zu spielen, war ich überrascht: "
Wie könnte ich das spielen? " Die Physik der Spiele schien irgendwie falsch, das Gefühl war widerlich. Nach einer Weile sagten sie mir, dass der springende Punkt die Eingangsverzögerung ist, die sich auf den ersten Blick nicht wie eine Verzögerung anfühlt, nämlich wie andere Physik.
Es stellte sich heraus, dass das Problem unter Konsolenfreaks seit langem bekannt ist und aktiv untersucht wird. Ich werde die Studien anderer Leute analysieren und versuchen, die Verzögerung meines Setups zu messen.
Was ist das Problem?
Die Eingangsverzögerung ist die Zeit vom Drücken der Taste auf dem Controller bis zur Reaktion des Zeichens auf dem Bildschirm. Hier spielen viele Faktoren gleichzeitig eine Rolle:
- Monitor- / TV-Verzögerung - Einige moderne Fernseher haben eine Bildausgabeverzögerung von mehr als 100 ms. Dies ist auf die Nachbearbeitung des Bildes, die Pufferung, die Filter usw. zurückzuführen. Hier sehen Sie einen Vergleich von CRT- und LCD-Fernsehern mit hoher Latenz. In der Regel geben Hersteller von Monitoren die Geschwindigkeit der Matrix in den Spezifikationen an und beziehen sich dabei auf die Geschwindigkeit des Umschaltens zwischen den Farben. Dies hat jedoch nicht mit der Verzögerung bei der Ausgabe des Bildes zu tun.
Ein analoges Signal von der Set-Top-Box auf zwei Fernsehern. Der LCD-Fernseher weist im Vergleich zur CRT eine erhebliche Verzögerung auf.
- Computerverzögerung - Eine Spielekonsole oder ein Computer mit einem Emulator verarbeitet das Signal nicht sofort, es braucht Zeit. Der Computer muss ein Signal vom Eingabegerät empfangen, verarbeiten und das Bild auf dem Bildschirm anzeigen. Die Verzögerung wird auch durch die vertikale Synchronisation des Bildes eingeführt, wenn es auf dem Bildschirm angezeigt wird. Hier versuchen RetroArch-Entwickler, dieses Problem zu lösen.
Demonstration einer großen Verzögerung auf dem Emulator. Video Denis Major
- Controller-Verzögerung - Das Eingabegerät kann auch eine Verzögerung verursachen. Zum Beispiel, wenn eine Verbindung zu einem geladenen USB-Bus, über Bluetooth usw. besteht.
Emulatoren
Jeder möchte auf moderner Hardware, normalen Fernsehgeräten und Monitoren mit HDMI spielen und alle möglichen Spiele auf einem Gerät ausführen. Hierzu werden Emulatoren gängiger Konsolen verwendet, die auf normalen X86- oder ARM-Computern ausgeführt werden. Hier sind die beliebtesten:

Der beliebteste und fortschrittlichste Emulator. Kann PlayStation1, SNES, NES, GameBoy, Sega Genesis / CD und andere Konsolen emulieren. Es funktioniert unter Windows, Linux, MacOS und auf modernen Konsolen wie Xbox, Android, PlayStation2 / 3/4 / Vita, Nintendo Wii / Switch und
anderen . Darauf
aufbauend wird das beliebte
Recallox- Distributionskit
hergestellt
Sehr praktischer und einfacher Emulator für macOS. Es unterstützt die gängigsten Konsolen und verfügt über eine praktische Spielegalerie, die nach Plattformen sortiert ist. Standardmäßig werden Playstation 4-Gamepads über Bluetooth unterstützt. Es ist RetroArch in seinen Fähigkeiten unterlegen, aber für meinen Geschmack ist es viel bequemer zu bedienen. Für meine Messungen werde ich es verwenden, da es unter MacOS sofort funktioniert, ohne die Gamepad-Einstellungen zu ändern. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Messverfahren
Der günstigste Weg, um die Verzögerung zu messen, ist die Aufnahme auf dem Videobildschirm und der Moment, in dem Sie die Joystick-Taste drücken. Moderne Smartphones nehmen problemlos Videos mit 240 FPS oder mehr auf, was für Messungen völlig ausreicht. Um den Moment des Drückens genau aufzuzeichnen, können Sie die LED an die Kontakte der Taste löten, die zum Zeitpunkt des Drückens aufleuchtet. Die LED leuchtet in Nanosekunden auf, sodass Sie den Moment des Drückens genau erfassen können.
Brunnis vom Libretro-Projektforum hat
viel ĂĽber Input Lag
geforscht . Ich halte sein Studium für das vollständigste und objektivste.
USB-Gamepad mit gelöteter LED zur Erfassung des Momentes, in dem die Taste gedrückt wird
Taste nicht gedrĂĽckt
Taste gedrĂĽckt
Die Bildschirmanimation beginnt nach 24 Bildern (100 Millisekunden).Berechnungsformel
In einer Sekunde 1000 Millisekunden.Die Kamera des Telefons nimmt mit 240 Bildern pro Sekunde auf.Also 1 Video = 1000/240 = 4,16 ms.Es ist auch wichtig, die Bildrate zu berücksichtigen, mit der der Monitor und der Computer ausgeführt werden. Bei einer Betriebsart von 30 fps beträgt ein Bild des Monitors beispielsweise 33 ms und bei 60 fps - 17 ms. Dies muss berücksichtigt werden, da die Zeit zwischen den Frames nicht kleiner als diese Werte sein kann. Dies bedeutet, dass Ereignisse, die während des Frame-Aktualisierungszeitraums auf dem Monitor auftreten, auf den letzten Frame gerundet werden.
Ich werde hier nicht alle Ergebnisse von Messungen des Typen nennen, die daran interessiert sind, sich selbst kennenzulernen.
Das Wichtigste: Originalkonsolen hatten je nach Konsole und PAL / NTSC-Modus eine durchschnittliche Verzögerung von 50 bis 70 ms. Ein gut abgestimmter PC-Emulator fügt je nach emulierter Plattform eine Verzögerung von 60 bis 80 ms hinzu. Der Himbeer-Pi-Emulator kann insgesamt bis zu 150 ms Verzögerung haben.
Meine Suche
Als Kind hatte ich einen Sega Mega Drive, es sind ihre Spiele, die die stärkste Nostalgie verursachen. Daher werde ich meine Suche nach einem komfortablen Setup speziell für diese Konsole beschreiben. Ich möchte gleich sagen, dass meine Forschung keinen Anspruch auf absolute Messgenauigkeit erhebt.
Meine Anforderungen:
- Drahtlose Gamepads - Konsolenfreaks mögen mich verurteilen, aber ich möchte bequem spielen, während ich in jeder Position auf der Couch sitze. Kabelgebundene Gamepads sind furchtbar unpraktisch, jeder tut weh und Sie werden lange nicht mehr spielen.
- Ausgabe über HDMI oder DisplayPort - Auf meinem Monitor befinden sich keine analogen Eingänge, sodass ich das ursprüngliche Sega Mega Drive nicht kaufen kann. USB-Adapter für die analoge Videoaufnahme führen ihre Verzögerung ein und sind unpraktisch. Ich möchte auch keinen separaten CRT-Fernseher für die Set-Top-Box kaufen
Macbook + Dualshok 4 + OpenEMU
Ich mag die Gamestation von Playstation 4 sehr, ich halte sie für die bequemste der vorhandenen Gamepads. Es kann sowohl über Bluetooth als auch über USB funktionieren. Vollständige Unterstützung in OpenEMU ohne Einstellungen.
Trotz aller Bequemlichkeit von OpenEMU ist das Hauptproblem der FPS-Drawdown im Vollbildmodus. Ich bin mir nicht sicher, was der Grund ist, und vielleicht wird dies behoben, aber es hat fĂĽr mich nicht geklappt. Deshalb spiele ich im Fenstermodus.
OpenEMU-Emulator-Schnittstelle. Alle Spiele sind nach Plattformen sortiert.Messungen
Ich wollte die Gamestation nicht von der Playstation trennen, um die LED zu löten, also musste ich den Countdown der Zeit durchführen, zu der die Taste durch Ton gedrückt wurde. Der Fehler dieser Methode beträgt ca. 8-10 ms. Der Monitor verwendet das LG 24UD58 im 4K @ 60fps-Modus, der über DisplayPort mit dem MacBook verbunden ist. Spiel gegen Hard Corps.
Die Verzögerung beim MacBook mit einem über Bluetooth verbundenen Dualshock4-Controller beträgt ca. 150 ms. Das ist viel!MacBook + Dulashock bietet eine Verzögerung von ca. 150 ms. Dies ist eine Menge für ein komfortables Spiel, eine solche Verzögerung ist spürbar und Hardcore-Plattformer wie Contra Hard Corps spielen unangenehm.
Trotz der Tatsache, dass die Verzögerung in einem solchen Bündel unverzeihlich groß ist, verdient es immer noch das Recht auf Leben. Da es ausreicht, ein Gamepad im Rucksack auf den Laptop zu werfen und überall eine Spielekonsole zu bekommen. Schon vor den Messungen war mir klar, dass dies nicht die beste Option war, und ich setzte die Suche fort.
Klon Sega Genesis
Jetzt werden viele verschiedene Piratenklone von Retro-Konsolen mit vorinstallierten Spielen verkauft. Einige von ihnen bestehen aus Android-Set-Top-Boxen mit Konsolenemulatoren im Inneren, was bedeutet, dass sie die gleichen Probleme mit Verzögerungen haben. Einige versprechen jedoch eine vollständige Konsole
ohne Emulator . Ich habe diese Konsole auf Avito zum Mähen gefunden:
retrogenesis.ru Modell Retro Genesis HD Ultra. Sie schreiben auf der Seite, dass dies kein Emulator ist, sondern dass sich darin wirklich eine Hardwarekonsole befindet. Es gibt vorinstallierte Spiele und die Möglichkeit, Kassetten einzulegen. Gleichzeitig gibt es einen HDMI-Ausgang und drahtlose Gamepads!
Drahtlose Gamepads
Am meisten störten mich Gamepads mit 2,4 GHz. Als ich die Probleme von Bluetooth und WiFi in diesem Bereich kannte, versuchte ich zunächst, die Verzögerung der Gamepads selbst zu messen. Die Konsole unterstützt die gleichzeitige Verbindung von kabelgebundenen und kabellosen Gamepads. Es stellte sich heraus, dass der drahtlose Teil mit einem separaten Modul hergestellt wurde, das die Kontakte auf die gleiche Weise wie ein kabelgebundenes Gamepad schließt. Das heißt, es emuliert tatsächlich ein gewöhnliches Kabel mit derselben Pinbelegung.
Ein Funkmodul, das kabelgebundene Gamepad-Klicks emuliertIch habe die Oszilloskopsonde 1 mit der LED am Controller und die andere mit dem Pin verbunden, der der Aufwärts-Taste an der Konsole entspricht. Wenn das Signal vom Funkmodul verarbeitet wird, simuliert es einen Tastenanschlag und ich sehe ihn auf der Sonde 2. Durch Vergleichen der Zeitdifferenz zwischen den Signalen 1 und 2 konnte ich die Verzögerung, die das drahtlose Gamepad hinzufügt, sehr genau ermitteln. Bei einem Oszilloskop beträgt die Skalierung einer Zelle 5 ms, was bedeutet, dass die Verzögerung von drahtlosen Gamepads 25 ms beträgt.
Vergleich der Signale auf dem Gamepad und der Konsole
Das drahtlose Modul fügt eine Verzögerung von 25 ms hinzuMessungen
Verzögerung bei Sega Retro Genesis ca. 70msWenn man die Verzögerung des Funkmoduls um 25 ms abzieht, stellt sich heraus, dass die Konsole selbst eine Verzögerung von 50 ms hat, was dem ursprünglichen Sega entspricht. Beim Anschließen von kabelgebundenen Gamepads ist die Verzögerung offensichtlich um 25 ms geringer. Im Allgemeinen fühlt sich das Gameplay wie auf der Originalkonsole an, und ich bin zufrieden. Nur die Unfähigkeit, meine Spiele (ROMs) herunterzuladen, stört mich, aber ich werde versuchen, dieses Problem mit einer wiederbeschreibbaren Kassette zu lösen oder die Möglichkeit zu finden, Spiele selbst auf das eingebaute Flash-Laufwerk hochzuladen.
Fazit
Meine Messungen berücksichtigen nicht die Ausgangsverzögerung des Monitors, aber alle Messungen wurden auf demselben Monitor durchgeführt, sodass die Ergebnisse nicht beeinflusst werden. Jede Messung habe ich 10 Mal wiederholt und manchmal eine Streuung der Messwerte von ungefähr 4 Bildern erhalten, das sind 16 ms. Ich glaube, dass der Punkt die Verzögerung bei der vertikalen Synchronisation beim Erstellen eines Bildes auf der Konsole ist.
Im Allgemeinen denke ich, dass meine Messungen einen allgemeinen Überblick über die Verzögerungen bei den beiden Setups geben und für diejenigen nützlich sein können, die eine Methode wählen.
Runahead-Option auf RetroArch
Vor einem Jahr gaben RetroArch-Entwickler
bekannt, dass sie auf ihrem Emulator weniger Verzögerungen als auf den Originalkonsolen erzielt haben. Ich habe diese Option nicht selbst ausprobiert, aber sie muss beachtet werden.
Referenzen
Vielen Dank an
Denis Major für seine Recherchen. Dank dieses Videos habe ich zuerst herausgefunden, dass das Problem nicht in der modifizierten Physik der Spiele liegt, sondern in den Eingangsverzögerungen.
Viel Forschung zu Verzögerungen zwischen Plattformen .
Eine weitere Studie .
Pro Hux Space Neuron

In unserem
Hackspace Neuron spielen wir regelmäßig Retro-Konsolen,
drehen das Eisen um und machen viele andere Dinge. Bei uns können Sie einen Lötkolben, ein Oszilloskop, einen Frequenzanalysator verwenden und mit lustigen Nerds chatten. Komm zu Besuch.
Alle Neuigkeiten ĂĽber das Leben von Huxpeys im Telegrammkanal:
@neuronspace