• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,056
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
4
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Android3.0 Honeycomb High-performance 2D and 3D graphics Support for multicore processor architectures Rich multimedia and connectivity2011 7 12
  • 2. Who am I ? TOSHIHIRO YAGI Market: Blog: http://visible-true.blogspot.com/ Twitter: @sys1yagi2011 7 12
  • 3. http://www.flickr.com/photos/bistrosavage/1313589/ High-performance 2D and 3D graphics2011 7 12
  • 4. Animation Framework http://www.flickr.com/photos/kudumomo/2354710896/2011 7 12
  • 5. android.animation interface class • Animator.AnimatorListener • Animator • LayoutTransition.TransitionListener • AnimatorInflator • TimeInterpolator • AnimatorListenerAdapter • TypeEvalutor • AnimatorSet • ValueAnimator.AnimatorUpdateListener • AnimatorSet.Builder • ArgbEvalutor • FloatEvalutor • IntEvalutor • Keyframe • LayoutTransition • ObjectAnimator • PropertyValueHolder • ValueAnimator2011 7 12
  • 6. • (100,100) ValueAnimator AnimationUpdateListener duration:1000 onAnimationUpdate(ValueAnimator animator){ from:0 value = (Float)animator.getAniamtionValue(); to:100 x = initialX + (value*2); y = initialY + value; invalidate(); (300,200) }2011 7 12
  • 7. • ObjectAnimator • ViewGroup LayoutTransition • TypeEvaluator • ( ) Keyframe • AnimatorSet2011 7 12
  • 8. Hardware accelerated 2D Graphics http://www.flickr.com/photos/uriba/2228346515/2011 7 12
  • 9. • AndroidManifest.xml 2D <application android:hardwareAccelerated=”true” /> <activity android:hardwareAccelerated=”true” /> OpenGL2011 7 12
  • 10. • View onDraw 1002011 7 12
  • 11. • =false 20msec • =true 4msec 5 SurfaceView2011 7 12
  • 12. • SurfaceView H/W etc...2011 7 12
  • 13. View support for hardware and software layers View http://www.flickr.com/photos/zooboing/4310581954/2011 7 12
  • 14. • View setLayerType(int) LAYER_TYPE_HARDWARE • OpenGL LAYER_TYPE_SOFTWARE • Bitmap2011 7 12
  • 15. Renderscript 3D graphics engine http://www.flickr.com/photos/arenamontanus/3359137341/2011 7 12
  • 16. Youtube2011 7 12
  • 17. android.renderscript • 3D •C • CPU,GPU ScriptC_A.java RenderScript A.d A.rs llvm-rs-cc.exe RenderScript RenderScript A.bc RenderScript2011 7 12
  • 18. • • • • • NDK,OpenGL2011 7 12
  • 19. • RenderScript • • OpenGL OpenGL2011 7 12
  • 20. http://www.flickr.com/photos/mccheek/1471251914/ Support for processor multicore processor architectures2011 7 12
  • 21. Support for multicore processor architectureshttp://www.flickr.com/photos/fancy-diamonds/5511634443/2011 7 12
  • 22. •Android3.0 •Dalvik VM Bionic •2011 7 12
  • 23. 2011 7 12
  • 24. • final long start = SystemClock.uptimeMillis(); Thread[] threads = new Thread[count]; for (int i = 0; i < threads.length; i++) { threads[i] = new Thread(){ public void run() { int items = 0; for (int j = 0; j < Integer.MAX_VALUE; j++) { items = j; } Integer.MAX_VALUE }; }; threads[i].start(); } count for(int i = 0; i < threads.length; i++){ try{ threads[i].join(); }catch(Exception e){ throw new RuntimeException(" "); } } final long end = SystemClock.uptimeMillis() - start;2011 7 12
  • 25. HTC-Desire • CPU:1GHz Qualcomm® QSD8250 Snapdragon® • : 576MB2011 7 12
  • 26. HTC-Desire2011 7 12
  • 27. Optimus Pad • CPU:NVIDIA® Tegra™2 1GHz x 2 • : 1GB2011 7 12
  • 28. Optimus Pad 22011 7 12
  • 29. 2011 7 12
  • 30. • 3 4 HTC-Desire Optimus Pad 3 95294msec 33803msec 4 125017msec 43280msec2011 7 12
  • 31. http://www.flickr.com/photos/krayker/2268587409/ Rich multimedia and conectivity media2011 7 12
  • 32. Time lapse video http://www.flickr.com/photos/skyseeker/312716886/2011 7 12
  • 33. • http://www.flickr.com/photos/sketch-book/41095087/ http://www.flickr.com/photos/sketch-book/35507705/2011 7 12
  • 34. • MediaRecoder setProfile(CamcorderProfile) setCaptureRate(double fps) MediaRecorder recoder = new MediaRecorder(); recoder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recoder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P)); recoder.setCaptureRate(fps); recoder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.mp4"); recoder.setPreviewDisplay(holder.getSurface()); recoder.prepare(); recoder.start();2011 7 12
  • 35. • 1 • =1 4 20 52011 7 12
  • 36. getSupportedPreviewFpsRange() getSupportedPreviewFrameRates() • android.hardware.Camera.Parameters Optimus Pad : :4 35 : 5,10,15,20,24,25,302011 7 12
  • 37. Texture support for image streams http://www.flickr.com/photos/romanywg/4065904913/2011 7 12
  • 38. android.graphics.SurfaceTexture • OpenGL OpenGL2011 7 12
  • 39. 2011 7 12
  • 40. mTextureID = textures[0]; GLES20.glBindTexture(0x8D65, mTextureID); camera = Camera.open(); SurfaceTexture surfaceTexture = new SurfaceTexture(mTextureID); Parameters param = camera.getParameters(); Size size = param.getPreviewSize(); camera.setPreviewTexture(surfaceTexture); camera.startPreview();2011 7 12
  • 41. HTTP live streaming http://www.flickr.com/photos/nikonvscanon/2081397439/2011 7 12
  • 42. • HTTP live streaming draft protocol • m3u URL MediaPlayer2011 7 12
  • 43. 2011 7 12
  • 44. path = "http://std1.ladio.net:8060/i-j-y-u-i-n--.m3u"; mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);2011 7 12
  • 45. EXIF data http://www.flickr.com/photos/qubodup/4094723007/2011 7 12
  • 46. EXIF • Exchangeable Image File Format JPEG etc... http://www.flickr.com/photos/krasi/2462179084/2011 7 12
  • 47. • (TAG_APERTURE) • (TAG_EXPOSURE_TIME) • ISO (TAG_ISO) android.media.ExifInterface2011 7 12
  • 48. Camcorder profiles http://www.flickr.com/photos/picken/5283258818/2011 7 12
  • 49. android.media.CamcorderProfile Added Fields Added Methods int QUALITY_1080P boolean hasProfile(int)  int QUALITY_480P boolean hasProfile(int, int) int QUALITY_720P int QUALITY_CIF int QUALITY_QCIF int QUALITY_TIME_LAPSE_1080P int QUALITY_TIME_LAPSE_480P int QUALITY_TIME_LAPSE_720P int QUALITY_TIME_LAPSE_CIF int QUALITY_TIME_LAPSE_HIGH int QUALITY_TIME_LAPSE_LOW int QUALITY_TIME_LAPSE_QCIF2011 7 12
  • 50. Digital rights management (DRM) http://www.flickr.com/photos/ideonexus/5176340670/2011 7 12
  • 51. DRM API • Java API • DRM 3.0 Optimus Pad 3.1 XOOM Widevine DRM plug-in2011 7 12