SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Dominik Helleberg / Inovex GmbH


RenderScript in Android 3.x

http://twitter.com/_cirrus_
Ziele / Agenda
•  Konzepte / Vor- und Nachteile von RenderScript
•  Entscheidung für den Einsatz von RS im nächsten Projekt

•  Überblick RS -> APIs, Architektur, Tools
•  RS Basics -> Datenstrukturen, Funktionen
•  Berechnungen mit RS -> Beispiel / Performance
•  OpenGL refresh
•  Grafik mit RS -> Beispiel / Demo
•  Grafik & Berechnungen kombinieren
•  RS im Context von Canvas, NDK & co.
•  Ausblick
RS -> The claim
  „RenderScript offers a high performance 3D graphics
  rendering and compute API at the native level“



  Pros                                  Cons

  •  Portabilität                       •  Complexity
  •  Performance                        •  Debugging / Tools
  •  Usability                          •  less Features



http://developer.android.com/guide/topics/renderscript/index.html
RS Intro / Overview
•  Neue Sprache (basierend auf C99 mit Erweiterungen)
•  Neue APIs (im Java-SDK und in RenderScript)
•  Tools
•  RS in Android 2.1
RS Intro / Overview
•  Seid Android 3.0 öffentlich verfügbar (API LEVEL 11)
RS Basics: Compiler -> Offline
                                                               sepia.bc




   sepia.rs              LLVM-RS-CC                        SciptC_sepia.java




http://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf
RS Basics: Compiler -> Online

                                      libbcc                    GPU
          sepia.bc                                               s




     SciptC_sepia.class

                                     Dalvik JIT                 CPU
                                                                 s




http://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf
RS Basics: APIs
•  Java ->     android.renderscript.*


•  RS ->       *.rsh (RenderScriptHeader)
$ANDROID_SDK/platforms/android-11/renderscript/include/


•  rs_cl.rsh         -> tan, cos, pow
•  rs_core.rsh       -> Utility Funktionen: rsDebug
•  rs_graphics.rsh   -> Grafik Funktionen (optional): rsgDrawMesh
•  rs_math.rsh       -> Basis Funktionen: rand, rsForEach
•  rs_time.rsh       -> rsUptimeMillis
•  rs_types.rsh      -> Datentypen: rs_matrix4x4
RS Basics: Datastructures
• Element         Repräsentiert eine Speicherstelle einer
                  Allocation, zum Beispiel uchar4


• Type            Dimension(en) von Elementen


• Allocation      Repräsentiert den allokierten Speicher


Elements und Types können auf SDK und RS level
definiert werden, Allocations nur auf SDK level
RS Basics: functions / Syntax
#pragma version(1)
#pragma rs java_package_name(de.inovex.mobi.rsdemos)


void init()              Grafik -> Initialisierung
int root(int launchID)   Grafik -> wird für jede Aktualisierung
                         des Screens aufgerufen


void root(...)           Berechnungen -> Wird für jedes zu
                         berechnende Element aufgerufen


void rsForEach(...)      Ruft root(..) für jedes zu
                         berechnende Element auf
RS Calculation: Sepia Filter
RS Calculation: Sepia Filter
               700
                                 605
               600

               500
milliseconds




               400     344                  350   RenderScript
               300                                Java
                                                  Java Threaded
               200

               100

                 0
                             Sepia Filter
RS Calculation: Mandelbrot
RS Calculation: Mandelbrot
               12000            11080

               10000

               8000
milliseconds




                                           6912
                       6116                       RenderScript
               6000
                                                  Java
               4000                               Java Threaded

               2000

                  0
                              Mandelbrot
RS Graphics: OpenGL Refresh
               Vertex    Fragment
                                    Blending
               Shader     Shader



OpenGL

RenderScript




               Program   Program    Program
                Vertex   Fragment    Store
RS Graphics: Basics
                                                 RSSurfaceView

                    bindRoot           onTouch
                    Script()           Event()


Java
               MessageQueue
RenderScript

                   int root(int launchID) {

                       //draw things

                   }
RS Graphics: Logo Demo
RS Graphics: Cover Carousel
RS Graphics and Calculations

root() {   rsForEach(...); rsgDrawMesh(...);    return 10; }




            CPU                  CPU
             1                    2

    root(...) {           root(...) {

        doCrazyStuff();       doCrazyStuff();

    }                     }
RS Graphics and Calculations
RS Summary: Android Graphic APIs
•  NDK -> C Code Portierung, low level C programming
•  SDK
     •  Canvas API       -> 2D Graphics
     •  OpenGL wrappers -> Simple 3D Graphics
     •  RenderScript     -> High performance 3D
                            Graphics / Computations
RS Summary: Experience & Claims
Pros
•  Portabilität
•  Performance
•  Usability
Cons
•  Complexity
•  Debugging / Tools
•  less Features
•  Documentation
•  Reach
RS Summary: Experience & Claims
INFO/DEBUG(85): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
INFO/DEBUG(85): Build fingerprint: 'motorola/tervigon/wingray:3.2/HTJ85B/140714:user/release-keys'
INFO/DEBUG(85): pid: 8462, tid: 8479 >>> de.inovex.mobi.rsdemos <<<
INFO/DEBUG(85): signal 7 (SIGBUS), code 128 (?), fault addr 00000000
INFO/DEBUG(85): r0 00000001 r1 433a4266 r2 001aecf0 r3 433a425a
INFO/DEBUG(85): r4 00000001 r5 433a4266 r6 00000000 r7 599cce08
INFO/DEBUG(85): r8 000013b0 r9 000013b0 10 599cce08 fp 00000001
INFO/DEBUG(85): ip a9d43910 sp 599ccd08 lr af9d7acc pc af9d7acc cpsr 00000010
INFO/DEBUG(85): d0 477fff800000ffff d1 3ef99342477fff00
INFO/DEBUG(85): d2 3fa5b5e89f667c0b d3 3fa55553e1053a42
INFO/DEBUG(85): d4 3fa5b5e89f667c0b d5 bf56ab7707e82c56
INFO/DEBUG(85): d6 3f80000026a7f65f d7 3f80000000000000
INFO/DEBUG(85): d8 4334000040490fdb d9 c44f0000444f0000
INFO/DEBUG(85): d10 0000000000000000 d11 0000000000000000
INFO/DEBUG(85): d12 0000000000000000 d13 0000000000000000
INFO/DEBUG(85): d14 0000000000000000 d15 0000000000000000
INFO/DEBUG(85): scr 60000013
INFO/DEBUG(85):          #00 pc 00004acc /system/lib/libcutils.so (android_atomic_add)
INFO/DEBUG(85):          #01 pc 0001f5be /system/lib/libRS.so
(_ZNK7android12renderscript10ObjectBase9incSysRefEv)
INFO/DEBUG(85):          #02 pc 00017d44 /system/lib/libRS.so
INFO/DEBUG(85):          #03 pc 0001a7ba /system/lib/libRS.so
(_ZN7android12renderscript7Context16setProgramVertexEPNS0_13ProgramVertexE)
INFO/DEBUG(85):          #04 pc 0001a7d2 /system/lib/libRS.so
(_ZN7android12renderscript28rsi_ContextBindProgramVertexEPNS0_7ContextEPv)
INFO/DEBUG(85):          #05 pc 00025e68 /system/lib/libRS.so
INFO/DEBUG(85): libc base address: afdd3000
INFO/DEBUG(85): code around pc:
INFO/DEBUG(85): af9d7aac e1853f92 e3530000 1afffffa e8bd8070
INFO/DEBUG(85): af9d7abc e92d4070 e1a04000 e1a05001 ebffffd1
INFO/DEBUG(85): af9d7acc e1950f9f e0802004 e1853f92 e3530000
INFO/DEBUG(85): af9d7adc 1afffffa e8bd8070 e1a01000 e3e00000
INFO/DEBUG(85): af9d7aec eafffff2 e1a01000 e3a00001 eaffffef
INFO/DEBUG(85): stack:
INFO/DEBUG(85):     599cccc8 599cccec
RS Summary: Ausblick
•  GPU Beschleunigung
•  Vereinfachung der RS APIs mit Android 4
•  Dokumentation & Tools mit Android 4
•  Portabilität und Emulator-Unterstützung
RS Summary: Infos & Links
•  http://marakana.com/forums/android/general/381.html
•  http://graphics-geek.blogspot.com/
•  http://blog.iangclifton.com/2011/08/24/renderscript-101-
 part-2-renderscript-interaction/
•  http://events.linuxfoundation.org/slides/2011/lfcs/
 lfcs2011_llvm_liao.pdf
•  http://code.google.com/p/renderscript-examples/
•  http://github.com/dhelleberg/RenderScriptDemos
RS Summary: Infos & Links

                           DANKE!




http://bit.ly/mtc2011-dh

Más contenido relacionado

Destacado

Destacado (9)

Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011
 
Embedded Android
Embedded AndroidEmbedded Android
Embedded Android
 
One APK to rule them all
One APK to rule them allOne APK to rule them all
One APK to rule them all
 
Android Studio und gradle
Android Studio und gradleAndroid Studio und gradle
Android Studio und gradle
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloaded
 
Android Studio vs. ADT
Android Studio vs. ADTAndroid Studio vs. ADT
Android Studio vs. ADT
 
Android Development Tools
Android Development ToolsAndroid Development Tools
Android Development Tools
 
Android Enterprise Integration
Android Enterprise IntegrationAndroid Enterprise Integration
Android Enterprise Integration
 
Core Android
Core AndroidCore Android
Core Android
 

Similar a Renderscript in Android 3.x

Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAPCadaxo GmbH
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernPraktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernJomaSoft
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergOPITZ CONSULTING Deutschland
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerDOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerJomaSoft
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesMarc Müller
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederChristoph Pickl
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development ToolsCadaxo GmbH
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannNETWAYS
 
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerEffizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerJomaSoft
 

Similar a Renderscript in Android 3.x (20)

Webinar Modern ABAP
Webinar Modern ABAPWebinar Modern ABAP
Webinar Modern ABAP
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 ServernPraktische Erfahrungen mit den kleinen SPARC S7-2 Servern
Praktische Erfahrungen mit den kleinen SPARC S7-2 Servern
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
XenServer und Storage
XenServer und StorageXenServer und Storage
XenServer und Storage
 
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - WinterbergSCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
SCA und SDO: Konzepte und Design - OPITZ CONSULTING - Maier - Winterberg
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 ServerDOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
DOAG 2018 / Praktische Erfahrungen mit SPARC S7-2 Server
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für Kubernetes
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development Tools
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
 
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerEffizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
 

Renderscript in Android 3.x

  • 1. Dominik Helleberg / Inovex GmbH RenderScript in Android 3.x http://twitter.com/_cirrus_
  • 2. Ziele / Agenda •  Konzepte / Vor- und Nachteile von RenderScript •  Entscheidung für den Einsatz von RS im nächsten Projekt •  Überblick RS -> APIs, Architektur, Tools •  RS Basics -> Datenstrukturen, Funktionen •  Berechnungen mit RS -> Beispiel / Performance •  OpenGL refresh •  Grafik mit RS -> Beispiel / Demo •  Grafik & Berechnungen kombinieren •  RS im Context von Canvas, NDK & co. •  Ausblick
  • 3. RS -> The claim „RenderScript offers a high performance 3D graphics rendering and compute API at the native level“ Pros Cons •  Portabilität •  Complexity •  Performance •  Debugging / Tools •  Usability •  less Features http://developer.android.com/guide/topics/renderscript/index.html
  • 4. RS Intro / Overview •  Neue Sprache (basierend auf C99 mit Erweiterungen) •  Neue APIs (im Java-SDK und in RenderScript) •  Tools •  RS in Android 2.1
  • 5. RS Intro / Overview •  Seid Android 3.0 öffentlich verfügbar (API LEVEL 11)
  • 6. RS Basics: Compiler -> Offline sepia.bc sepia.rs LLVM-RS-CC SciptC_sepia.java http://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf
  • 7. RS Basics: Compiler -> Online libbcc GPU sepia.bc s SciptC_sepia.class Dalvik JIT CPU s http://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf
  • 8. RS Basics: APIs •  Java -> android.renderscript.* •  RS -> *.rsh (RenderScriptHeader) $ANDROID_SDK/platforms/android-11/renderscript/include/ •  rs_cl.rsh -> tan, cos, pow •  rs_core.rsh -> Utility Funktionen: rsDebug •  rs_graphics.rsh -> Grafik Funktionen (optional): rsgDrawMesh •  rs_math.rsh -> Basis Funktionen: rand, rsForEach •  rs_time.rsh -> rsUptimeMillis •  rs_types.rsh -> Datentypen: rs_matrix4x4
  • 9. RS Basics: Datastructures • Element Repräsentiert eine Speicherstelle einer Allocation, zum Beispiel uchar4 • Type Dimension(en) von Elementen • Allocation Repräsentiert den allokierten Speicher Elements und Types können auf SDK und RS level definiert werden, Allocations nur auf SDK level
  • 10. RS Basics: functions / Syntax #pragma version(1) #pragma rs java_package_name(de.inovex.mobi.rsdemos) void init() Grafik -> Initialisierung int root(int launchID) Grafik -> wird für jede Aktualisierung des Screens aufgerufen void root(...) Berechnungen -> Wird für jedes zu berechnende Element aufgerufen void rsForEach(...) Ruft root(..) für jedes zu berechnende Element auf
  • 12. RS Calculation: Sepia Filter 700 605 600 500 milliseconds 400 344 350 RenderScript 300 Java Java Threaded 200 100 0 Sepia Filter
  • 14. RS Calculation: Mandelbrot 12000 11080 10000 8000 milliseconds 6912 6116 RenderScript 6000 Java 4000 Java Threaded 2000 0 Mandelbrot
  • 15. RS Graphics: OpenGL Refresh Vertex Fragment Blending Shader Shader OpenGL RenderScript Program Program Program Vertex Fragment Store
  • 16. RS Graphics: Basics RSSurfaceView bindRoot onTouch Script() Event() Java MessageQueue RenderScript int root(int launchID) { //draw things }
  • 18. RS Graphics: Cover Carousel
  • 19. RS Graphics and Calculations root() { rsForEach(...); rsgDrawMesh(...); return 10; } CPU CPU 1 2 root(...) { root(...) { doCrazyStuff(); doCrazyStuff(); } }
  • 20. RS Graphics and Calculations
  • 21. RS Summary: Android Graphic APIs •  NDK -> C Code Portierung, low level C programming •  SDK •  Canvas API -> 2D Graphics •  OpenGL wrappers -> Simple 3D Graphics •  RenderScript -> High performance 3D Graphics / Computations
  • 22. RS Summary: Experience & Claims Pros •  Portabilität •  Performance •  Usability Cons •  Complexity •  Debugging / Tools •  less Features •  Documentation •  Reach
  • 23. RS Summary: Experience & Claims INFO/DEBUG(85): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** INFO/DEBUG(85): Build fingerprint: 'motorola/tervigon/wingray:3.2/HTJ85B/140714:user/release-keys' INFO/DEBUG(85): pid: 8462, tid: 8479 >>> de.inovex.mobi.rsdemos <<< INFO/DEBUG(85): signal 7 (SIGBUS), code 128 (?), fault addr 00000000 INFO/DEBUG(85): r0 00000001 r1 433a4266 r2 001aecf0 r3 433a425a INFO/DEBUG(85): r4 00000001 r5 433a4266 r6 00000000 r7 599cce08 INFO/DEBUG(85): r8 000013b0 r9 000013b0 10 599cce08 fp 00000001 INFO/DEBUG(85): ip a9d43910 sp 599ccd08 lr af9d7acc pc af9d7acc cpsr 00000010 INFO/DEBUG(85): d0 477fff800000ffff d1 3ef99342477fff00 INFO/DEBUG(85): d2 3fa5b5e89f667c0b d3 3fa55553e1053a42 INFO/DEBUG(85): d4 3fa5b5e89f667c0b d5 bf56ab7707e82c56 INFO/DEBUG(85): d6 3f80000026a7f65f d7 3f80000000000000 INFO/DEBUG(85): d8 4334000040490fdb d9 c44f0000444f0000 INFO/DEBUG(85): d10 0000000000000000 d11 0000000000000000 INFO/DEBUG(85): d12 0000000000000000 d13 0000000000000000 INFO/DEBUG(85): d14 0000000000000000 d15 0000000000000000 INFO/DEBUG(85): scr 60000013 INFO/DEBUG(85): #00 pc 00004acc /system/lib/libcutils.so (android_atomic_add) INFO/DEBUG(85): #01 pc 0001f5be /system/lib/libRS.so (_ZNK7android12renderscript10ObjectBase9incSysRefEv) INFO/DEBUG(85): #02 pc 00017d44 /system/lib/libRS.so INFO/DEBUG(85): #03 pc 0001a7ba /system/lib/libRS.so (_ZN7android12renderscript7Context16setProgramVertexEPNS0_13ProgramVertexE) INFO/DEBUG(85): #04 pc 0001a7d2 /system/lib/libRS.so (_ZN7android12renderscript28rsi_ContextBindProgramVertexEPNS0_7ContextEPv) INFO/DEBUG(85): #05 pc 00025e68 /system/lib/libRS.so INFO/DEBUG(85): libc base address: afdd3000 INFO/DEBUG(85): code around pc: INFO/DEBUG(85): af9d7aac e1853f92 e3530000 1afffffa e8bd8070 INFO/DEBUG(85): af9d7abc e92d4070 e1a04000 e1a05001 ebffffd1 INFO/DEBUG(85): af9d7acc e1950f9f e0802004 e1853f92 e3530000 INFO/DEBUG(85): af9d7adc 1afffffa e8bd8070 e1a01000 e3e00000 INFO/DEBUG(85): af9d7aec eafffff2 e1a01000 e3a00001 eaffffef INFO/DEBUG(85): stack: INFO/DEBUG(85): 599cccc8 599cccec
  • 24. RS Summary: Ausblick •  GPU Beschleunigung •  Vereinfachung der RS APIs mit Android 4 •  Dokumentation & Tools mit Android 4 •  Portabilität und Emulator-Unterstützung
  • 25. RS Summary: Infos & Links •  http://marakana.com/forums/android/general/381.html •  http://graphics-geek.blogspot.com/ •  http://blog.iangclifton.com/2011/08/24/renderscript-101- part-2-renderscript-interaction/ •  http://events.linuxfoundation.org/slides/2011/lfcs/ lfcs2011_llvm_liao.pdf •  http://code.google.com/p/renderscript-examples/ •  http://github.com/dhelleberg/RenderScriptDemos
  • 26. RS Summary: Infos & Links DANKE! http://bit.ly/mtc2011-dh