Rendering Quality in WebKit's Open Source Graphics Stack Dominik - - PowerPoint PPT Presentation

rendering quality in webkit s open source graphics stack
SMART_READER_LITE
LIVE PREVIEW

Rendering Quality in WebKit's Open Source Graphics Stack Dominik - - PowerPoint PPT Presentation

Rendering Quality in WebKit's Open Source Graphics Stack Dominik Rttsches dominik.rottsches@intel.com 01.org/webkit About WebKit Software Engineer @ Intel Finland, OTC WebKit Committer Specialized in Tizen WebKit's Graphics Backend In


slide-1
SLIDE 1

Rendering Quality in WebKit's Open Source Graphics Stack

Dominik Röttsches

dominik.rottsches@intel.com 01.org/webkit

slide-2
SLIDE 2

About

WebKit Software Engineer @ Intel Finland, OTC WebKit Committer Specialized in Tizen WebKit's Graphics Backend

slide-3
SLIDE 3

In this talk

Define rendering quality WebKit's 2D rendering stack Improvements to Tizen WebKit's rendering quality

slide-4
SLIDE 4

Rendering Quality

Site looks "as intended by the author" Text & graphics look accurate & pleasant Sharp Readable Regular spacing & layout No glitches, artifacts, gaps, irregularities

slide-5
SLIDE 5

"Looks as intended" = Consistency

across platforms and devices across browsers across different screens with look & feel of the operating system

slide-6
SLIDE 6

Great looking fonts and graphics create a great user experience. WebKit Graphics Backend

slide-7
SLIDE 7

WebKit Graphics Backend

... ... WebKit API WebCore JSCore Platform Abstractions

2D Graphics Fonts & Metrics Text Shaping

slide-8
SLIDE 8

... ... WebKit API WebCore JSCore Platform Abstractions

2D Graphics Fonts & Metrics Text Shaping

WebKit Graphics Stacks

2D Graphics Font & Metrics Text Shaping Tizen WebKit Cairo FreeType HarfBuzz NG (ex: Pango) WebKit GTK Cairo FreeType HarfBuzz NG (ex: Pango) Safari CoreGraphics CoreText CoreText Chromium Linux Skia FreeType HarfBuzz NG Chromium Mac Skia CoreText (via Skia) HarfBuzz NG Qt WebKit QPainter Platform dependent HarfBuzz NG

slide-9
SLIDE 9

What could possibly go wrong?

(Downloadable) Fonts Shadows Layout, Scaling and Zooming Precision

slide-10
SLIDE 10

Font Selection & Font Antialiasing Web Fonts & Complex Font Support

slide-11
SLIDE 11

Font Selection & Font Antialiasing Web Fonts & Complex Font Support

slide-12
SLIDE 12

Shadows in CSS and SVG

slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

Baseline Positioning of Text

slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19

Artifacts on Reflections

slide-20
SLIDE 20

Artifacts on Reflections

slide-21
SLIDE 21
slide-22
SLIDE 22

Fractional Units in Layout

4 1 1 1 1

Fractional Units Gone Wrong

slide-23
SLIDE 23

Fractional Units in Layout Fractional Units Gone Wrong Sub-pixel Layout to the Rescue

Keeps account of fractional layout values Takes into account zooming and scaling Lays out web page with fractional precision Renders snapped to device pixels

slide-24
SLIDE 24

Sub-pixel Layout to the Rescue

Keeps account of fractional layout values Takes into account zooming and scaling Lays out web page with fractional precision Renders snapped to device pixels

slide-25
SLIDE 25

What needs to be done right?

Font Selection Font Aliasing Settings Web Fonts & Complex Font Rendering Robust Graphics Backend Layout, Scaling and Zooming Precision

slide-26
SLIDE 26

Great User Experience in Tizen WebKit

High quality font rendering Complex font rendering for web fonts Improvements to Tizen WebKit's graphics backend Sub pixel layout for accurate scaling and zooming