You are on page 1of 33

| 1

Adreno Graphics and Tools


Brent Sammons
Product Manager, Qualcomm

Jamieson Pryor
Engineer, Qualcomm
| 2

CPU
BLUETOOTH

MODEM

GPS

MEMORY

WI-FI

RF

SENSORS

MULTIMEDIA

ADRENO GPU

CONNECTIVITY
ENGINE

POWER
MANAGEMENT

| 3

Snapdragons Embedded Adreno Graphics


Augmented Reality
Shipping in 3D Android smartphones
CPU

Adreno
GPU

Modem

Other

Soon to ship with Windows Phone 7


Robust graphics development tools
Top OpenGL ES 2.0 shader architecture
Rockem Sockem Robots
Mattel

Excellent user experience

Popular 3D Games

Assassins Creed
Altars Chronicles
Gameloft

EA Sports FIFA 10
Electronic Arts

Heavy Gunner 3D
Com2US

Glyder 2
GLU

Immersive 3D Android UI

Raging Thunder 2
Polarbit

Reckless Racing
Pixelbite

3D World
Qualcomm

Deep Sea UI
Qualcomm

| 4

Qualcomms Adreno GPUs

OGLES 1.0

OGLES 2.0

Complex Shader Effects


(Lights, Depth Saturation)

2D Hardware

Heavy Geometry
Advanced Shader Effects
(HDR Over Brightness)

Larger Displays
Qualcomms Deep Sea UI
| 5

Application Segments for Mobile GPUs


User Interfaces

Navigation

Web Browser

Games

Google Chrome OS
Internet Explorer
WebKit

| 6

Qualcomm Chipsets vs Game Device Performance


2007 - 2008

ADRENO 130
GPU: OpenGL ES 1.0
CPU: ARM11

2009 - 2010

2011- 2013

ADRENO 2xx

ADRENO 3xx

GPU: OpenGL-ES 2.0


CPU(s): > 1GHz CPU

GPU: OpenGL-ES Halti


GPGPU: OpenCL 1.1
CPU(s): Multi-core CPU

45nm

65nm

Similar Game Performance:

N-Gage

Similar Game Performance:

28nm

Similar Game Performance:

PSP
PS2

Nintendo DS

Apple iPhone
3GS

Wii

XBOX 360

PS3

| 7

Adreno Graphics Demos

| 8

Adreno 200 Gaming Demo


Console Quality
Graphics Performance
with Qualcomm

| 9

Adreno 205 Gaming Demo

| 10

Adreno Graphics Ecosystem and Tools

| 11

Qualcomms Developer Ecosystem

3D Content Samples

Adreno Graphics Profiler

Electronic Arts
Gameloft
glu
ideaworks3D
Polarbit
Southend
And More

Adreno Graphics
Content Optimizers

3D Game Demos

Game Developers

Advanced Tools

Demos & Content Samples

Developer Support

developer.qualcomm.com
| 12

Qualcomms 3D Content Creation Tools

Adreno Texture Converter


Texture Optimization

Qstrip
3DSMax, Maya, Photoshop

Mesh Optimization

Adreno Libraries

Adreno GPU Shader Analyzer

Develop/Code

Shader Optimization

Adreno Profiler
On-device Real Time and Debug Mode

Adreno SDK
Unified OpenGL ES 1.0 , 1.1, 2.0, and OpenVG

| 13

SVG Authoring Tools


Graphic concept &
Schematics

Graphics Creation

Animate for
Different Events

Adobe Illustrator, CorelDraw,


Photoshop etc.

Adreno SVG Animator

Adreno SVG Animator (Binary):


Animation of the graphics for
different events (focus-in, focusout, activate, back etc)

Prototyping, Development,
Device integration
Emulation and Test

Adreno SVG IDE

Adreno SVG Player


(on-Device Component)

Adreno SVG IDE (Binary):


Import of graphic assets
Creation of application logic
Emulation and test using Enrich
Runtime on PC

Options

Options

Example: Button scaled up on focus-in


| 14

Graphics Performance tuning with


Adreno Profiler
Jamieson Pryor
Engineer, Qualcomm
| 15

Adreno Profiler Introduction


What is Adreno Profiler?
Graphics performance analysis tool for
3D content
Integrated into the Qualcomm graphics
driver

Who is using it?


Primarily designed for 3D content
developers
Qualcomm uses it internally, as well as
distributing to customers and 3rd party
content developers

| 16

Adreno Profiler Motivation


Why use Adreno Profiler?

GPU optimization is difficult


Many different factors can impact performance on a graphics chip
Difficult to find without a profiler

Adreno Profiler has a competitive range of features for


optimization
e.g. Hardware based performance counters, per-render call metrics, shader
prototyping (with immediate deployment to device), among many others

Fast experimentation with Adreno Profiler

Developers can find problems and improvements quickly


Visualizing bottlenecks is easier allowing faster optimization
Quickly prototype changes without any modification to their application

| 17

Using Adreno Profiler


How does Adreno Profiler connect to the device?

Connects to the target device through a USB connection

What does it cost?

No fee to download tool!


Go to www.qdevnet.com (requires simple log-in/account set up)

What platforms do we support?

Brew (Brew Mobile Platform support coming), Windows Mobile 6.1, 6.5,
Android (Cupcake, Donut, clair, Froyo) and Linux LE on Qualcomm chipsets
Client runs on PCs with Windows XP or Windows 7 and requires a graphics card
supporting OpenGL shader model 2.0 or later

| 18

Profiling Techniques
Discovering Problems and Validating Their Impact

| 19

Discovery
Where Are the Problems in Your Application

| 20

Profiling Modes
Adreno Profiler has two different modes for
discovering problems in your application
Scrubber Mode
Provides detailed information regarding a specific call trace

Grapher Mode
Provides real time metrics gathered directly from the device

| 21

Scrubber Mode
Scrubber allows you to capture an entire call
trace and inspect individual calls among other
features

Heat graph mode

Overdraw visualization
Binning configurations
Mipmap usage
Real time shader overrides

Visualize exactly which calls are the most expensive

Override shaders on PC and on target to


visualize shader changes and see their impact
on performance

Inspect alpha, color, and depth channels


Platform specific optimizations generated
from your call trace
And much more

| 22

Grapher Mode
Adreno Profiler can plot real time metrics
captured from the device

FPS
GPR usage
CPU statistics
And much more

Apply overrides real time


Send overrides to the device to
experiment where your bottleneck might
be
Combined with the Grapher, figure out if
your assumptions are correct

| 23

Validation
Decide if Your Discovery Is Worth Optimizing

| 24

Validation
Finding the problem is half the battle
Adreno Profiler can help you understand how much you gain by
optimizing a problem

Whats the point in optimizing your graphics pipeline if youre CPU bound?
Overrides: Very powerful validation method; disable or enable features rapidly
on target
Combining overrides with the Grapher: Gives you a quick idea of the gains
you may see from optimizing or removing a feature from your application

| 25

Live Demo
Putting it all Together

| 26

Conclusion

| 27

Conclusion
Adreno Profiler provides a fast way to profile your 3D
applications on Qualcomm chipsets
Developers can discover where the problems are and
validate that the problem is worth fixing
Profiler is available on www.qdevnet.com
No fee to download tool; requires simple log-in/account
set up

| 28

Q&A

| 29

Thank You

| 30

Trademarks
2010 QUALCOMM Incorporated. All Rights Reserved
Brew and the Qualcomm logo are registered trademarks of Qualcomm Incorporated in the
United States and may be registered in other countries
Adreno, Brew MP, the Brew MP logo, Snapdragon, the Snapdragon logo and Trepn are
trademarks of Qualcomm Incorporated
Certain other product names, brand names and company names mentioned in this
presentation may be trademarks of their respective owners, including, without limitation the
following:
Android, Nexus One and Chrome are trademarks of Google, Inc.
Windows Phone, Windows Mobile, Silverlight and the Windows Phone logo are
trademarks of Microsoft Corporation.
Open GL ES is a trademark of Silicon Graphics, Inc.
Rockem Sockem Robots is a trademark of Mattel Inc.
Open CL is a trademark of Apple Inc.
ARM is a trademark of Arm Ltd.
N-Gage is a trademark of the Nokia corporation
PSP, PS2 and PS3 are trademarks of Sony Computer Entertainment Inc.
Wii and Nintendo DS are trademarks of Nintendo Co., Ltd.
iPhone is a trademark of Apple Inc.
| 31

Trademarks

XBOX 360 is a trademark of the Microsoft Corporation


Southend Interactive is part of the Tactel group. Tactel is a trademark of Invista
Technologies
Electronic Arts is a trademark of Electronic Arts, Inc.
glu is a trademark of Glu Mobile, Inc.

| 32

Disclaimer
Nothing in these materials is an offer to sell any of the components or devices referenced
herein. Certain components for use in the U.S. are available only through licensed
suppliers.
Some components are not available for use in the U.S. In the territory of the Federal
Republic of Germany, the use of the term "Smartbook" in connection with portable
computers is reserved exclusively to Smartbook AG, Germany.

| 33
3/3/09