Wenn wir Cryengine 3 für die Spieleentwicklung verwenden und das Spiel 3D-kompatibel machen. Bedeutet dies, dass Sie einen Computer mit der doppelten "Leistung" benötigen, da 3D zwei Bilder sendet? Wenn Sie also bei normaler Wiedergabe 30 fps erhalten, benötigen Sie 60 fps für das Spielen mit 3D?
3d
requirements
Tourrent
quelle
quelle
Sie verlieren nicht die Hälfte Ihrer Leistung, wenn Sie Stereo-3D einschalten. Die Spielelogik, die KI, die Physik und alles, was die CPU tut, wird immer noch nur einmal ausgeführt. Nur das Rendern wird zweimal ausgeführt, und das ist effizient, da die Karte alles im Speicher hat, was für jeden zweiten Frame vorgesehen ist, sodass keine zusätzliche Bandbreite benötigt wird.
Die einzige Situation, in der dies zutrifft, ist, wenn Sie eine statische 3D-Szene hatten, die wirklich kompliziert war, wenn die GPU alles erledigte und die CPU im Leerlauf saß. Und selbst dann bezweifle ich, dass die Leistung um 50% sinken wird
Ich habe viele Spiele mit nvidia 3d stereo getestet und kein Spiel ist jemals um die 50% gesunken.
quelle
Insbesondere bei CryEngine 3 ist dies nicht der Fall. Ja, es halbiert die Framerate, aber das Einschalten von 3D kostet Sie nicht die Hälfte Ihrer Frames (oder Sie benötigen doppelte Hardware-Leistung). Sie verwenden einen Neuprojektions-Cache und den verfügbaren Tiefenpuffer, um das zweite Bild zu erhalten, sodass der Leistungsabfall beim Einschalten von 3D 5-10% beträgt. Sie nennen dies "Screen Space Re-Projection Stereo".
quelle
Ich würde sagen, überhaupt nicht zu vernachlässigen. Dies ist sowohl ein Hardware-Ressourcenproblem als auch eine Herausforderung für die Entwicklung.
Meistens können Sie die Framerate nicht zwischen den beiden Augen aufteilen. Wenn Ihr Spiel normalerweise mit 60 fps läuft, müssen Sie für den gleichen visuellen Komfort mit 120 fps laufen .
Viele Dinge können jedoch nur einmal pro Stereopaar erledigt werden: Kegelstumpfentfernung - auf Kosten eines etwas größeren Kegels (siehe Einrichten der 3D-Kameras in Optimization für stereoskopische 3D-Spiele auf PlayStation® ), Okklusionsentfernung, Vertex und Index-Array-Uploads, Szenen-Captures und Renderings zur Texturierung ...
Teile der Szene können nur einmal gerendert werden: Beispielsweise befindet sich ein komplexer Himmel mit Wolken, Sternen usw. normalerweise im Unendlichen, sodass die Pixel-Shader-Kosten nur einmal benötigt werden und das zweite Rendern ein bloßes Nachschlagen der Textur sein kann Das erste Rendering-Ziel. Tatsächlich verwenden einige Stereospiele eine Methode namens Reprojektion, die auf diesem Ansatz aufbaut, um sie für die gesamte Szene nutzbar zu machen. Hinweise zu dieser Technik finden Sie in diesem Thread unter beyond3d .
Um die erforderliche zusätzliche Rechenleistung zu bewältigen, können Sie die Auflösung verringern. Nach meiner persönlichen Erfahrung ist es weitaus akzeptabler, dies zu tun, als die Framerate zu verringern. Versuchen Sie jedoch nicht, das Anti-Aliasing zu deaktivieren: Wie die Ingenieure von Sony in der obigen Abhandlung sagen, sieht das Rendern in Puffern mit niedrigerer Auflösung mit AA besser aus als in Puffern mit hoher Auflösung ohne AA .
Beachten Sie, dass es andere Ansätze für die Stereovision in Spielen gibt, die keinen 3D-Fernseher benötigen, wie z. B. Trioviz . Ich kann hier jedoch nicht auf die Details eingehen (NDA-Probleme).
quelle