• IT-Karriere:
  • Services:

Und wie erreicht man 60 fps oder 120 fps?

Anstatt zu versuchen, den Benchmark 120 fps in dieser Auflösung laufen zu lassen und aufzunehmen - was in keiner Hardwarekonstellation möglich ist -, ist der Trick, das Programm auszubremsen. Am besten funktioniert da Cheatengine.

Stellenmarkt
  1. Amprion GmbH, Pulheim
  2. Arburg GmbH & Co. KG, Loßburg

Alle Programme, die ich vor Cheatengine ausprobiert habe, brachten schlechtere Ergebnisse. Cheatengine ist zudem ein Beispiel für guten Support. Bis Cheatengine 6.2 gab es das Limit, dass der Speedhack-Wert nur zwei Nachkommastellen hat und keine Brüche akzeptiert. Im Fall eines Faktors von 1/30, um in Bandicam mit 2 fps aufzunehmen und 60 fps als Resultat zu bekommen, war der Speedhack-Wert vor dem Fix auf 0,03 statt 0,033333... gestellt. Das machte es schwieriger, bestimmte Verlangsamungen zu erreichen und Audio zu synchronisieren.

Zum Ausbremsen sind keine komplizierten Scans oder Ähnliches nötig. Es reicht das interne LUA-Scripting mit der Funktion speedhack_setSpeed(). Nach dem Start wird "Show Cheat Table Lua Script" im Menü "Table" geöffnet.

  • In Bandicam das richtige Format auswählen (Bild: Badicam/Screenshot: Golem.de)
  • Unter "Image" das geeignete Bildformat bestimmen  (Bild: Badicam/Screenshot: Golem.de)
  • Weitere Einstellungen in Bandicam  (Bild: Badicam/Screenshot: Golem.de)
  • Das LUA-Skript der Cheatengine öffnen (Bild: Cheatengine/Screenshot: Golem.de)
  • Das LUA-Skript für den 3DMark Night Raid. (Bild: Cheatengine/Screenshot: Golem.de)
  • Einen passenden Dateinamen wählen (Bild: Cheatengine/Screenshot: Golem.de)
  • Bulk Rename Utility hilft bei der Benennung. (Bulk Rename Utility/Screenshot: Golem.de)
Das LUA-Skript der Cheatengine öffnen (Bild: Cheatengine/Screenshot: Golem.de)

Die bequemste Variante ist, einen Hotkey zu definieren, um ein beliebiges Programm mit dem gewünschten Faktor auszubremsen. Mit einem Timer sorgt man dafür, dass Cheatengine keine unnötige Systemlast erzeugt. Mit "Execute script" wird es aktiviert. Hier ist das Beispiel für den 3DMark Night Raid.

  • In Bandicam das richtige Format auswählen (Bild: Badicam/Screenshot: Golem.de)
  • Unter "Image" das geeignete Bildformat bestimmen  (Bild: Badicam/Screenshot: Golem.de)
  • Weitere Einstellungen in Bandicam  (Bild: Badicam/Screenshot: Golem.de)
  • Das LUA-Skript der Cheatengine öffnen (Bild: Cheatengine/Screenshot: Golem.de)
  • Das LUA-Skript für den 3DMark Night Raid. (Bild: Cheatengine/Screenshot: Golem.de)
  • Einen passenden Dateinamen wählen (Bild: Cheatengine/Screenshot: Golem.de)
  • Bulk Rename Utility hilft bei der Benennung. (Bulk Rename Utility/Screenshot: Golem.de)
Das LUA-Skript für den 3DMark Night Raid. (Bild: Cheatengine/Screenshot: Golem.de)

N sieht für normale Geschwindigkeit, M bremst um den Faktor 60 aus, und K um den Faktor 360. Faktor 360 bedeutet, dass Night Raid statt knapp vier Minuten über 24 Stunden läuft, während Bandicam alle drei Sekunden eine 388 MByte große bmp-Datei schreibt.

Eine schnellere Screenshot-Folge, wie etwa eine Verlangsamung um den Faktor 300 und alle 2,5 Sekunden ein Screenshot, sorgt für inkonsistentes Timing und sichtbare Mikroruckler im Video. Für die etwa 13 Minuten von der 3DMark06-Demo waren, pro Aufnahmeversuch, mehr als drei Tage zu veranschlagen.

Für die 16K-Aufnahme war noch ein weiterer Task nötig, denn über 90.000 Screenshots von 3DMark 06 mit je 388 MByte sind mehr als 30 Terabyte an Daten -, und so viel Platz habe ich nicht. Ein paralleler, auf einem anderen Computer laufender Task sorgte während der Aufnahme dafür, dass die bmp-Dateien mit Convert aus dem ImageMagick-Paket zu .jpg konvertiert und auf einem anderen Computer gespeichert wurden.

Je nachdem, wie viel Rechenzeit am aufnehmenden Rechner noch übrig ist, kann es auch dort laufen und muss nicht ausgelagert werden. Der Task ist ein im Loop laufendes .cmd-Script, hier im Beispiel zum Download ist es auf meine Konstellation angepasst. Aber mit etwas Programmiererfahrung kann es leicht angepasst werden:

  1. :: This batch runs in a loop to convert incoming .BMP files to .jpgs.
  2.  
  3. :: Its purpose is to save space, and save the .jpg files somewhere else than the busy source.
  4. :: The test1.txt / test2.txt / test3.txt trick allows a sort of multithreading from a batch file.
  5. :: It allows to start the first in foreground, the second in background and the third in background.
  6. :: Needed since Imagemagik-Convert is single-threaded and therefore too slow to convert fast enough to avoid the source running out of space.
  7. ::
  8. :: (c) 2019 Joachim Otahal, jou@gmx.net and youtube@joumxyzptlk.de

  1. @echo off
  2.  
  3. :start
  4. :: Destination directory
  5. mkdir E:\tmp\Bandicam 2>NUL
  6. :: Source directory, in my case a mapped network drive from the recording computer.
  7. :: This moves all movable source files out of the way. The purpose is to avoid access conflicts while the main computer is still capturing.
  8. mkdir b:\temp 2>NUL
  9. move B:\*.bmp b:\temp 2>NUL
  10.  
  11. :: Process the .BMPs
  12. for %%f in (b:\temp\*.bmp) do (
  13. echo %%f
  14. :: Part of "Multithread" control.
  15. if not exist %temp%\test1.txt if not exist %temp%\test2.txt if not exist %temp%\test3.txt copy NUL %temp%\test1.txt > NUL
  16.  
  17. :: the actual conversion in up to three threads
  18. if exist %temp%\test1.txt "C:\Program Files\ImageMagick-7.0.8-Q16\convert.exe" "b:\temp\%%~nf.bmp" -quality 92 "e:\tmp\Bandicam\%%~nf.jpg"
  19. if exist %temp%\test2.txt start "" /MIN "C:\Program Files\ImageMagick-7.0.8-Q16\convert.exe" "b:\temp\%%~nf.bmp" -quality 92 "e:\tmp\Bandicam\%%~nf.jpg"
  20. if exist %temp%\test3.txt start "" /MIN "C:\Program Files\ImageMagick-7.0.8-Q16\convert.exe" "b:\temp\%%~nf.bmp" -quality 92 "e:\tmp\Bandicam\%%~nf.jpg"
  21.  
  22. :: Part of "Multithread" control.
  23. if exist %temp%\test3.txt del %temp%\test3.txt
  24. if exist %temp%\test2.txt ren %temp%\test2.txt test3.txt
  25. if exist %temp%\test1.txt ren %temp%\test1.txt test2.txt
  26. )
  27. :: Clean up temp on source after conversion.
  28. rd /s /q b:\temp 2>NUL
  29. :: This avoids racing the batch at full speed if there is nothing to do.
  30. ping -n 2 127.0.0.1 >NUL
  31. goto :start

Beim Final-Fantasy-XV-Benchmark in 8K war es einfacher, da bei 8K die Screenshots als .jpg problemlos funktionieren. Es brauchte aber fünf Anläufe, bis eine passende Kombination von Verlangsamung (in diesem Fall 1/180) und Screenshot-Häufigkeit (in diesem Fall alle 1,5 Sekunden) gefunden war, um ein flüssiges Ergebnis ohne Mikroruckler zu erhalten.

Eine Verlangsamung auf 1/240 mit einer Screenshot-Frequenz von zwei Sekunden brachte nicht das gewünschte Ergebnis.

Ein grundsätzlicher Nachteil der Aufnahme einer Screenshot-Sequenz ist, dass der Ton fehlt. Es müssen immer zwei Aufnahmen gemacht werden, denn Audio läuft nicht synchron zur Verlangsamung. Es muss in einem getrennten Durchlauf mit niedriger Auflösung in normaler Geschwindigkeit aufgenommen werden, um es nachher mit dem hochauflösenden Video zu mischen.

Auch deswegen kann auf kein normales Gameplay aufgenommen werden, sondern immer nur auf selbstlaufende Demos oder ein aufgenommenes Gameplay, das von der Spielengine abgespielt wird.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 16K-Videos: 400 MByte für einen ScreenshotMindestens 32 GByte RAM zum Encodieren 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Anzeige
Hardware-Angebote

zilti 25. Okt 2019

Muss ja nicht HDMI-Murks sein. Gibt ja auch noch DisplayPort.

MainframeX 23. Okt 2019

Hast du schonmal Fotos mit der IQ4 gemacht ?

mhstar 19. Okt 2019

dann werden wir das verdammt noch mal auch verbrauchen! Sonst bräuchte das ja keiner mehr ...

Christian72D 18. Okt 2019

So, und du kannst immer noch niemand erklären, wieso man in 2014 Videos produziert, die...

sosohoho 17. Okt 2019

Aber dann ist gleich die erste Aussage von Golem falsch:"Die meisten Spiele können nur...


Folgen Sie uns
       


Gopro Hero 9 Black - Test

Ist eine Kamera mit zwei Displays auch doppelt so gut?

Gopro Hero 9 Black - Test Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /