Mein Spiel scheint mit Aufnahmesoftware nicht kompatibel zu sein. Was könnte das verursachen?


24

Ich habe gerade ein kleines Game-Dev-Projekt für die Universität abgeschlossen und muss ein Video aufnehmen, das meine Einreichung begleitet (nur für den Fall, dass sie meine Quelle nicht zum Laufen bringen können). Grundsätzlich funktioniert mein Spiel überhaupt nicht, wenn FRAPS oder Bandicam versuchen, eine Verbindung herzustellen. Ich erhalte einen schwarzen Bildschirm und einen Strom von GL INVALID OPERATION-Meldungen aus meinem Fehlerberichtscode. Dxtory kann sich anscheinend gar nicht richtig einklinken, es zeigt keinen FPS-Zähler an oder so. Meine Spielelogik scheint von den Debug-Traces korrekt zu laufen, es scheint nur, als würden alle gl-Bibliotheksaufrufe unterbrochen.

Ich weiß nicht viel darüber, wie diese Programme funktionieren, also weiß ich nicht wirklich, was ich tun könnte, um dies zu verursachen. Ich habe gehört, dass sie aus den OpenGL-Frame-Puffern lesen, also mache ich dort vielleicht etwas falsch? Ich überlasse GLFW und GLEW die gesamte Initialisierung auf niedriger Ebene, habe jedoch erfolgreich Projekte mit derselben Setup- und Aufzeichnungssoftware aufgezeichnet.

Hat jemand so etwas schon einmal erlebt oder wissen Sie etwas über die Funktionsweise dieser Programme, das einen Hinweis auf die Ursache des Problems geben könnte?


Die meisten Bildschirmaufnahme-Apps arbeiten, indem sie sich zwischen Ihrer App und ihren DLLs einklemmen. Dann kopieren sie einfach die Frames, wenn sie an das Betriebssystem gesendet werden, um angezeigt zu werden. Ich habe keine Erfahrung mit GLFW und GLEW, aber wenn Sie nicht den normalen OpenGL-Framebuffer verwenden, sehen die Capturing-Apps möglicherweise nicht richtig aus.
UnderscoreZero

6
Können Sie es mit der OBS / Open Broadcaster-Software versuchen? Es ist ein wenig zu lernen, aber es kann Ihnen normalerweise sagen, welche Version (32/64-Bit) verwendet werden soll und welche Anwendungen / Spiele es erkennen kann. Es gibt auch eine gute Möglichkeit, irgendwo online mit OBS umzugehen. Es kann sowohl den Desktop- als auch den Spielemodus ausführen.
Abhishek Dujari

Möglicherweise möchten Sie den Hardware-Weg mit diesem gehen. Selbst wenn Sie FRAPs oder ähnliches zum Laufen bringen, können diese Dinge einige Ressourcen verschlingen und Ihre Framerate erheblich senken.
Captain Skyhawk

Prost Vangel. OBS scheint perfekt zu funktionieren. Ich musste mein Spiel als Nicht-Konsolen-Anwendung neu kompilieren, aber danach funktionierte es einwandfrei. Ich habe auch einen sehr geringen Bildabfall im Vergleich zu dem, was ich von Rekordern erwarte. Wenn Sie offiziell antworten möchten, akzeptiere ich das als korrekt.
Lewis Wakeford

Versuchen Sie es mit doppelter Pufferung. FRAPS (zum Beispiel) erkennt die Puffer nicht, wenn sie nicht doppelt gepuffert sind.
Luka

Antworten:


3

Diese Frage wurde von Vangel beantwortet und gelöst.

Möchte diese Antwort hinzufügen, weil niemand anderes dies tun wird oder seit 2 Monaten tut, aber dies wird oben als "unbeantwortet" angezeigt und benötigt Hilfe.

Würde stimmen, um zu schließen, wenn ich könnte.

Können Sie es mit der OBS / Open Broadcaster-Software versuchen? Es ist ein wenig zu lernen, aber es kann Ihnen normalerweise sagen, welche Version (32/64-Bit) verwendet werden soll und welche Anwendungen / Spiele es erkennen kann. Es gibt auch eine gute Möglichkeit, irgendwo online mit OBS umzugehen. Es kann sowohl den Desktop- als auch den Spielemodus ausführen.

- Vangel 30. April um 16:29 Uhr

Beantwortet von Asker,

Prost Vangel. OBS scheint perfekt zu funktionieren. Ich musste mein Spiel als Nicht-Konsolen-Anwendung neu kompilieren, aber danach funktionierte es einwandfrei. Ich habe auch einen sehr geringen Bildabfall im Vergleich zu dem, was ich von Rekordern erwarte. Wenn Sie offiziell antworten möchten, akzeptiere ich das als korrekt.

- Lewis Wakeford 30. April um 18:23

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.