Nirn.de

Gast

Thema: Fragen zur Oblivion.ini  (Gelesen 14404 mal)

  • Schildknappe
    • Legion
Da es ja immer wieder Fragen zur Konfigurationsdatei von Oblivion gibt, die aber meist zu speziell sind um die Threads später weiterzuverwenden, mache ich hier einfach mal einen Sammelthread auf.

Inhaltsverzeichnis zu den Erläuterungen

1. Bloom & HDR von klarix

2. Wiederholfrequenz, FPS und VSync von klarix

3. Antialiasing, Bildschirmauflösung, Anisotropische Filterung von klarix

4. Sichtweite und entfernte Strukturen von klarix


Jeder der sich dazu in der Lage fühlt kann gerne weitere Erläuterungen schreiben und hier posten, ich verlinke sie dann ins Inhaltsverzeichnis.

Grüße,
Doge
What is dead may never die, but rises again, harder and stronger.
  24.09.2008, 21:54
  • Offline


  • Aspirant
    • Magiergilde
Gute Idee!  :)

Viele Fragen zu den Einstellungen in der ini werden im Oblivion Tweak Guide erklärt, allerdings mehr aus der Sicht der Performanceoptimierung. Vielleicht werden hier ja noch mehr Erfahrungen mit Einträgen in der ini eingestellt.
Ich kenne die Hälfte von euch nicht halb so gut, wie ich es gern möchte, und ich mag weniger als die Hälfte von euch auch nur halb so gern, wie ihr es verdient. (Bilbo Beutlin, Beutelsend)
  25.09.2008, 17:44
  • Offline


  • Gildenmeister
    • Gildenmeister
Ich habe mich in letzter Zeit mit den Einstellungen in der Oblivion.ini beschäftigt. In erster Linie ging es mir um die beste und realistischste Darstellung der Welt. Erst wenn die Hardware nicht mehr mitgemacht hat, war die Grenze erreicht. Dabei habe ich sowohl den Prozessor als auch die Grafikkarte so ausgereizt, dass sie zwar voll ausgelastet waren, aber der Spielfluss nicht unter 25 FPS sackte.

Zu den auffälligsten und die Atmosphäre beeinflussenden Einstellungen gehört die Art der Beleuchtung. Als eine der wichtigsten und grundlegenden Punkte ist diese Auswahl auch im Oblivion Launcher vorhanden. Hier kann man zwischen der Standardausleuchtung, Bloom und HDR wählen.
In der ini gibt es feinere Einstellungen in den Bereichen:
  • [BlurShader] - betrifft die Bloom-Beleuchtung
  • [BlurShaderHDR] - HDR in der Außenwelt
  • [BlurShaderHDRInterior] - HDR in Innenräumen

Standarddarstellung, mit Bloom und HDR

Dabei wird schnell klar, dass HDR die Welt am realistischsten wiedergibt. Allerdings muss die Grafikkarte schwer dafür schuften. Der Grund liegt auf der Hand:
Das menschliche Auge kann zig Milliarden Helligkeitsunterschiede wahrnehmen. Um das nachzuahmen, gibt es kaum bezahlbare Kameras, die tatsächlich in der Lage sind, all diese Informationen zu speichern. Diese riesige Fülle an Kontrastinformationen können wiederum nur Spezialsichtgeräte darstellen. Normale Monitore stellen in RGB nur 2^8, also 256 Helligkeitswerte dar. Die Natur-Darstellung geht also mit einem riesigen Qualitätsverlust einher.


Standarddarstellung, mit Bloom und HDR

Die Bloom-Darstellungsmethode versucht, dem Betrachterauge einen größeren Kontrastumfang vorzutäuschen. Dabei werden u.a. die Gamma-Werte der RGB-Farben so manipuliert, dass ein fades Digitalbild mehr Brillanz bekommt. Wünschenswert wäre die Erhöhung der Leuchtkraft, aber die Computer-Monitore setzen hier Grenzen. Die Bloom-Algorithmen sind nicht sehr rechenintensiv, so dass auch schwächere Grafikkarten die Darstellung damit veredeln können. Damit bleiben meistens Ressourcen frei für Berechnungen von Antialiasing und Anisotropischer Filterung. Dazu das nächste Mal mehr  :)


Standarddarstellung, mit Bloom und HDR

HDR (High Dynamic Range) geht einen völlig anderen Weg. Wie der Name andeutet, wird hier versucht, die Dynamik der Helligkeitsunterschiede zu erhöhen. Vereinfacht gesagt, versuchen die Algorithmen selbst das menschliche Auge zu sein, das nicht auf das Bild, sondern in die Welt schaut (Bloom erzeugt ein neues Bild für das Auge). Es wird versucht, von dem Bild auf das ursprüngliche Motiv zu schließen und die Möglichkeiten des Auges nachzuahmen, es zu "sehen". Dabei müssen komplizierte Ein- und Überblendungen, Überstrahlungen und diffuse Umgebungsreflexionen berechnet werden. Und das Ganze dann auf die begrenzten Darstellungsmöglichkeiten des Monitors mappen. Da es im Spiel für jedes Bild, also Dutzende Male in der Sekunde, durchgerechnet werden muss, kann man sich ausmalen, dass HDR die Grafikhardware enorm belastet.

Das Ergebnis ist allerdings ohne vergleichbare Alternativen. Die Realitätsnähe und der Atmosphäre-Gewinn sind beträchtlich und beeindruckend. Wenn die Grafikkarte es ohne zu ruckeln schafft, sollte man HDR nutzen. Auch wenn man bei CRT-Monitoren auf höhere Auflösungen Performance-bedingt verzichten müsste.

Doch wie gesagt, mir ging es in erster Linie um das Feeling und die Stimmung im Spiel. Wenn jemand keinen Wert darauf legt oder stark begrenzte Grafikpower hat, wird vielleicht mehr Wert auf Sichtweite, Objekt-Details und FPS legen. Aber dazu schreibe ich vielleicht später noch.

klarix
  12.07.2009, 10:11
  • Offline
  • Meine YouTube-Ecke


  • Drachengott
    • Nirn.de Team
Hoffentlich schreibst Du dazu später noch mal mehr, das ist nämlich eine super Hilfe!
  12.07.2009, 12:09
  • Offline
  • Nirn.de


  • Rächer
    • Dunkle Bruderschaft
Endlich eine aussagekräftige Hilfe zu Fragen, die ich mir schon lange gestellt habe.

Vielen Dank, klarix! :)
  12.07.2009, 14:47
  • Offline


  • Gildenmeister
    • Gildenmeister
Gut, bevor wir in den Tiefen der ini versinken, erst einmal Grundlegendes zum Verständnis  :)

Die Bilder innerhalb des Spieles werden vom Prozessor und der Grafikkarte berechnet und an die Ausgabeeinheit geschickt. Je nach eingestelltem Detailreichtum und der Leistung der Hardware variiert die Anzahl der fertig berechneten Bilder. Wenn genügend Bilder in schneller Folge geliefert werden, nimmt sie das menschliche Auge nicht mehr als einzelne Bilder wahr. Dem Auge wird eine Bewegung vorgetäuscht und ab einer bestimmten Bildrate erkennt das Gehirn keinen Unterschied mehr zu den Bewegungen in der analogen Umwelt.

Diese Bildrate wird mit Anzahl fertiger Vollbilder in der Sekunde angegeben, oder englisch frames per second, abgekürzt FPS. Die Grenze, ab der die Bildrate als fließende Bewegung empfunden wird, ist von Mensch zu Mensch verschieden. Manchen reichen 20 FPS, andere merken noch bei 50 FPS die Einzelbildfolge. Allgemein spricht man ab 20-25 FPS von fließender Bewegung. Diese Empfindung hängt auch von dargestellten Motiv ab: Wenn wir die langsam im Wind wippenden Bäume um die Kaiserstadt beobachten, oder der langsamen berittenen kaiserlichen Wache nachschauen, erfolgt jede dieser Bewegungen fließend. Laufen wir jedoch mit unserem Charakter durch die Gegend, sehen wir vor allem an den Seitenrändern des Bildschirms, dass die Bewegung nur eine Täuschung ist. Hier hilft nur die Erhöhung der Bildrate. Ich persönlich brauche mindestens 35 FPS, um glücklich zu sein  :D

Wie hoch die Bildrate ist, kann sich jeder am Oblivion-PC mit dem Konsolenkommando

'tdt' (ToggleDebugText)

anzeigen lassen (Ein- und Ausschalter).



Neben ein paar Variablen, wird kontinuierlich die Anzahl der Bilder angezeigt, die pro Sekunde von der Grafikkarte angeliefert werden. Dieser Wert ist ein Indikator dafür, wie stark die aktuellen Einstellungen des Spiels die Hardware belasten. Der Wert wird ständig neu gemessen und ändert sich leicht bei Schwenks des Sichtfeldes.

Die Anzeigegeräte können Fernseher, CRTs und LCDs sein. Diese Anzeigegeräte können auch nur einzelne Bilder in schneller Folge darstellen. Während die Grafikkarte mit vielen Bildern den Eindruck einer fließenden Bewegung vortäuschen möchte, versuchen Anzeigegeräte mit vielen Bildern hintereinander eine stabile helle Darstellung zu erreichen. Hier machen sie sich wieder die Eigenschaft des Auges zunutze, sehr kurze hell-dunkel-Wechsel nicht mehr wahrnehmen zu können. Fernsehgeräte, an die die Oblivion-Konsolen angeschlossen sind, stellen ihre Bilder mit konstanten 50 oder 60 Halbbildern pro Sekunde dar. Flache LCDs (liquid crystal displays) machen 60 Mal in der Sekunde eine Aktualisierung des Vollbildes. Die Geschwindigkeit dieser Aktualisierung wird Bildwiederholfrequenz genannt, die Einheit heißt Hertz (Hz). Röhrenmonitore (cathode ray tubes = CRTs) sind meistens Multisync-Monitore, bei denen man die Auflösung und die Wiederholfrequenz der Vollbilder nach Belieben einstellen kann.


Auswahl erlaubter Frequenzen bei CRT und vorgeschriebene 60 Hz bei LCD

Auch hier empfinden die Menschen verschieden, wann ein Bild stabil ist und wann es flimmert. Manche empfinden bei 90 Hz noch ein leichtes Flackern und bei anderen sind 70 Hz stabil wie ein Zeitungsbild. Für die meisten werden jedoch die 50 oder 60 Hz der Fernsehtechnik bei hellen Bildern flimmern (zum Glück bestehen Filme selten nur aus sehr hellen Szenen). Bei meinem alten Röhrenmonitor habe ich 85 Hz eingestellt. Alles darunter verursacht bei mir nach ein paar Spielstunden Augenjucken und Kopfschmerzen.

Einfachheithalber bleiben wir hier bei den 60 Hz, die bei LCDs vorgegeben sind. Die Monitore zeigen das an, was im Eingangspuffer liegt. Egal, was es ist, es wird 60 Mal in der Sekunden wiederholt. Ob die Grafikkarte etwas liefert oder nicht, der Inhalt des Puffers wird mit 60 Hz angezeigt. Hier sieht man den Unterschied zwischen FPS und Hz: Die Grafikkarte liefert, was sie kann (gemessen in FPS), der Monitor zeigt, was er findet (gemessen in Hz).

Beide Bildraten sind unabhängig voneinander und meistens völlig verschieden. Dem Monitor ist es egal, wie kompliziert die Grafik ist. Für ihn ist es nur wichtig, das Bild ohne zu flimmern darzustellen. Der Grafikkarte ist es wiederum egal, was mit den fertig berechneten Bildern geschieht. Sie tut ihr möglichstes, um sie so schnell wie möglich zu liefern und vergisst sie wieder. Wenn sie leistungsfähig genug ist oder die Grafik nicht zu kompliziert, überholt die Grafikkarte den Monitor und berechnet mehr Bilder, als der Monitor anzeigen kann. Deswegen kann man der Grafikkarte sagen, sie soll auf den Monitor warten und sich mit seiner Wiederholfrequenz synchronisieren.

Das ist eine wichtige Einstellung im Oblivion Launcher und heißt Vertikale Synchronisation oder einfach VSync (das Wort "vertikal" in diesem Zusammenhang kommt aus der Welt der CRTs, wenn der Elektronenstrahl von rechts unten unsichtbar nach links oben wandert, um das nächste Bild anzuzeigen).



Wenn VSync eingeschaltet ist, ist die Grafikkarte an die Bildwiederholfrequenz des Monitors gebunden und ihre FPS gleichen konstant der Hz-Zahl. Der Vorteil dabei ist, dass jedes der 60 Bilder in der Sekunde perfekt scharf ist. Das ist für Screenshots von Bewegungen von Vorteil, weil Bildstörungen und Darstellungsfehler nicht vorkommen können.

Für den Gamer jedoch ist VSync mit anderen Nachteilen verbunden. Wenn die Grafikkarte schneller ist als der Monitor, dann muss sie auf ihn warten. Das ist eine Verschwendung von Ressourcen und vor allem wir Spieler sind bemüht, die Grafikhardware mit den verschiedenen Game-Settings an ihre Grenzen zu treiben. Auch wenn die Grafikkarte die Bilder langsamer liefert, als sie angezeigt werden könnten, muss sie trotzdem alle paar Bilder auf das Synchronisationssignal warten, was ihre theoretische FPS-Anzahl noch weiter nach unten drückt (und die Einzelbildfolge lästig spürbar macht).

Während der Wartezeit könnte die Grafikkarte doch ein schöneres Bild berechnen. Die Leistung der Grafikkarte wird also nur bei ausgeschaltetem VSync voll genutzt. Allerdings kann es passieren, dass die Grafikkarte ein neues Bild liefert, während der Monitor gerade dabei ist, das alte zu zeichnen. Das resultiert in Vermischung der zwei Bilder, die sich vor allem bei bewegten Szenen etwas voneinander unterscheiden. Da Oblivion "Motion Blur" nicht kennt (Verwischung von Strukturen bei Bewegungen), entstehen so Darstellungsfehler, die man Glitches oder Tearing nennt. Screenshots mit Tearing sind kaum zu gebrauchen, aber im Spielfluss wird Tearing kaum bemerkt.

Ist VSync ausgeschaltet und die Grafikkarte langsamer als der Monitor (also FPS < Hz), wird regelmäßig ein Bild zweimal (oder mehr) hintereinander angezeigt, weil ein neues noch nicht berechnet wurde. Das resultiert (wieder vor allem bei Bewegungen) in kleinen Rucklern. (Schaltet man VSync hier ein, ergibt sich wegen der Wartezyklen eine zusätzlich verringere FPS-Zahl.) Die Erhöhung von FPS kann nur mit Änderungen der Grafikeinstellungen erreicht werden, dazu das nächste Mal mehr.

In meinen Augen ist es für den Oblivion-Spieler von Vorteil, VSync nicht einzuschalten, weil nur so kann die Grafikkarte ihre volle Leistung zeigen und es stehen uns mehr Ressourcen frei, um Optimierungen/Verschönerungen der Darstellung vorzunehmen. Meistens werden die Screenshots von kaum bewegten Szenen gemacht, so dass Tearing unsichtbar bleibt. Da mir die umfangreiche, ungetrübte und realitätsnahe Darstellung Cyrodiils wichtig ist, habe ich bei mir VSync ausgeschaltet. Die sicher vorkommenden Bildfehler sehe ich im Spielfluss nicht, da sie ohnehin nur vereinzelt und für den Bruchteil einer Sekunde da sind.

Mit welchen Einstellungen man die so gewonnenen freien Ressourcen der Grafikkarte nutzen kann und wie sie sich auswirken - das nächste Mal  :)

klarix
  14.07.2009, 17:18
  • Offline
  • Meine YouTube-Ecke


  • Reisender
    • Neuling
Buuuuoooorrrrr,
was für ein Super guter Beitrag !
endlich mal Sachlich verständlich,
ausführlich,
und einfach nur gut.  :)

Beim durchlesen war ich kurz davor VSinc einzuschallten,
aber beim weiterlesen,
dachte ich : das lasse ich lieber.  :)
ansonsten sind meine Game einstellungen auf Ultra hohe und HDR.

DANKE Klarix !!!
  15.07.2009, 11:16
  • Offline


  • Gildenmeister
    • Gildenmeister
Freut mich, dass die Infos nützlich sind  :)

Digitale Sichtgeräte nutzen viele einzelne Bildpunkte (Pixel) in einem Raster, um Texte und Grafiken darzustellen. Es ist leicht einzusehen, dass das Bild umso schärfer und detailreicher ist, je mehr Pixel zur Verfügung stehen. Die Menge der Pixel wird als Bildschirmauflösung bezeichnet und wird in Anzahl Pixel horizontal x vertikal angegeben. Normale Fernsehgeräte haben eine feste Auflösung von 720×480 (NTSC) und 768×576 (PAL). Dies ist auch das, was die meisten Oblivion-Konsolen darstellen. LCDs haben auch eine feste, bauartbedingte Auflösung, die von der Bildschirmgröße abhängig ist. Bei CRTs kann die Auflösung in mehreren Schritten verändert werden. Meistens werden die Auflösungen über den Treiber der Grafikkarte eingestellt. Vollbildanwendungen, wie z.B. Spiele, stellen diese Einstellung auch zur Verfügung.

Die Bildschirmauflösung kann allerdings nur in erlaubten Grenzen eingestellt werden. Das Betriebssystem gleicht die möglichen Auflösungen der Grafikkarte und des Monitors aufeinander ab und stellt die gemeinsamen Möglichkeiten zur Auswahl. Wenn also im Oblivion Launcher die gewünschte Auflösung nicht zur Verfügung steht, ist es entweder die Grafikkarte oder (meistens) der Monitor, der sie nicht unterstützt. Der Oblivion Launcher stellt nur die Auflösungen zur Auswahl, die er von Windows als einstellbar gemeldet bekommt.

Wenn die höchste Auflösung das beste Bild liefert, warum sollte man sie nicht immer auswählen? Diese Frage ist nur bei CRTs relevant, denn Fernseher und LCDs haben eine feste native Auflösung, die man nicht ändern sollte. Manche LCDs erlauben eine scharfe Verkleinerung, die mit schwarzen Rändern dargestellt wird. Wenn der Monitor diese Ausgabeart unterstützt, kann sie im Treiber der Grafikkarte aktiviert werden. Das ist die einzige empfehlenswerte Änderung der Bildgröße bei einem LCD.


1024×768 (nur Größenanpassung, keine Qualitätsänderung) und 1600×1200 Pixel, kein AA, kein AF

Dem Monitor ist es egal, ob er 640×480 oder 1280×1024 darstellt. Der etwas höhere Strombedarf bei steigender Auflösung ist der einzige Unterschied. Ein feiner granuliertes Bild bedeutet allerdings für die Grafikkarte eine höhere Belastung. Eine Grafikkarte kann meistens besser auflösen als der Monitor, aber wenn zusätzliche Arbeiten in der Pipeline anstehen, wie Texturierung, hoher Detailgrad, viele Objekte, Schatten, HDR, Sichtweite, Antialiasing u.v.a., dann schafft sie all das nicht in annehmbarer Zeit und die FPS-Anzahl sinkt in den Keller. Wenn man die Bildschirmauflösung verringert, hat sie weniger Punkte zu berechnen und liefert so die fertigen Bilder schneller.

Die Wahl der Bildschirmauflösung hat also einen sehr großen Einfluss auf den Spielfluss. Hier muss jeder Spieler für sich, abhängig von seiner Hardware, einen guten Mittelweg finden, hoch aufgelöste Cyrodiil-Landschaft mit angenehmer Geschwindigkeit einzustellen. LCD-Anwender haben hier nur eingeschränkt eine Wahl und sollten an anderen Schrauben in den Spiel-Settings drehen. Es ist zwar möglich, auch bei LCDs die Vollbildauflösung zu ändern, aber davon rate ich aus zwei Gründen ab:
  • Die Panels sind wirklich nur für die eine native Auflösung ausgelegt. Alles andere ist eine weitere Fehlerquelle.
  • Nur die native Auflösung eines LCDs stellt das Bild scharf dar. Jede andere Vollbildauflösung resultiert aus einer Interpolation und wird dadurch unscharf.
Die Pixel-Matrix erlaubt nur bedingt eine naturgetreue Darstellung von Objekten. Vor allem an Umrissen und abrupten Farbwechsel macht sich ein Treppeneffekt bemerkbar. Diesen Darstellungsmangel kann man verringern, indem man an diese Treppchen Pixel anfügt, deren Farbe eine Mischung aus Treppe und Umgebung ist. Auf diese Weise werden die Farbübergänge weicher und Ränder erscheinen gleichmäßiger. Diese Nachbearbeitung nennt man Antialiasing (AA), oder deutsch und speziell bei Spielgrafik - Kantenglättung. Die Aufgabe ist nicht trivial, denn die Ränder müssen erst identifiziert und untersucht und dann passend verändert werden. Die Grafikkarten verbrauchen dafür einen Teil ihrer Leistung. In den letzten Jahren wurden viele AA-Algorithmen entwickelt, die sich im Rechenaufwand und Ergebnis unterscheiden.



Im Oblivion Launcher kann Antialiasing aktiviert werden, allerdings nicht zusammen mit HDR. Will man beides haben, wählt man im Launcher HDR aus und Antialiasing im Grafiktreiber. Dabei muss man im Treiber angeben, dass man die Einstellungen der (Oblivion-)Anwendung überschreiben möchte.

Bei modernen Karten sind AA-Berechnungen mittlerweile sehr performant, so dass die meisten AA-Arten wenig Grafikleistung kosten. Sogar eine 16-fache AA-Sampelrate kann sorglos aktiviert werden, was eine sehr gute Darstellung liefert. Die zur Auswahl stehenden AA-Arten mit 'Q' liefern eine weiter erhöhte Qualität, die mit 'S' und 'G' sind noch ein wenig besser. Dann sollte noch die Methode für die AA-Transparenzberechnung ausgewählt werden, die bei jeder AA-Auswahl angewendet wird: Supersampling oder Multisampling. Supersampling liefert das mit Abstand beste Ergebnis, bremst aber die Grafikkarte stark ab. Das neu entwickelte Multisampling ist gut und vor allem performant.




Seile ohne Antialiasing und mit AAx16

Folgendes sollte man bei Antialiasing nicht aus den Augen lassen:
  • Je höher die Bildschirmauflösung, desto mehr Punkte muss die Grafikkarte bei AA nacharbeiten. Gleichzeitig erlaubt eine hohe Auflösung durch ihre Feinkörnigkeit den teilweisen oder völligen Verzicht auf Antialiasing. Will man auf Kantenglättung generell nicht verzichten, kann man hier einen Kompromiss zwischen Auflösung und AA-Qualität suchen. Ich persönlich habe bei 1280x960, 1280x1024 und 1600x1200 für Oblivion die Samplingrate x4 mit Multisampling eingestellt und bin damit sehr zufrieden. Wenn ich vorhabe, Screenshots zu machen, tausche ich AAx4 gegen AAx16Q aus, was die Grafikkarte nur wenig mehr belastet, aber die Ergebnisse sichtbar besser sind.
  • Durch die "Weichzeichnung" der Kanten erscheinen die Konturen etwas unschärfer als ohne Antialiasing. Eine scharfe Cyrodiil-Darstellung (vor allem auf LCDs) hat aber auch ihren Reiz. Manche wollen die AA-Unschärfe nicht und schalten Antialiasing aus. Damit sparen sie auch Grafikleistung, die sie woanders vergeben können.
  • Für LCD-Besitzer gibt es einen Trick, eine Art Antialiasing umsonst zu bekommen, indem die Spielauflösung verringert wird. Ich habe oben davon zwar abgeraten, aber es liegt an jedem, es auszuprobieren. Angenommen der LCD hat die native Auflösung 1280×1024. Wenn man im Oblivion Launcher die Auflösung auf 1024×768 stellt, muss während des Spiels eine Skalierung der Darstellung stattfinden, die das Bild konstruktionsbedingt unschärfer macht. Dieses hat Vorteile. Die niedrigere Auflösung entlastet die Grafikkarte und stellt Leistungsreserven für andere Sachen zur Verfügung. Die Interpolation der einzelnen Bilder ist weitaus einfacher und schneller als richtiges Antialiasing. Allerdings ist diese Unschärfe nicht gleich der AA-Unschärfe. Die komplizierten AA-Algorithmen versuchen doch, die Kantenglättung durch Weichzeichnung zu erreichen, ohne in störende Unschärfe zu verfallen.
Die vielen Texturen, die die Spielwelt umspannen, sind ursprünglich quadratische Bilder, die von der Grafikkarte auf die Gitternetze "geklebt" werden. Jedoch erscheinen die Muster weiter entfernter Objekte zunehmend unscharf, was eine Nachbearbeitung nötig macht. Unter Zuhilfenahme mehrerer gleicher quadratischer Texturen stellen Grafikkarten diese Objekte wieder scharf dar. Diese Methode der Texturfilterung heißt Isotropes Filtern. Allerdings kommen in Spielen größtenteils 3D-Objekte vor, die wir aus einem spitzen Winkel anschauen, wie Häuserfassaden, Straßenbelag u.a. Dadurch werden diese Texturen in einiger Entfernung nicht nur verwaschen, sondern auch verzerrt. Um das auszugleichen, benutzen Grafikkarten dafür Texturfilterung auf Basis von Rechtecken und Trapezen, was als Anisotropes Filtern oder Anisotropische Filterung (AF) bezeichnet wird.


Ohne Anisotropische Filterung und mit AFx16

Oblivion bietet keine Möglichkeit, AF einzuschalten - weder im Launcher, noch in der Oblivion.ini oder über Konsole. Um AF zu nutzen, muss man es im Grafiktreiber aktivieren. Der Performance-Verlust hält sich in Grenzen, vor allem bei modernen Grafikkarten, die sehr schnelle Algorithmen dafür bereitstellen. In Oblivion ist AF allerdings etwas für Puristen, denn meistens läuft man durch unregelmäßige Landschaften oder weilt in begrenzten Innenräumen. Lange gerade Straßen oder Brücken sind die Ausnahme, aber auch dort wären die entfernten verschwommenen Texturen nicht unbedingt unrealistisch  ;)

klarix
  16.07.2009, 21:03
  • Offline
  • Meine YouTube-Ecke


  • Reisender
    • Neuling
Mal eine Frage : wenn ich hier reinschreibe was für eine Grafikkarte ich habe,
kannst du mir dann sagen, wie ich das Optimieren kann ?
Ich hab grad nachgesehen,
ich habe eine NVidia GeForce 9600 GT

Wenn ich richtig verstanden habe,
kann man dort AA einstellen und Oblivion ist dann doch mit Anty Alising ?

ich habe  Windows XP
  23.07.2009, 20:08
  • Offline


  • Gildenmeister
    • Gildenmeister
Ja, Du kannst Antialiasing im Oblivion Launcher einschalten.
Dabei wird aber HDR ausgeschaltet.
Wenn Du beides haben willst, stellst Du im Launcher HDR ein und im Treiber Deiner 9600 GT Antialiasing.

klarix
  23.07.2009, 20:18
  • Offline
  • Meine YouTube-Ecke


  • Reisender
    • Neuling
ähm, in wenigen sätzen bitte, wie mache ich das, das ich HDR und Bloom habe  :)
Das mit AA funktioniert wohl  :)

  25.07.2009, 19:39
  • Offline


  • Lehrling
    • Diebesgilde
Noch zum Beitrag mit V-Sync: Es ist schon länger her dass ich Oblivion gespielt habe, aber normalerweise unterstützen neuere Spiele das so genannte Triple Buffering, bei dem durch einen weiteren Backbuffer der Performanceverlust minimiert wird. Kann man Triple Buffering nicht auch in Oblivion aktivieren?
  26.07.2009, 01:42
  • Offline


  • Gildenmeister
    • Gildenmeister
Zitat
Original von Lycanus
wie mache ich das, das ich HDR und Bloom habe  :)
Das hat keinen Sinn und geht nicht (bzw. ich kenne keine Möglichkeit). Beides sind Berechnungsmethoden der Beleuchtung. Ich denke nicht, dass eine Mischung vorgesehen, erlaubt, möglich und sinnvoll ist. Der Oblivion Launcher schließt eine gleichzeitige Nutzung mit seinen Radiobuttons aus.
Es ist so, als ob Du gleichzeitig mit und ohne Schatten spielen wolltest. Nur eines geht.

@Saibot 1506: Der Dreifach-Puffer ist ein Feature der Grafikkarte. Ältere Grafikkarten kennen diese Möglichkeit nicht. Wenn aber manche Spiele triple buffering unterstützen und die Grafikkarte modern und mit viel VRAM bestückt ist, spricht nichts gegen die Aktivierung. Den Vorteil des Dreifach-Puffers wird man aber erst merken, wenn VSync eingeschaltet ist und die Grafikkarte um vieles schneller als der Bildschirm ist.
Bei Spielen, die den Dreifach-Puffer nicht direkt unterstützen, wie Oblivion, kann die Aktivierung im Grafiktreiber jedoch zu Bildstörungen führen.

klarix
  28.07.2009, 20:39
  • Offline
  • Meine YouTube-Ecke


  • Gildenmeister
    • Gildenmeister
Die Sichtweite in Oblivion kann mit dem bekannten Schieberegler in den Spiel-Optionen eingestellt werden. Allerdings regelt man damit nur, in welcher Entfernung vom Spieler das Land in einem Nebel verschwindet. Dieser Regler hat damit auch einen Einfluss auf die Schalter für entfernte Objekte. Verringert man die allgemeine Sichtweite, werden die Schalter für entfernte Details, Gebäude und Bäume deaktiviert. Wenn der Sichtweiten-Regler ganz rechts steht, also auf Maximum, sind die Berge am Horizont deutlich sichtbar, was einen natürlichen Eindruck von der Landschaft vermittelt.


"Distanz sehen" eingestellt auf ca. 90%,


...auf 80%,


...auf 70%,


...auf 50%,


...und auf 20%.

Die Sichtweite hat einen merklichen Einfluss auf die Performance des Spiels. Vor allem auf älteren oder schwächeren Grafikkarten kann die FPS-Anzahl bei Erhöhung der Sichtweite deutlich sinken. Moderne, superschnelle Grafikhardware lässt sich von diesem Regler kaum beeindrucken. Abhängig von der Bildschirmauflösung sollte man den Sichtweiten-Regler so weit nach rechts schieben, dass die FPS beim Rundumschau im Spiel nicht unter 25 sinken. Wenn man später mit anderen Settings die Performance weiter verringert (z.B. mit Bäumen, Gras, Spiegelungen oder Schatten), kann man mit Verringerung der Sichtweite wieder einen flüssigen Spielablauf erreichen. Wenn die Grafikkarte es erlaubt, sollte man an der Sichtweite nicht sparen, denn die bekannte Sicht in RL entspricht ziemlich genau der maximalen Einstellung dieses Reglers.

Technisch gesehen, besteht die entferne Landschaft aus groben statischen Objekten, wie Terrain-Strukturen (Hügel, Berge, Täler, Flüsse) und vereinzelten großen Straßen und Städten. Darauf werden grobe, verwaschene Texturen projiziert. All das verschwindet im Nebel, wenn der Sichtweiten-Regler nach links geschoben wird. Feine Strukturen, wie entfernte Felsen, Wiesen, Häuser, Ruinen, Seen und Feldwege können nicht dargestellt werden, weil ihre Texturen nicht zur Verfügung stehen. Findige Modder entwickelten deswegen Erweiterungen, die die groben Strukturen in der Ferne mit detaillierteren Texturen überziehen und die Landschaft so realitätsnäher erscheinen lassen. Der Performance-Verlust ist dabei nur minimal, da hier einfach die verwaschenen Original-Texturen durch feinere ersetzt werden. Qualitativ erreicht diese Methode allerdings nicht die Nutzung der skalierten Original-Texturen.

Um die Landschaftsdarstellung im Spiel der im RL anzugleichen, wäre es wünschenswert, auch die jetzt noch unsichtbaren entfernten Objekte darzustellen. Das ist möglich mit der ini-Einstellung

uGridsToLoad

Diese Variable ist verantwortlich für die Zahl der Zellen um den Spieler herum, in die die scharfen und detaillierten Texturen geladen werden, die wir von nahen Objekten kennen. Damit können jetzt auch entfernte Objekte und Strukturen dargestellt werden, die bisher unsichtbar blieben. Je nach Anzahl der angegebenen Zellen, kann das eine enorme Belastung für die Hardware bedeuten. Mit uGridsToLoad kann, wie mit kaum einer anderen Einstellung, jede Grafikkarte in die Knie gezwungen werden.

Standardmäßig wird uGridsToLoad=3 oder 5 gesetzt. Bei Veränderung dieses Wertes ist zu beachten, dass es immer eine ungerade Zahl ist. Gerade Zahlen werden automatisch um 1 erhöht. Der Wert 5 ist ein Kompromiss zwischen einer abwechslungsreicher Landschaft mit diversen Details und einer noch annehmbaren Hardware-Belastung. Ab dem Wert 11 wird man auch in großer Entfernung noch Details erkennen können. In niedrigen Auflösungen führt die Erhöhung über 5 nur zu einem geringen Qualitätsgewinn, da entfernte Objekte ohnehin wegen der Grobkörnigkeit kaum darstellbar sind. In sehr hohen Auflösungen dagegen drängt sich die Erhöhung des Wertes geradezu an.


uGridsToLoad=5


uGridsToLoad=7, 9, 11 und 13

Diese vielfach erhöhte Datenmenge benötigt entsprechend Zeit, um geladen und geordnet zu werden. Nach einem Spielstart in Cheydinhal benötigt bei mir die Schnellreise nach Brindles Heim bei uGridsToLoad=5 ca. 5 Sekunden. Bei uGridsToLoad=9 sind es schon 8 Sekunden, bei uGridsToLoad=13 warte ich 12 Sekunden.

uGridsToLoad kann natürlich nicht unendlich erhöht werden. Irgendwann werden auch bei höchsten Bildschirmauflösungen die mikroskopischen Strukturen in der Ferne kaum erkennbar sein. Zudem wird vorher schon die Grafik-Hardware ein flüssiges Spielen mit FPS>25 nicht mehr ermöglichen. Und je nach Hardware-Ausstattung reicht womöglich der Speicher für die zu ladenden Texturen nicht mehr aus und das Spiel wird hart beendet  ;)

Die Zellenstrukturen, die vorgehalten werden müssen, benötigen Speicher. Die Menge an RAM, die dafür zur Verfügung stehen soll, wird angegeben mit den Variablen

uInterior Cell Buffer=3
uExterior Cell Buffer=36


Diese Werte werden vom Spiel automatisch in Abhängigkeit von uGridsToLoad angepasst. Sie können aber auch von Hand geändert werden, um die eng berechneten Grenzen zu weiten. Für 1GB RAM wird die Verdoppelung der Werte vorgeschlagen. Ich persönlich habe sie bei 3GB auf 12 und 120 eingestellt.

Damit die Umschaltung von den entfernten Texturen auf die qualitativ besseren Detail-Texturen nicht mit einem unnatürlichen "blopp" geschieht, gibt es die Einstellung:

bLandscapeBlend=1

Der Wert 1 bedeutet, dass die Umschaltung als weiche Überblendung erfolgt und nicht als plötzliche Texturen-Ersetzung in bestimmten Entfernungen. Die Grafikkarte wird dadurch nur minimal stärker belastet, so dass der Wert hier auf 1 stehen sollte.

Es sollten aber nicht nur Grafik-Daten im Speicher vorgehalten werden. Für stotterfreies Spielen sollte ausreichend RAM auch für andere Spieldaten reserviert werden. Man kann angeben, wie viel Speicher man dem Spiel maximal zuordnen will. Das gibt man an in der Variable

iPreloadSizeLimit=26214400

Dieser Standardwert bedeutet 25MB und ist wirklich wenig. Bei 1GB RAM wird hier eine Verdoppelung vorgeschlagen, also 52428800. Bei 2GB sollte man hier 100MB (104857600) eintragen. Da ich genug Speicher habe, steht bei mir hier 262144000. Mit höheren Werten kann jeder experimentieren, es wird aber im allgemeinen von höheren Angaben abgeraten.

Wenn das Spiel nach der Installation zum ersten Mal die Hardware checkt und entdeckt, dass wenig RAM zur Verfügung steht, bemüht es sich ab jetzt standardmäßig, nicht mehr benötigte Daten wieder frei zu geben. Dazu stellt es die Variable

bPreemptivelyUnloadCells auf 1

Es soll Performance-Mods für schwache Rechner geben, die diesen Wert gleichermaßen auf 1 stellen. In modernen Rechnern sollte der Wert jedoch auf 0 stehen. Vor allem, wenn man mit uExterior Cell Buffer und iPreloadSizeLimit zusätzlichen Speicher allokiert hat, sollte er nicht mit bPreemptivelyUnloadCells=1 sofort wieder freigegeben werden. Also immer darauf achten, dass hier eine 0 steht.

Eine weitere Möglichkeit, die entfernte Landschaft zu verschönern, ist das Visualisieren von Bäumen am Horizont. Ihre Anzahl und Detailreichtum wird eingestellt mit den Variablen:

uGridDistantTreeRange=15
uGridDistantCount=25

uGridDistantTreeRangeCity=4
uGridDistantCountCity=4


Die ersten 2 sind zuständig für die Darstellung in freier Natur, die anderen 2 in geschlossenen Stadt-Zellen. Je höher man diese Werte einstellt, desto stärker wird die Grafikhardware belastet und desto länger sind die Ladezeiten der feinen Strukturen. Wenn die FPS-Anzahl dadurch deutlich sinkt, sollte man die Werte auf Standard zurücksetzen.

uGridDistantTreeRange arbeitet ähnlich, wie uGridsToLoad, aber nur mit Baum-Texturen. Hier ein Vergleich (bei uGridsToLoad=11) zwischen der Standardeinstellung und uGridDistantTreeRange=180/uGridDistantCount=220:



Hinweis: Ändert man in den Spiele-Optionen die entsprechenden oder verwandten Regler, werden die Werte in der ini überschrieben.

klarix
  29.07.2009, 14:09
  • Offline
  • Meine YouTube-Ecke


  • Schildknappe
    • Legion
Vielen Dank für die Arbeit, das mit dem uGridDistantTreeRange wusste ich noch nicht.
What is dead may never die, but rises again, harder and stronger.
  29.07.2009, 14:22
  • Offline