Full Screen Antialiasing

Full Screen Antialiasing (FSAA) ist ein Feature welches von modernen GPU’s (Graphic Processor Units) angeboten wird. Es wird von OpenGL (auf Windows auch Direct 3D) Applikationen angesprochen.

Im Zuge von Einbrüchen der Frameraten von OpenGL Programmen auf KDE 4.2 Desktops hatte ich mir Antialiasing (AA) mal genauer angeschaut.

nVIDIA AA Settings

Es gibt prinzipiell 3 Möglichkeiten, welches FSAA zum Einsatz kommt.

  1. Das Programm setzt AA. Im OpenGL Kontext erfolgt dies durch glEnable Methoden (Parameter sind bspw.: GL_POLYGON_SMOOTH, GL_MULTISAMPLE…) oder durch ARB Erweiterungen, z.B.  GL_NV_framebuffer_multisample_coverage
  2. Eine Umgebungsvariable setzt AA: __GL_FSAA_MODE
  3. Die Steuerzentrale des Grafiktreibers (oben: nvidia-settings) steuert das AA Verhalten,wobei zuerst ausgewählt werden kann ob die Programmseitige Einstellungen überschrieben, unberührt bleiben oder „ergänzt“ werden soll (nicht unter Mac OS X verfügbar)

Auf einer nVIDIA 8600M GT GPU, sind bspw. folgende __GL_FSAA_MODE Werte zulässig:

    Names for valid 'FSAA' values:
       0 - Off
       1 - 2x (2xMS)
       5 - 4x (4xMS)
       7 - 8x (4xMS, 4xCS)
       8 - 16x (4xMS, 12xCS)
       9 - 8x (4xSS, 2xMS)
      10 - 8x (8xMS)
      12 - 16x (8xMS, 8xCS)

Die verschiedenen Techniken von AA sind:

  • Supersampling (SS)
  • Multisampling (MS)
  • Coverage Sampling (CS, nVIDIA Erweiterung)
  • Alpha Blending

Die Verwendung von AA benötigt aber nicht nur mehr Rechenleistung sondern auch mehr Video Speicher (VRAM), da einfache Pixels nun genauer (x-fach) aufgelöst werden.

Den Effekt sieht man schön bei eine Benchmark der Phoronix-Test-Suite – glmark

Verschiede AA Einstellungen 1440 x 900 px

Neben dem offensichtlichen Unterschied der Frameraten zwischen dem Benchmark auf IceWM und KDE 4.2 sieht man schön den Performanceabfall, bei höherwertigen AA Einstellungen.

Interessant wird es wenn der gleiche Benchmark auf dem gleichen System mit höherer Auflösung (jetzt: 1680 x 1050 px.) gefahren wird.

Verschiede AA Einstellungen 1680 x 1050 px

Auf einmal bricht die Framerate schon beim Übergang von 2fach Multisampling zu 4MS ab. Ein eindeutiger Hinweis, dass der originäre Videospeicher nicht mehr reichte und der Grafiktreiber auf das herkömmliche RAM ausweichen musste, wass deutliche Latenz ins Spiel brachte.

Der Ausreisser unter KDE 4.2, bei dem die höchste Performance bei bester AA Einstellung suggeriert wird, ist darauf zurückzuführen, dass der KDE Windowmanager (kwin) wegen Überlastung, eine eigene Einstellung von AA wählte und die Einstellung von nvidia-settings überschrieb.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.