Redefining Mobile Graphics Stack

Preview:

Citation preview

Redefining MobileRedefining MobileGraphics StackGraphics Stack

Ariya Hidayat

whoami

ariya hidayat

10+ years activity in FOSS

was with Nokia, Qt

now with Qualcomm Innovation Center

goals

Share ideas!

Provoke brainstroming!

share the love

gitorious.org/qt-labs/graphics-dojo

gitorious.org/ofi-labs/x2

hot devices

iPhone 3GS

iPhone OS 3.1

320 × 480, 163 ppi

OpenGL ES 2

Nexus One

Android 2.1

480 × 800, 252 ppi

OpenGL ES 2

Nokia N900

Maemo 5

800 × 480, 267 ppi

OpenGL ES 2

pixel control

line drawing

Bresenham line algorithm

anti-aliased line drawing

Xiaolin Wu's line algorithm

polygon rasterization

path rasterization

transformation

Scaling Rotation Perspective

perspective transformation

optimizations

blazing fast recipes

● alternative/faster code path● avoid text layout whenever possible● malloc-free common operations● auto-adjustment of quality vs speed

hardware support & abstraction

pixmap GLtexture VGImage

layer display list

FBO

VGPath

optimize further with smart caching

use-cases guided profiling

cairo-trace –profile app

cairo-perf-trace painting.trace

app -graphicssystem trace

qttracereplay painting.trace

multithreaded painting

multithreaded painting

efficient animation

goodies

color spaces

high-dynamic range

Dean S. Pemberton

Old St Paul’s

special effects

lighting & shadow

night mode

geometrical deformation

underwater effect

remember Quake 1?

genie

(perceptive) faster response

SVG up- and down-scaling

optimize using tiles

progressive zoom

user clicks “Zoom 2x”

fast but “blocky”

smooth scaled

shape morphing

analog clock

digital clock

physics

kinetic scrolling

Steady

Pressed

Manual Scroll

Auto Scroll

Stop

Mouse release

Mouse move

Mouse release

Mouse press

Mousemove

Timer tick

easing curve

EaseInOutLinear

acceleration

deacceleration

parallax effect

2.5 dimension

215 lines of code

2-d physics engine

photo slide

network ubiquity

distributed system (autoreplication?)

in some remote machine

assistive technology

element tagging

clock

weather

contact

launcher

autozoom

voice recognition (for driving?)

spread the love

gitorious.org/ofi-labs/x2

muito obrigado!

Recommended