Ich wollte mal fragen, was ihr von Interlacing in Engines (speziell in PC-Engines, da Konsolen umgebungsbedingt darauf zurückgreifen) haltet.
Die Funktionsweise: Die Engine erzeugt ihre Render-Targets – mit Ausnahme der Swap-Chain – in halber vertikaler Auflösung. Alle geraden Frames rendern ausschließlich in die geraden Zeilen des Render-Targets, alle ungeraden Frames in die Ungeraden. Technisch lässt sich das durch Shader (bspw. im finalen Shader, oft dem Tone-Mapping-Operator), Stencil-Buffer, oder (soweit ich vermute) die gezielte Nutzung von DXGI realisieren.
Die Idee: Auf schwachen Systemen – dafür ist diese Sache gedacht – sind anspruchsvolle Spiele oft in der Füllrate limitiert, vor allem durch HDR-Render-Targets und schwere Post-Processing-Effekte. Rendert man nur Halbbilder, spart man dort relativ viel ein. Man erreicht dann bei gleichem Detaillevel eine höhere zeitliche Auflösung – vergleichbar mit einem Halbieren der Bildschirmauflösung – und nimmt dafür aber die üblichen Interlacing-Artefakte in Kauf. Der kritische Punkt ist nun, dass die erhöhte Frame-Rate das Spielgefühl verbessert, und zwar vor allem die Reaktionszeit für Benutzereingaben. Ein Spiel, das sich bei 20 fps noch wabberig und schwammig steuert, läuft dann mit effektiven 30 bis 35 fps flüssig.
Die Nachteile:
- Kein Anti-Aliasing. Fällt bei schwachen GPUs aber generell flach.
- Die Shader für Fullscreen-Effekte wie Bloom etc. müssen angepasst werden.
- Interlacing-Artefakte. Das ist der Knackpunkt – wie störend wären die denn eigentlich?
Kennt ihr PC-Spiele, die soetwas nutzen?
Gruß, Ky