Text-Rendering in CSS, was ist das? und wie man es benutzt?

8

Ich habe einen Artikel zu text-rendering in css gelesen.

Laut diesem Blog:

  

Mit der Eigenschaft text-rendering in CSS können Sie die Qualität von auswählen   Text über Geschwindigkeit (oder umgekehrt) ermöglicht Ihnen die Feinabstimmung der Optimierung   indem ich dem Browser vorschlage, wie er Text auf dem   Bildschirm. Es stellt der Rendering-Engine Informationen zur Verfügung, um was zu tun   Optimieren für das Rendern von Text. Der Browser macht Kompromisse zwischen   Geschwindigkeit, Lesbarkeit und geometrische Präzision.

Auch ist es jetzt für Optimierungszwecke nützlich, um die Seitenladezeit zu verringern, wie dort erwähnt. Aber einige Begriffe verwirrten mich beim Lesen dieses Artikels und ich dachte, dass Experten hier diese Begriffe zum besseren Verständnis ausarbeiten würden. Also hier sind diese Begriffe:

  • Was ist mit Rendering gemeint? wie es gemacht wird (in Bezug auf CSS)?

  • Was ist Lesbarkeit?

  • Kann jemand bitte zwischen optimizeLegibility und optimizeSpeed unterscheiden? Wie und wo sollte jeder von ihnen oder beides verwendet werden?

Auch außer IE jeder Browser unterstützt diese Eigenschaft, So einfach 81.0% der Welt wird kein Problem haben, es zu benutzen. Deshalb stelle ich diese Frage, um das Verständnis dieser Konzepte zu klären.

    
Vedant Terkar 19.07.2014, 08:49
quelle

1 Antwort

10
  

Was ist mit Rendern gemeint? wie es gemacht wird (in Bezug auf CSS)?

Ich würde sagen, "Rendern" entspricht in etwa der Anweisung, was sollte sein sollte und materialisiert es in etwas Greifbares (in diesem Fall Pixel auf einem Display).

"Rendern" umfasst viel mehr als nur Text , wenn Sie über einen Webbrowser sprechen. Beim Rendern sind viele Komponenten und Stufen beteiligt.

Das Text-Rendering beeinflusst das Layout (Breite, Höhe, Zeilenumbruch usw.) und beeinflusst das Malen ("zeichne diese Pixel und / oder diese Zeichenkette").

Was rendert den Text?

Hier ist ein interessantes Zitat vom IE-Team, das erklärt, wie der Prozess in IE9 + gemacht wird:

  

Zusätzlich zur überragenden Textpositionierung, Internet Explorer 9 auch   bietet hardwarebeschleunigten Text. Die Aufgabe, sowohl Text als auch   Grafik wurde von der Zentraleinheit (CPU) und   auf die Grafikverarbeitungseinheit (GPU). Dies wird erreicht mit   sowohl DirectWrite als auch Direct2D-Teil der DirectX-Familie von   APIs - mit denen Internet Explorer 9 die zugrunde liegende Hardware verwenden kann   durch Windows.

Quelle

Dies ist ein häufiges Thema unter den meisten (allen?) Browsern: Sie geben die letzte (n) Stufe (n) ihres Text-Renderings an eine darunterliegende Ebene weiter, die näher am Gerät selbst liegt.

Zum Beispiel verwendet Webkit eine GraphicContext Abstraktion, um mit dem Betriebssystem zu sprechen. ( Ausgezeichnete Diskussion über Rendering in WebKit ). Jedes Betriebssystem kann eine andere Implementierung haben. Und jeder Port von WebKit kann anders sein .

Das bedeutet nicht, dass die Rendering-Engine den darunter liegenden Layern keine detaillierten Hinweise / Anweisungen geben kann. Es bedeutet , dass die Ergebnisse je nach Hardware, Betriebssystem, Browser und Schriftarten variieren.

Lesbarkeit

  

Was ist Lesbarkeit?

"Die Qualität, klar genug zu sein, um zu lesen" ( Quelle ) oder "Lesbarkeit ist der Grad welche Glyphen (einzelne Zeichen) im Text aufgrund des Aussehens verständlich oder erkennbar sind. " ( Quelle )

Dies stimmt mit der Beschreibung von optimizeLegibility überein:

  

Der Browser betont Lesbarkeit gegenüber Rendering-Geschwindigkeit und geometrisch   Präzision. Dies ermöglicht Kerning und optionale Ligaturen.

Mit anderen Worten, der Browser (über die Rendering-Engine) kann zusätzliche Schritte unternehmen, um Text in einer Weise anzuzeigen, die leichter zu lesen und / oder visuell ansprechender ist.

Es kann zusätzliche Ligatur Informationen verwenden, die in der Schriftart enthalten sind, und es kann den Abstand zwischen Buchstaben anpassen ( Kerning ).

Unterschiede

  

Kann bitte irgendjemand zwischen optimizeLegibility und unterscheiden   optimizeSpeed?

Qualität (Lesbarkeit) gegenüber Menge (Geschwindigkeit, dh Anzahl der Zeichen, die in einem bestimmten Zeitraum gerendert werden).

  

optimizeSpeed: Der Browser betont die Rendergeschwindigkeit gegenüber der Lesbarkeit und geometrischen Genauigkeit beim Zeichnen von Text. Es deaktiviert Kerning und   Ligaturen.

     

optimizeLegibility: Der Browser betont Lesbarkeit gegenüber Rendering-Geschwindigkeit und geometrische Präzision. Dies ermöglicht Kerning und optional   Ligaturen.

Quelle

  

Wie und wo sollte jeder von ihnen oder beide verwendet werden?

Nur einer von ihnen (falls vorhanden) sollte verwendet werden. Persönlich würde ich nur text-rendering angeben, nachdem ich gesehen habe, dass es sich positiv ausgewirkt hat und auf allen Geräten gut funktioniert hat (was eine entmutigende Aufgabe ist).

  

Auch außer IE unterstützt jeder Browser diese Eigenschaft, also einfach 81.0%   der Welt wird kein Problem haben, es zu benutzen.

Ich denke, dass diese Aussage zu optimistisch sein kann. Berücksichtigen Sie auch nicht den Internet Explorer, der aufgrund seiner engen Hardwareintegration den Text oft sehr gut darstellt.

    
Tim Medora 19.07.2014, 09:50
quelle

Tags und Links