# Subpixel-Rendering

Subpixel-Rendering (engl.) bedeutet übersetzt Teilbildpunktwiedergabe und steht für Algorithmen, die Subpixel eines Farbbildschirms zusätzlich zur Erhöhung der dargestellten Auflösung von Text und Bildern benutzen. Da Subpixel meist horizontal angeordnet sind, wird die horizontale Auflösung erhöht.
Die Verbesserung in der Darstellung ist am deutlichsten auf Bildschirmen, bei denen die Subpixel deutlich getrennt sind, wie es bei LCD- oder AMOLED-Bildschirmen der Fall ist. Je nach Qualität des Geräts kann aber auch die Lesbarkeit bei Röhrenbildschirmen erhöht werden.

## Geschichte

Die Technik wurde im Jahre 1988 von IBM entwickelt, um die Schriftdarstellung auf Farb-LCDs wie Laptop-, Mobilfunk- oder Flachbildschirmen zu verbessern.
In größerem Stil wurde das Verfahren von Apple bei Mac OS 9 und von Microsoft bei Windows XP als ClearType angeboten. Bei beiden Betriebssystemen war es in der Grundeinstellung jedoch nicht aktiviert. Dies änderte sich erst mit macOS und Windows Vista. Auch der bei BSD-Systemen und Linux verbreitete X.Org-Server und dessen Vorgänger XFree86 ermöglichen Subpixel-Rendering.

## Funktion

Durch Ansteuerung eines einzelnen Subpixels anstelle eines vollständigen (d. h. aus mehreren Subpixeln bestehenden) Pixels erhöht sich die nutzbare Auflösung des Bildschirms in einer Richtung um den Faktor drei. Die Richtung ist dabei sowohl vom internen Aufbau des Bildschirms abhängig als auch von dessen Ausrichtung, etwa bei Nutzung der Pivot-Funktion. Die höhere Auflösung erlaubt prinzipiell eine feinere Darstellung von Details.
Die Nutzung von Subpixel-Rendering wird aber stets mit Farbsäumen erkauft, denn bei der additiven Farbmischung werden pro Pixel (Bildpunkt) drei Subpixel in den Grundfarben Rot, Grün und Blau benötigt, um die Farbe Weiß auf dem Bildschirm darzustellen. Dies ist bei Pixeln, die im Bereich des Übergangs zwischen Schrift und Hintergrund liegen, aber nicht immer gewährleistet, da deren Subpixel die Farbe Schwarz anzeigen, soweit sie in die Darstellung der Schriftzeichen einbezogen sind. Die Grundfarben der übrigen, außerhalb der Schriftzeichen liegenden Subpixel ergeben in ihrer Mischung dann andere Farben als Weiß.
Sofern Subpixel-Rendering mit Antialiasing, d. h. Schriftglättung, verbunden wird, tritt als weiterer Effekt eine Kontrastverminderung hinzu. Die Subpixel der Schriftzeichen werden dabei mit unterschiedlich hellen Subpixeln umgeben, so dass für das Auge die Pixeltreppen weiter aufgelöst werden.
Beide Effekte können individuell als angenehm oder störend empfunden werden. Grundsätzlich basieren Subpixel-Rendering und vergleichbare Techniken auf der Tatsache, dass das menschliche Auge Helligkeitskontraste wesentlich besser wahrnehmen kann als Farbunterschiede.
Das nebenstehende Bild macht Subpixel-Rendering im Vergleich zur konventionellen Schriftdarstellung deutlich. Oben wird das herkömmliche Schriftbild gezeigt, unten dasjenige mit ClearType. Links sieht man die normale Darstellung, in der Mitte und rechts die um ein Vielfaches vergrößerte. Hierbei kann der Bildschirm der beiden rechten Teilbilder Subpixel darstellen im Gegensatz zu dem der beiden mittleren.

## Abstimmung

Subpixel-Verfahren wie ClearType müssen für jedes Anzeigegerät individuell abgestimmt werden. Insbesondere ist für die Berechnung der Farbabweichungen die Anordnung der Subpixel zueinander entscheidend. Bei den meisten Flachbildschirmen (LCD oder AMOLED) sind die Subpixel horizontal in der Reihenfolge RGB (Rot-Grün-Blau) angeordnet. In selteneren Fällen kommt die Reihenfolge BGR zur Anwendung. Es gibt auch Bildschirme, die gänzlich andere Anordnungen verwenden, wie z. B. vertikale oder oktogonale Anordnungen (ähnlich der Anordnung von Bildpunkten in den meisten Röhrenbildschirmen), mehr grüne als rote und blaue oder gar zusätzliche weiße Subpixel.
Der für das Subpixel-Rendering verwendeten Software muss die Anordnung der Subpixel bekannt sein. Andernfalls werden die falschen Subpixel abgeschwächt, und die Kante erscheint unschärfer als zuvor. Außerdem sind manche Monitore mit Streufolien ausgestattet, die die Helligkeit der Subpixel auf das ganze logische Pixel verteilen. Viele Desktop-Umgebungen bieten daher die Möglichkeit, dem System die tatsächliche physikalische Anordnung der Pixel mitzuteilen.

## Abstimmung unter Windows

Unter Windows kann Cleartype auf folgende Art und Weise konfiguriert werden:
* Es kann komplett ein- und ausgeschaltet werden.
* Als Pixelanordnung werden RGB- wie BGR-Pixel unterstützt. Andere Pixelgeometrien wie auch hochkant gedrehte Monitore werden weder erkannt noch unterstützt (betrifft XP, Vista, 7, 8/8.1 und 10).
* Es kann zwischen Subpixelrendering, reinem Antialiasing und einer Mischung aus beiden ausgewählt werden (ClearType Level: 0 … 100)
* Vertikal Antialiasing kann zugeschaltet werden.
* Der Gamma-Faktor des Displays kann angegeben werden (Gamma: 1800 … 2200).
* Schrift kann in unterschiedlichen Dicken gerendert werden (Enhanced Contrast: 0 … 100).
Ansonsten sind noch folgende Dinge zu beachten:
* Text-Rendering mit ClearType ist etwas langsamer als ohne.
* ClearType wird nur für kleine Schriftgrößen verwendet.
* Worte dürfen nicht als einzelne Buchstaben gerendert werden, es entstehen sonst bei leicht überlappenden Buchstaben Fehler.
* Das vor allem in 16-Farben-Modi beliebte Schreiben von Schriften mit der XOR-Operation führt zu fehlerhaften Ergebnissen.
* Das Ergebnis von ClearType unterscheidet sich je nach verwendeter Schnittstelle GDI oder DirectX/Direct2D. Bei letzteren können Buchstaben nicht nur subpixelgerendert werden, sondern auch um Subpixel verschoben werden.

### Abstimmung mittels ClearType Text Tuner

ClearType Text Tuner stellt eine 9 Bildschirmpunkte hohe Schrift dar, die intern mit einer Auflösung von 1/6 Bildpunkt × 1 Bildpunkt gerendert wurde. Die Strichstärke beträgt horizontal 1 Bildpunkte, vertikal 1 1/3 Bildpunkte.
Die Bedeutung der Dialoge bleibt etwas im Dunkeln, daher wird diese hier erläutert.

## Verfügbarkeit

Subpixel-Rendering wird von Mac OS 9 und macOS sowie diversen X-Window-Systemen, der Grafikumgebung für unixartige Systeme, unterstützt. Ab macOS 10.14 „Mojave“ steht Subpixel-Rendering nicht mehr zur Verfügung, da die Rendering-Pipeline des Betriebssystems dies nicht mehr unterstützt.
ClearType ist für Windows XP, Windows Server 2003, Windows Vista und Windows Mobile seit 2003 verfügbar.
Beim Drehen von Bildschirmen von der üblichen Breitformatdarstellung in die Hochformatdarstellung ändert sich die Pixelanordnung. Windows XP, Windows Vista und Windows 7 berücksichtigen dies nicht und führen dadurch zu einer schlecht lesbaren, mit deutlichen Farbrändern versehenen Darstellung. Sie beherrschen nur horizontale RGB- und BGR-Anordnungen. Bei Windows Mobile wird Cleartype deaktiviert, wenn das Gerät gedreht wird.

## Kritik

In Internetforen und Blogs werden Nachteile von Subpixel-Rendering diskutiert. Webdesigner stellen fest, dass sich die Schrift in einem vorgegebenen Layout um einige Pixel verschieben und dann ein anderes Layout notwendig machen kann. Dieses Problem kann auch aus anderen Gründen auftreten – beispielsweise bei Verwendung einer anderen Schriftart, der Inanspruchnahme der Browser-Zoom-Funktion oder der Nutzung einer wesentlich anderen Bildschirmauflösung –, so dass als Ursache nicht das Subpixel-Rendering angesehen werden sollte, sondern der Wunsch der Webdesigner nach pixelgenauem Seitendesign. Dafür werden teilweise zusätzliche browserabhängige CSS-Stilbeschreibungen angelegt, die man mit neuen Webbrowsern und aktuellen W3C-Standards reduzieren wollte.
Bei senkrechten Kontrastlinien (z. B. „I“-Strich bei Schwarz-auf-Weiß-Darstellung) sind durch das subpixelspezifische Rendering von Helligkeitswerten manchmal deutliche Farbschatten zu erkennen, die sich ähnlich wie unsaubere Farbüberdrucke im Papierdruck bemerkbar machen. Das Problem tritt aber in etwas schwächerer Form auch ohne ClearType auf, denn Farben werden auf Flüssigkristallbildschirmen immer durch waagerecht nebeneinander liegende Farbpixel aufgelöst. Demzufolge befinden sich die einzelnen Subpixel an unterschiedlichen Orten. Die unscharfe Darstellung kann sich auf die Texterkennung von Bildschirmsoftware auswirken; so ist beispielsweise die Zeichenerkennung von Babylon Translator signifikant eingeschränkt. Dies ist allerdings ein generelles Problem bei jeder Form des Antialiasing.
Weiterhin wird die Darstellung von vielen Benutzern als unscharf empfunden. Das unbewusste Bemühen des Auges, das künstlich unscharfe Schriftbild zu fokussieren, kann zu Ermüdungserscheinungen und Kopfschmerzen führen.
* TFT-Bildschirm ohne Subpixel-Rendering
* TFT-Bildschirm mit aktiviertem ClearType
* Bildschirm mit Subpixeln bei einer PSP-2000 und PSP-3000