DCS und Virtual Reality
Verfasst: 10. Nov 2018, 13:15
DCS und Virtual Reality
Folgendes ist für bestehende VR-User sicherlich ein alter Hut, soll aber für VR Interessierte, die noch keinen richtigen Zugang zu VR haben oder bereits die Anschaffung einer VR Brille geplant haben, zur Überlegung beitragen.
Das eingesetzte HMD und die Grafikkarte spielt eine entscheidende Rolle für die Qualität und Performance in VR, soll hier für den Moment aber nur auf die Formel
"je höher das HMD auflöst, desto besser die Bildqualität und je leistungsfähiger die Grafikkarte, desto besser die Performance in VR" reduziert werden;
ergänzend dazu: "je höher das HMD auflöst, desto geringer die Performance".
Der Umstand, dass die Grafikkartenhardware derzeit und in absehbarer Zeit, sowie die Displayhardware der HMDs nicht in der Lage ist, VR in der Bildqualität eines gängigen Monitors darzustellen, bedingt den Einsatz verschiedener Softwareeinstellungen, um sich der vom Monitor gewohnten Bildqualität unter den speziellen Bedingungen von VR anzunähern. Dazu kann man aber auch noch ergänzen, dass Monitore und TVs mit einer Bildwiederholfrequenz unter 120 Hz auch nicht geeignet sind, einen echten 3-D Effekt, wie in den VR HMDs zu erzeugen.
HMD Überblick Stand: Nov. 2018
- Oculus Rift mit Infrarot Tracking System und Controller
OLED Displayauflösung: 1080 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Oculus SDK / Oculus Tray Tool
Preis: 450,- €
- HTC Vive mit Lighthouse Lasertracking und Controller
OLED Displayauflösung: 1080 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Steam VR
Preis: 599,- € - 699,- €
- Microsoft Mixed Reality von u.a. Asus, Dell, HP, Lenovo, Medion, Acer mit Insight-Out Tracking und Controller / ohne Bluetooth Dongle für die Controller
LCD Displayauflösung: 1440 x 1440 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 95-105°
API: Microsoft Windows 10 / SteamVR for Mixed Reality
Preis: 300,- € - 450,- €
- HTC Vive Pro ohne Lighthouse Lasertracking, ohne Controller
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: SteamVR
Preis: 879,- € bzw. 1.399,- € im Set mit Lighthousetracking und Controller
- Microsoft Mixed Reality Samsung Odyssey mit Insight-Out Tracking und Controller / ohne Bluetooth Dongle für die Controller / nicht in Europa erhältlich
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Windows 10 / SteamVR for Mixed Reality
Preis: 350,- $ - 499,- $
- Microsoft Mixed Reality Samsung Odyssey+ mit Insight-Out Tracking und Controller und speziellem Anti-SDE Display / nicht in Europa erhältlich
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Windows 10 / SteamVR for Mixed Reality
Preis: 499,- $
- Pimax 5K+ ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
LCD Displayauflösung: 2560 x 1440 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 699,- $
- Pimax 8K ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
LCD Displayauflösung: 3840 x 2160 pixel ( Zuspielung durch Upscaling von 2560 x 1440 pixel )
Bildwiederholfrequenz: 80 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 899,- $
- Pimax 5K BE ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
OLED Displayauflösung: 2560 x 1440 pixel
Bildwiederholfrequenz: 85 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 999,- $
Recht überschaubar. Alle oben gelisteten HMDs werden von DCS über die APIs von Oculus, SteamVR und SteamVR for Mixed Reality unterstützt.
HMD Prototypen wurden bereits von LG, StarVR und XTAL vorgestellt, darüber ist aber nichts weiter bekannt, als dass sie auch die SteamVR API nutzen und damit auch mit DCS funktionieren.
Standalone HMDs, wie Oculus GO, Oculus Quest oder Vive Focus ( nicht in Europa erhältlich ) funktionieren nicht mit DCS - dies nur als Warnung vor einem Fehlkauf.
SDE
Der Fliegengittereffekt oder Screendooreffect, im Folgenden als "SDE" bezeichnet, beschreibt das Matrixmuster zwischen den Pixeln des Displays, das für das Auge bei einem Sichtabstand von nur wenigen Zentimetern wahrnehmbar wird. Ein Umstand, der sich nachvollziehen lässt, wenn man zuhause ganz dicht an den FlatscreenTV oder den PC Monitor herantritt. Dem entgegen wirkt nur eine höhere Auflösung der Displays im HMD, d.h. die Bildqualität steigt mit einem höher aufgelösten Display, indem der qualitätsmindernde SDE verringert wird. Die Stärke/Wahrnehmbarkeit vom SDE hängt also baubedingt vom verwendeten Display im HMD ab und kann nicht durch Softwareeinstellungen optimiert werden.
An dieser Stelle ist das Anti-SDE Display der gerade neu erschienene Samsung Odyssey+ sehr interessant, weil es nicht mehr Grafikleistung im Vergleich zu höher aufgelösten Displays benötigt, um den SDE zu verringern/eliminieren.
Bildqualität und Performance in DCS
Um die Performance der jeweiligen Softwareeinstellungen zu messen, ist das Programm FPS VR zu empfehlen (https://store.steampowered.com/app/908520/fpsVR/ ). Das Tool erfasst wichtigsten Messdaten in VR und stellt sie direkt im HMD komfortabel dar. Übliche FPS Counter sind weniger adäquat, da sie i.d.R. nur die Performance des Bildes messen, das zeitgleich auf dem Monitor ausgegeben wird und nicht die FPS, die im HMD zustande kommen. Weiter können die Werte von nicht speziell für VR verwendeten FPS Countern dadurch verfälscht werden, wenn die Latenzen vom Monitor sich von den Latenzen im HMD unterscheiden.
Aussagen zur Bildqualität sind im allgemeinen meist rein subjektiv und lassen sich nicht mit handfesten Werten messen.
Screenshots zur Veranschaulichung der Bildqualität sind nicht wirklich aussagekräftig, da sie 1. nur erstellt werden können, indem man mit der Kamera ein Bild durch die Linsen des HMDs aufnimmt, wodurch z.B. der 3-D Effekt verloren geht und 2. wie in 1. genanntem Verfahren das aufgenommene Bild nie gleich dem tatsächlich im HMD gerenderten Bild entsprechen kann. Dennoch liefern abfotografierte Screenshots durch die Linsen der HMDs immerhin sichtbare Indizien zu Bildqualität im Vergleich.
Indizien der Bildqualität sind z.B. die Klarheit des Bildes insgesamt; der 3-D Effekt in der Tiefe des Bildes, d.h. wie gut heben sich die Objekte in der Entfernung von einander ab; die Lesbarkeit der Instrumententafeln und Anzeigen im Cockpit; Objektkonturen und Schattenkonturen; Kantenflimmern.
Die Stärke und Wahrnehmbarkeit von Doppelbildern bei mittelnahen und nahen sich schnell bewegenden Objekten im Bild ( wie z.B. ein Hochhaus, an dem man sehr nah und schnell vorüberfliegt oder ein Flugzeug, das an einem selbst sehr nah und schnell vorüberfliegt; "verwischen" des Bildes bei schnellen Kopfdrehungen, hängt u.a. davon ab, ob VR spezifische Rendertechniken, wie Asynchroneous Space Warp ( Oculus ) oder Asynchroneous Reprojection ( SteamVR ) zugeschaltet sind.
Render Target / PixelDichte / PixelDensity /Supersampling in VR
Die Einstellung des Render Targets, ist die wichtigste, effektivste und im Grunde auch die einzige Stellschraube, um die gesamte Bildqualität in VR zu beeinflussen.
Das RenderTarget zu erhöhen, kostet Performance; das RenderTarget zu verringern, setzt Performance frei.
DCS hat im Einstellungsmenu unter dem Reiter "VR" einen Regler mit der Bezeichnung "PD", der genau das macht. Steht der PD Regler in DCS auf 1.0, rendert DCS das Bild in VR in der Auflösung 1080 x 1200 Pixel ( entsprechend der nativen Auflösung von Oculus Rift und HTC Vive ).
Der Compositor ( SteamVR, Oculus Tray Tool, SteamVR for Mixed Reality ) passt das von DCS gerenderte Bild dann wieder an die Auflösung des eingesetzten HMDs an. Bei einem HMD, das höher auflöst, empfiehlt es sich, den PD Regler in DCS an die Display Auflösung seines HMD anzupassen, um nicht durch downsampling Bildqualität zu verlieren. Für die Vive Pro und alle Windows Mixed Reality Brillen wäre ein Wert von mindestens 1.4 geeignet, um das Bild von DCS an die native Auflösung vom HMD anzupassen.
Dazu kann man die Bildqualität insgesamt weiter verbessern, indem man die PD weiter erhöht, was dann feiner abgestuft in kleinen Schritten auch über die APIs ( Oculus Tray Tool, SteamVR, SteamVR for Mixed Reality ) geht.
Asynchroneous Space Warp ( Oculus ) / Asynchroneous Reprojection ( SteamVR )
Beide Techniken sind Bestandteil der APIs machen in etwa das gleiche. Sie sind speziell für Virtual Reality entwickelt. Die angepeilte Bildwiederholfreqenz in den HMDs liegt bei 90Hz ( oder 90 FPS im Performance Kontext ), was i.d.R. bei VR Spielen und speziell von DCS selten erreicht wird.
Wenn ASW und AR in den APIs aktiviert ist, schaltet es sich automatisch ein, wenn ein bestimmter Wert ( gemessene ca. 80 Hz/ 80 FPS , ca. 11 Millisekunden Latenz ) unterschritten wird und halbiert die geforderte 90Hz Bildwiederholfrequenz auf 45 Hz; gleichzeitig wird das jeweilige zuvor gerenderte Bild vom Compositor verdoppelt und in die Bildfolge zwischen den echten gerenderten Bildern kopiert. Im Effekt hat man dann wieder gefühlte 90 Hz/ 90 FPS, wobei nur 45 Bilder pro Sekunde tatsächlich gerendert werden. Im Vorteil erzeugt die Technik einen weichen Bildablauf ohne Ruckler im HMD, was auch einem Unwohlsein in VR entgegen wirkt. Die Nachteile sind wie weiter oben beschrieben und sind eigentlich nur selten wirklich wahrnehmbar.
MSAA und SS in DCS
In den Grafikeinstellungen von DCS lassen sich MultiSamplingAntiAliasing und SuperSampling zuschalten. Beide Funktionen kosten viel von der Performance, die die Grafikkarte leistet, verbessern aber die Kanteneffekte der gerenderten Objekte bzw. reduzieren das meist sehr auffällige Kantenflimmern in VR. Durch zuschalten von z.B. MSAA wird die Bildqualität von DCS in VR deutlich verbessert, die maximalen Hz, Latenzen und FPS sinken aber im Darstellungsfluss. Zugeschaltetes ASW oder AR wird dann öfter aktiviert, wenn nicht gar permanent, was mMn nicht so störend ist, wie permanentes Kantenflimmern an allen Objekten, solange die 45Hz/FPS gehalten werden.
Abschließend möchte ich sagen, dass DCS in Virtual Reality einfach super ist und ich hier eigentlich nur allgemein einen Thread zum Thema erstellen möchte, um weitere Entwicklungen, Tipps und Tricks zur Verbesserung oder Allgemeines über DCS in VR zu sammeln, damit jeder Interessierte etwas davon hat.
Folgendes ist für bestehende VR-User sicherlich ein alter Hut, soll aber für VR Interessierte, die noch keinen richtigen Zugang zu VR haben oder bereits die Anschaffung einer VR Brille geplant haben, zur Überlegung beitragen.
Das eingesetzte HMD und die Grafikkarte spielt eine entscheidende Rolle für die Qualität und Performance in VR, soll hier für den Moment aber nur auf die Formel
"je höher das HMD auflöst, desto besser die Bildqualität und je leistungsfähiger die Grafikkarte, desto besser die Performance in VR" reduziert werden;
ergänzend dazu: "je höher das HMD auflöst, desto geringer die Performance".
Der Umstand, dass die Grafikkartenhardware derzeit und in absehbarer Zeit, sowie die Displayhardware der HMDs nicht in der Lage ist, VR in der Bildqualität eines gängigen Monitors darzustellen, bedingt den Einsatz verschiedener Softwareeinstellungen, um sich der vom Monitor gewohnten Bildqualität unter den speziellen Bedingungen von VR anzunähern. Dazu kann man aber auch noch ergänzen, dass Monitore und TVs mit einer Bildwiederholfrequenz unter 120 Hz auch nicht geeignet sind, einen echten 3-D Effekt, wie in den VR HMDs zu erzeugen.
HMD Überblick Stand: Nov. 2018
- Oculus Rift mit Infrarot Tracking System und Controller
OLED Displayauflösung: 1080 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Oculus SDK / Oculus Tray Tool
Preis: 450,- €
- HTC Vive mit Lighthouse Lasertracking und Controller
OLED Displayauflösung: 1080 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Steam VR
Preis: 599,- € - 699,- €
- Microsoft Mixed Reality von u.a. Asus, Dell, HP, Lenovo, Medion, Acer mit Insight-Out Tracking und Controller / ohne Bluetooth Dongle für die Controller
LCD Displayauflösung: 1440 x 1440 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 95-105°
API: Microsoft Windows 10 / SteamVR for Mixed Reality
Preis: 300,- € - 450,- €
- HTC Vive Pro ohne Lighthouse Lasertracking, ohne Controller
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: SteamVR
Preis: 879,- € bzw. 1.399,- € im Set mit Lighthousetracking und Controller
- Microsoft Mixed Reality Samsung Odyssey mit Insight-Out Tracking und Controller / ohne Bluetooth Dongle für die Controller / nicht in Europa erhältlich
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Windows 10 / SteamVR for Mixed Reality
Preis: 350,- $ - 499,- $
- Microsoft Mixed Reality Samsung Odyssey+ mit Insight-Out Tracking und Controller und speziellem Anti-SDE Display / nicht in Europa erhältlich
AMOLED Displayauflösung: 1600 x 1200 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 110°
API: Windows 10 / SteamVR for Mixed Reality
Preis: 499,- $
- Pimax 5K+ ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
LCD Displayauflösung: 2560 x 1440 pixel
Bildwiederholfrequenz: 90 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 699,- $
- Pimax 8K ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
LCD Displayauflösung: 3840 x 2160 pixel ( Zuspielung durch Upscaling von 2560 x 1440 pixel )
Bildwiederholfrequenz: 80 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 899,- $
- Pimax 5K BE ohne Lighthouse Tracking ohne Controller / verfügbar voraussichtlich Mitte 2019
OLED Displayauflösung: 2560 x 1440 pixel
Bildwiederholfrequenz: 85 Hz
FOV: 170°
API: SteamVR / Pi Tool
Preis: 999,- $
Recht überschaubar. Alle oben gelisteten HMDs werden von DCS über die APIs von Oculus, SteamVR und SteamVR for Mixed Reality unterstützt.
HMD Prototypen wurden bereits von LG, StarVR und XTAL vorgestellt, darüber ist aber nichts weiter bekannt, als dass sie auch die SteamVR API nutzen und damit auch mit DCS funktionieren.
Standalone HMDs, wie Oculus GO, Oculus Quest oder Vive Focus ( nicht in Europa erhältlich ) funktionieren nicht mit DCS - dies nur als Warnung vor einem Fehlkauf.
SDE
Der Fliegengittereffekt oder Screendooreffect, im Folgenden als "SDE" bezeichnet, beschreibt das Matrixmuster zwischen den Pixeln des Displays, das für das Auge bei einem Sichtabstand von nur wenigen Zentimetern wahrnehmbar wird. Ein Umstand, der sich nachvollziehen lässt, wenn man zuhause ganz dicht an den FlatscreenTV oder den PC Monitor herantritt. Dem entgegen wirkt nur eine höhere Auflösung der Displays im HMD, d.h. die Bildqualität steigt mit einem höher aufgelösten Display, indem der qualitätsmindernde SDE verringert wird. Die Stärke/Wahrnehmbarkeit vom SDE hängt also baubedingt vom verwendeten Display im HMD ab und kann nicht durch Softwareeinstellungen optimiert werden.
An dieser Stelle ist das Anti-SDE Display der gerade neu erschienene Samsung Odyssey+ sehr interessant, weil es nicht mehr Grafikleistung im Vergleich zu höher aufgelösten Displays benötigt, um den SDE zu verringern/eliminieren.
Bildqualität und Performance in DCS
Um die Performance der jeweiligen Softwareeinstellungen zu messen, ist das Programm FPS VR zu empfehlen (https://store.steampowered.com/app/908520/fpsVR/ ). Das Tool erfasst wichtigsten Messdaten in VR und stellt sie direkt im HMD komfortabel dar. Übliche FPS Counter sind weniger adäquat, da sie i.d.R. nur die Performance des Bildes messen, das zeitgleich auf dem Monitor ausgegeben wird und nicht die FPS, die im HMD zustande kommen. Weiter können die Werte von nicht speziell für VR verwendeten FPS Countern dadurch verfälscht werden, wenn die Latenzen vom Monitor sich von den Latenzen im HMD unterscheiden.
Aussagen zur Bildqualität sind im allgemeinen meist rein subjektiv und lassen sich nicht mit handfesten Werten messen.
Screenshots zur Veranschaulichung der Bildqualität sind nicht wirklich aussagekräftig, da sie 1. nur erstellt werden können, indem man mit der Kamera ein Bild durch die Linsen des HMDs aufnimmt, wodurch z.B. der 3-D Effekt verloren geht und 2. wie in 1. genanntem Verfahren das aufgenommene Bild nie gleich dem tatsächlich im HMD gerenderten Bild entsprechen kann. Dennoch liefern abfotografierte Screenshots durch die Linsen der HMDs immerhin sichtbare Indizien zu Bildqualität im Vergleich.
Indizien der Bildqualität sind z.B. die Klarheit des Bildes insgesamt; der 3-D Effekt in der Tiefe des Bildes, d.h. wie gut heben sich die Objekte in der Entfernung von einander ab; die Lesbarkeit der Instrumententafeln und Anzeigen im Cockpit; Objektkonturen und Schattenkonturen; Kantenflimmern.
Die Stärke und Wahrnehmbarkeit von Doppelbildern bei mittelnahen und nahen sich schnell bewegenden Objekten im Bild ( wie z.B. ein Hochhaus, an dem man sehr nah und schnell vorüberfliegt oder ein Flugzeug, das an einem selbst sehr nah und schnell vorüberfliegt; "verwischen" des Bildes bei schnellen Kopfdrehungen, hängt u.a. davon ab, ob VR spezifische Rendertechniken, wie Asynchroneous Space Warp ( Oculus ) oder Asynchroneous Reprojection ( SteamVR ) zugeschaltet sind.
Render Target / PixelDichte / PixelDensity /Supersampling in VR
Die Einstellung des Render Targets, ist die wichtigste, effektivste und im Grunde auch die einzige Stellschraube, um die gesamte Bildqualität in VR zu beeinflussen.
Das RenderTarget zu erhöhen, kostet Performance; das RenderTarget zu verringern, setzt Performance frei.
DCS hat im Einstellungsmenu unter dem Reiter "VR" einen Regler mit der Bezeichnung "PD", der genau das macht. Steht der PD Regler in DCS auf 1.0, rendert DCS das Bild in VR in der Auflösung 1080 x 1200 Pixel ( entsprechend der nativen Auflösung von Oculus Rift und HTC Vive ).
Der Compositor ( SteamVR, Oculus Tray Tool, SteamVR for Mixed Reality ) passt das von DCS gerenderte Bild dann wieder an die Auflösung des eingesetzten HMDs an. Bei einem HMD, das höher auflöst, empfiehlt es sich, den PD Regler in DCS an die Display Auflösung seines HMD anzupassen, um nicht durch downsampling Bildqualität zu verlieren. Für die Vive Pro und alle Windows Mixed Reality Brillen wäre ein Wert von mindestens 1.4 geeignet, um das Bild von DCS an die native Auflösung vom HMD anzupassen.
Dazu kann man die Bildqualität insgesamt weiter verbessern, indem man die PD weiter erhöht, was dann feiner abgestuft in kleinen Schritten auch über die APIs ( Oculus Tray Tool, SteamVR, SteamVR for Mixed Reality ) geht.
Asynchroneous Space Warp ( Oculus ) / Asynchroneous Reprojection ( SteamVR )
Beide Techniken sind Bestandteil der APIs machen in etwa das gleiche. Sie sind speziell für Virtual Reality entwickelt. Die angepeilte Bildwiederholfreqenz in den HMDs liegt bei 90Hz ( oder 90 FPS im Performance Kontext ), was i.d.R. bei VR Spielen und speziell von DCS selten erreicht wird.
Wenn ASW und AR in den APIs aktiviert ist, schaltet es sich automatisch ein, wenn ein bestimmter Wert ( gemessene ca. 80 Hz/ 80 FPS , ca. 11 Millisekunden Latenz ) unterschritten wird und halbiert die geforderte 90Hz Bildwiederholfrequenz auf 45 Hz; gleichzeitig wird das jeweilige zuvor gerenderte Bild vom Compositor verdoppelt und in die Bildfolge zwischen den echten gerenderten Bildern kopiert. Im Effekt hat man dann wieder gefühlte 90 Hz/ 90 FPS, wobei nur 45 Bilder pro Sekunde tatsächlich gerendert werden. Im Vorteil erzeugt die Technik einen weichen Bildablauf ohne Ruckler im HMD, was auch einem Unwohlsein in VR entgegen wirkt. Die Nachteile sind wie weiter oben beschrieben und sind eigentlich nur selten wirklich wahrnehmbar.
MSAA und SS in DCS
In den Grafikeinstellungen von DCS lassen sich MultiSamplingAntiAliasing und SuperSampling zuschalten. Beide Funktionen kosten viel von der Performance, die die Grafikkarte leistet, verbessern aber die Kanteneffekte der gerenderten Objekte bzw. reduzieren das meist sehr auffällige Kantenflimmern in VR. Durch zuschalten von z.B. MSAA wird die Bildqualität von DCS in VR deutlich verbessert, die maximalen Hz, Latenzen und FPS sinken aber im Darstellungsfluss. Zugeschaltetes ASW oder AR wird dann öfter aktiviert, wenn nicht gar permanent, was mMn nicht so störend ist, wie permanentes Kantenflimmern an allen Objekten, solange die 45Hz/FPS gehalten werden.
Abschließend möchte ich sagen, dass DCS in Virtual Reality einfach super ist und ich hier eigentlich nur allgemein einen Thread zum Thema erstellen möchte, um weitere Entwicklungen, Tipps und Tricks zur Verbesserung oder Allgemeines über DCS in VR zu sammeln, damit jeder Interessierte etwas davon hat.