Optimization Under Palm's 3D hardware


Published on

Chris Tremblay discusses optimizing 3d applications for webOS hardware.

Published in: Technology
  • Be the first to comment

Optimization Under Palm's 3D hardware

  1. 2. Optimization Under Palm’s 3D Hardware <ul><ul><li>Christopher Tremblay </li></ul></ul><ul><ul><li>Principal Engineer, Graphics & Gaming </li></ul></ul><ul><ul><li>April 23, 2010 </li></ul></ul>
  2. 3. Who Should Be Here? <ul><li>Hardware specs </li></ul><ul><li>3D vs. 2D </li></ul><ul><li>OpenGL-ES 1.x vs. 2.x </li></ul><ul><li>Feature difference between Pre & Pixi </li></ul><ul><li>Desktop emulation story </li></ul><ul><li>3D frameworks </li></ul>Short: If you have on a suit today, you can probably leave. Source: Data placeholder
  3. 4. the Under Hood
  4. 5. Palm ® Pre™/Palm Pre Plus <ul><li>600MHz ARM Cortex A8 </li></ul><ul><ul><li>Neon SIMD, VFP, ARMv7 </li></ul></ul><ul><li>110MHz Imagination SGX530 </li></ul><ul><li>256MB RAM (512MB for Plus)‏ </li></ul><ul><li>8GB Flash (16GB for Plus)‏ </li></ul><ul><li>320x480x24 resolution </li></ul><ul><li>Recognizes up to 5 fingers </li></ul><ul><li>3-axis (xyz) accelerometer </li></ul><ul><li>Wi-Fi 802.11b/g </li></ul><ul><li>3.2 megapixel camera </li></ul>Hardware specs
  5. 6. Palm ® Pixi™/Palm Pixi Plus <ul><li>600MhHz Qualcomm MSM7627 </li></ul><ul><ul><li>VFP, ARMv6 </li></ul></ul><ul><li>192MHz Qualcomm Adreno 200 </li></ul><ul><li>256MB RAM </li></ul><ul><li>8GB Flash </li></ul><ul><li>320x400x18 resolution </li></ul><ul><li>Recognizes up to 5 fingers </li></ul><ul><li>3-axis (xyz) accelerometer </li></ul><ul><li>Wi-Fi 802.11b/g (Pixi Plus)‏ </li></ul><ul><li>2.0 megapixel camera </li></ul>Hardware specs
  6. 7. Pre 3D Chip vs. Pixi 3D Chip Comparing the details of a GPU core Units Source: Palm Inc 1800 1600 1400 1200 1000 800 600 400 200 0 Shader Clock Shader ops/s Memory Bandwidth Texture Fill Rate (nearest)‏ Texture Fill Rate (linear)‏ CPU Transfer Rate textImage2D rate Pixel Clock Palm Pre Palm Pixi
  7. 8. High count of individual blitz “ To Be 2D or Not to Be” When does it make sense to use OpenGL to draw 2D? Require pixel manipulations Set of sprite orthogonal blitz GPU (OpenGL-ES)‏ Need a lot of CPU for computations “ Effect” Heavy Fast scalable app CPU (SDL)‏
  8. 9. OpenGL-ES 1.x vs. OpenGL-ES 2.x Know nothing about shaders and don’t want Which API best suits your needs? Save time vs. writing your own shaders Porting to 1.x is a big deal 2.x Need the flexibility of shaders NPOT textures All future hardware will support ≥ OpenGL-ES 2.x. 1.x SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, <VERSION> );
  9. 10. Pre & Pixi 3D hardware features What's the difference? Texture Compression NPOT Support VBO vs VBA Shader Binary Packed Depth/Stencil
  10. 11. Desktop Simulation Goal: 0 platform-specific line of code OpenGL ES 1.1/2.0 PDL SDL C/C++ Hardware graphics Hardware graphics Application Application OpenGL 3.x PDL SDL C/C++ GLEE Linux Kernel Windows/Mac/Linux ARM CPU x86 CPU Device Desktop
  11. 12. What 3D Frameworks Can Run? Short: Pretty much any… Unreal Tournament 3 Engine (running)‏ Ogre Irrlicht Edgelib Unity
  12. 13. developer.palm.com