Вы находитесь на странице: 1из 30

Next-gen 3D Android:

,
Developer Technologies Engineer,
NVIDIA


High-end Android
API Android

Android

?
? ? , ?
? ? , ?

?
? ?
//?

Android ?
clair (2.1) Froyo (2.2)?
Gingerbread (2.3) ?

HW-?
3

High-end Android
:
, PC
,
,

Android
Android- Java
, Java


;
,


, ,

5

NDK:
-
Gcc ARM
Windows, Linux Mac OS

API
Android,

Android API

JNI Java Native Interface


Android Java!

NDK:
NDK Linux
Android

POSIX API

NDK Java
Android
Java
Android Java-
Java
Android


IDE ( Eclipse)
7

Android SDK
Android SDK :
, ( ,
)
API, C/C++ ( , )
,
( , )

. .

Android ( 1 2011)
Android

Honeycomb

(3.1)

0.3%

Honeycomb

(3.0)

0.3%

Gingerbread

(2.3.x)

9.2%

Froyo

(2.2)

64.6%

Eclair

(2.0/2.1)

21.2%

Eclair

(1.6,1.5)

4.4%

^ "Platform Versions". Android Developers.


http://developer.android.com/resources/dashboard/platform-versions.html.
"based on the number of Android devices that have accessed Android Market
within a 14-day period ending on the data collection date noted below"

Android 2.1/2.2 (clair/Froyo)


(C/C++):

SDK API 7-8+

POSIX threads, , math,


OpenGL ES 2.0
(2.2) CPU

:
EGL



UI

10

(2.1)
( ~50MB)
(2.2) (SD-)

Android 2.3 (Gingerbread)


SDK API 9+

(C/C++):
(NativeActivity)
OpenSL ES
EGL! ( 3D)

(, )
(, , )

Java-
( )
clair Froyo
11

NativeActivity
API 9 (Gingerbread) NativeActivity

100%
C/C++
Java
native_app_glue!

12

Dalvik (Java)
Java:


UI
API

13

14

:
:

(, , , ...)
(OpenGL ES)
-/

15


Android
:
Windows
Linux
Mac OS

Eclipse IDE

NVIDIA DevTech
Android-

16




POSIX-, !
Android
,
Android 2.3 wchar_t
2.3 migrating existing code

C++ STL
(
Android)

17

: !
Android- XML-
,
Java- ..

- , :
INTERNET ?
WRITE_EXTERNAL_STORAGE? SD-

Java-,

http://developer.android.com/reference/android/Manifest.permission.html
18


, NVIDIA Tegra,


19



OpenGL ES (GLES, ES) 3D API Android
ES
PC

OpenGL ES 1.x 2.0


Next-gen ES 2.0
ES 2.0

OpenGL ES PC!
Linux/Windows OpenGL ES

20

PC OpenGL ES2
Android GLES2

!

Android
Windows/Linux
EXT_create_context_es2_profile
ES2 PC
,

Android

21


:
Java: !
: ...

:
gdb/gdbserver
Java/Native
gdbserver NDK

Android 2.3


...
22

NVIDIA
Eclipse,
C/C++ Tegra
Java

NDK

Windows 7
Mac OS X
Linux

23

:

/
- ( )



(CPUs, GPU, )

24

3D-


,

25

OpenGL ES:
EGL API
OpenGL ES
EGL
,




-

26


!
ETC1
alpha-

RGBA-
GPU:
DXT3/5 (S3TC)
PVRTC
ATITC

,

Android Market
27

Android Market
,

<supports-gl-texture>

<uses-feature> :
openGlEsVersion: OpenGL ES (, ES 2.0)
android.hardware.touchscreen.multitouch.distinct:

android.hardware.touchscreen.multitouch.jazzhand:
>=5

28




NDK
API/SDK/




, , ..
!

,

29

iTERENTIEV@NVIDIA.COM

30