3.1 RebelSDL aktivieren

Alles, was Sie tun müssen, damit Ihr Skript SDL anstelle des integrierten Grafiktreibers von Hollywood verwendet, ist die folgende Zeile am Anfang des Skripts hinzuzufügen:

 
@REQUIRE "rebelsdl"

Wenn Sie Hollywood von einer Konsole aus verwenden, können Sie Ihr Skript auch folgendermaßen starten:

 
Hollywood test.hws -requireplugins rebelsdl

Sobald das RebelSDL-Plugin für Ihr Skript aktiviert wurde, wird die gesamte Hollywood-Grafikausgabe über SDL umgeleitet. Beachten Sie, dass dies bei Skripte, die nicht für RebelSDL optimiert sind, normalerweise langsamer ist als der integrierte Grafiktreiber von Hollywood. Um eine optimale Leistung mit SDL zu erzielen, muss Ihr Skript einen hardwarebeschleunigten Doppelpuffer verwenden. Siehe Verwendung eines Hardware-Doppelpuffers für Details.

RebelSDL akzeptiert die folgenden Argumente mit dem Aufruf @REQUIRE:

EnableVSync:
Standardmäßig wird der Hardware-Doppelpuffer von RebelSDL mit der vertikalen Aktualisierung des Monitors synchronisiert. Dies bedeutet, dass Flip() immer bis zur nächsten vertikalen Aktualisierung blockiert und dann die Puffer umkehrt. Dies erzeugt perfekt glatte Grafiken, aber es bedeutet natürlich auch, dass Sie nicht schneller als die vertikale Aktualisierung des Monitors zeichnen können (normalerweise etwa 60 Mal pro Sekunde). Wenn Sie die vertikale Aktualisierung des Monitors ignorieren möchten, setzen Sie diesen Tag auf False und RebelSDL drosselt nicht den Wechsel des Doppel-Puffers. Er wird dann so schnell ausgeführt, wie es die Hardware ermöglicht. Der Standardwert ist True.

ForceFullRefresh:
Wenn dieser Tag auf False gesetzt ist, aktualisiert RebelSDL nur die Teile des Displays, die tatsächlich geändert wurden. Dies ist zwar schneller, kann jedoch zu einigen Aktualisierungsproblemen führen, abhängig davon, wie das Skript die Grafiken zeichnet. Aus diesem Grund ist dieser Tag standardmäßig auf True gesetzt, was bedeutet, dass RebelSDL immer das gesamte Display aktualisiert, wenn etwas gezeichnet wird. Dies ist zwar langsamer, garantiert aber, dass es keine visuelle Artefakte gibt, da die vorderen und hinteren Puffer immer vollständig synchron sind.

RenderDriver:
Mit diesem Tag können Sie einen anderen Wiedergabe-Treiber als den Standard-Wiedergbabe-Treiber auswählen. Dies ist vor allem für Testzwecke nützlich. Beispielsweise ist es mit diesem Tag möglich, RebelSDL zu zwingen, OpenGL unter Windows anstelle des Standard-Direct3D-Treibers zu verwenden. Mögliche Werte für diesen Tag sind direct3d, opengl, opengles, opengles2, rpi und software. Siehe Raspberry Pi Besonderheiten für weitere Informationen über den RPI-Treiber.

UseAudioAdapter:
Standardmäßig wird RebelSDL den integrierten Audiotreiber von Hollywood durch einen benutzerdefinierten Audiotreiber ersetzen, der SDL zum Abspielen von Audio verwendet. Wenn Sie das nicht möchten, setzen Sie diesen Tag auf False. Dann wird Hollywoods eingebauter Audiotreiber verwendet, selbst wenn RebelSDL aktiv ist. Normalerweise ist es jedoch nicht erforderlich, diesen Tag festzulegen, es sei denn, Sie haben Probleme mit dem Audiotreiber von RebelSDL. Der Standardwert ist True.

UseBitmapAdapter:
Wenn dies auf True gesetzt ist, wird RebelSDL Hollywoods integrierten Handler für Software-Bitmaps überschreiben. Dies hat keine praktischen Vorteile und wurde nur implementiert, um die entsprechende Hollywood SDK-Funktionalität zu testen. Standardeinstellung ist False.

UseDesktopFullScreen:
SDL bietet einen speziellen Anzeigemodus, bei dem von SDL geöffnete Fenster automatisch auf die Abmessungen des Desktops skaliert werden. Das Fenster belegt dann den gesamten Bildschirmbereich, ohne die Auflösung des Monitors zu ändern. Sie können diesen Modus aktivieren, indem Sie diesen Tag auf True setzen. Somit wird die automatische Skalierung für Ihren Bildschirm aktiviert. Beachten Sie, dass ein ähnlicher Effekt erzielt werden kann, wenn Sie den FullScreenScale-Anzeigemodus von Hollywood verwenden. Es ist jedoch vorzuziehen, UseDesktopFullScreen zu verwenden, da dieser direkt mit SDL verknüpft ist. Standardeinstellung ist False.

UseDoubleBufferAdapter:
Wenn dies auf False gesetzt ist, unterstützt RebelSDL keine Hardware-Doppelpuffer. Da Hardware-Doppelpuffer eine der wichtigsten Funktionen von RebelSDL sind, gibt es wahrscheinlich keinen Fall, in dem Sie diese Funktion deaktivieren möchten. Es kann aber für Debugging-Zwecke verwendet werden. Der Standardwert ist True.

UseSoftwareRenderer:
Standardmäßig versucht SDL, die GPU zu verwenden, um Grafiken wann und wo immer möglich zu zeichnen. Wenn Sie dies nicht möchten, können Sie diesen Tag auf True setzen, um SDL in den reinen Software-Zeichenmodus zu versetzen. Dies ist wahrscheinlich nur zum Testen und Debuggen von Nutzen, da normalerweise die Hardware-Wiedergabe für die beste Leistung verwendet werden sollte. Standardeinstellung ist False.

UseVideoBitmapAdapter:
Wenn dies auf False gesetzt ist, unterstützt RebelSDL keine Hardwarepinsel. Da Hardwarepinsel eine der wichtigsten Funktionen von RebelSDL sind, gibt es wahrscheinlich keinen Fall, in dem Sie diese Funktion deaktivieren möchten. Es kann aber für Debugging-Zwecke verwendet werden. Der Standardwert ist True.

Hier ist ein Beispiel, wie Argumente an den Präprozessorbefehl @REQUIRE übergeben werden:

 
@REQUIRE "rebelsdl", {UseDesktopFullScreen = True}

Alternativ können Sie auch das Konsolen Argument -requiretags verwenden, um diese Argumente zu übergeben. Weitere Informationen finden Sie im Hollywood-Handbuch.


Navigation zeigen