optimization under palm's 3d hardware

Post on 18-Jan-2015

2.210 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Chris Tremblay discusses optimizing 3d applications for webOS hardware.

TRANSCRIPT

Optimization Under Palm’s 3D Hardware

Christopher TremblayPrincipal Engineer, Graphics &

GamingApril 23, 2010

Who Should Be Here?

•Hardware specs•3D vs. 2D•OpenGL-ES 1.x vs. 2.x•Feature difference between Pre & Pixi•Desktop emulation story•3D frameworks

Short: If you have on a suit today, you can probably leave.

Source: Data placeholder

thetheUnder Hood

Palm® Pre™/Palm Pre Plus

•600MHz ARM Cortex A8•Neon SIMD, VFP, ARMv7

•110MHz Imagination SGX530•256MB RAM (512MB for Plus)•8GB Flash (16GB for Plus)•320x480x24 resolution•Recognizes up to 5 fingers•3-axis (xyz) accelerometer•Wi-Fi 802.11b/g•3.2 megapixel camera

Hardware specs

Palm® Pixi™/Palm Pixi Plus

•600MhHz Qualcomm MSM7627•VFP, ARMv6

•192MHz Qualcomm Adreno 200•256MB RAM•8GB Flash•320x400x18 resolution•Recognizes up to 5 fingers•3-axis (xyz) accelerometer•Wi-Fi 802.11b/g (Pixi Plus)•2.0 megapixel camera

Hardware specs

Pre 3D Chip vs. Pixi 3D ChipComparing the details of a GPU core

Units

Source: Palm Inc

1800

1600

1400

1200

1000

800

600

400

200

0ShaderClock

Shaderops/s

MemoryBandwidth

Texture FillRate (nearest)

Texture FillRate (linear)

CPU TransferRate

textImage2Drate

PixelClock

Palm Pre

Palm Pixi

CPU (SDL)CPU (SDL)

High count of High count of individual blitzindividual blitz

“To Be 2D or Not to Be”When does it make sense to use OpenGL to draw 2D?

Require pixel Require pixel manipulationsmanipulations

Set of sprite Set of sprite orthogonal blitzorthogonal blitz

GPU (OpenGL-ES)GPU (OpenGL-ES)

Need a lot of CPU for Need a lot of CPU for computationscomputations

““Effect” HeavyEffect” Heavy

Fast scalable appFast scalable app

OpenGL-ES 1.x vs. OpenGL-ES 2.x

1.x1.x

Know nothing about Know nothing about shaders and don’t wantshaders and don’t want

Which API best suits your needs?

Save time vs. writing Save time vs. writing your own shadersyour own shaders

Porting to 1.x is a big Porting to 1.x is a big dealdeal

2.x2.x

Need the flexibility of Need the flexibility of shadersshaders

NPOT texturesNPOT textures

SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, <VERSION>);

All future hardware will support All future hardware will support ≥≥ OpenGL-ES 2.x.OpenGL-ES 2.x.

Pre & Pixi 3D hardware featuresWhat's the difference?

Texture Compression

NPOT Support

VBO vs VBA

Shader Binary

Packed Depth/Stencil

Desktop SimulationGoal: 0 platform-specific line of code

DeviceDevice

OpenGL OpenGL ES ES

1.1/2.01.1/2.0

DesktopDesktop

PDLPDLSDLSDLC/C++C/C++

Hardware graphicsHardware graphicsHardware graphicsHardware graphics

ApplicationApplication ApplicationApplication

OpenGL OpenGL 3.x3.x PDLPDLSDLSDLC/C++C/C++

GLEEGLEE

Linux KernelLinux KernelWindows/Mac/LinuxWindows/Mac/Linux

ARM CPUARM CPUx86 CPUx86 CPU

What 3D Frameworks Can Run?Short: Pretty much any…

Unreal Tournament3 Engine (running)

Ogre

Irrlicht

Edgelib

Unity

developer.palm.com

&Q A

top related