Android High performance in GPU using opengles and renderscriptArvind Devaraj
This document discusses high performance graphics and compute using OpenGLES and RenderScript on Android. It begins with an introduction to graphics terms like primitives and textures. It then covers how graphics are handled by the GPU, describing the graphics pipeline and shader programs. It discusses using OpenGLES for Android graphics, including the GLSurfaceView class. RenderScript is introduced as a way to access the GPU for general purpose computing through a high-level API, with examples of image processing, encryption, and other applications.
RenderScript is a high-performance computation API that allows apps to run operations with automatic parallelization across CPU and GPU cores. It provides access to these features without needing to write code for different architectures or processor types. RenderScript code is compiled at runtime, so apps do not need to be recompiled for different devices. The document provides an overview of RenderScript and its system, basic usage, entry points, variables, pointers, memory management, and comparisons with OpenGL ES. It also includes examples of using RenderScript for single-image sampling, multi-image sampling, multi-pass effects, and generating a histogram.
The document discusses RenderScript on LLVM. It describes RenderScript as a way to perform 3D rendering and compute tasks portably and with high performance on Android. It outlines the main components: an offline compiler that optimizes scripts, an online JIT compiler, and a runtime library. It provides an example of using RenderScript to convert an image to grayscale and discusses how scripts are compiled and executed to provide fast launch times.
RenderScript is a framework for running computationally intensive tasks like image processing at high performance on Android. It allows operations to run in parallel across CPU, GPU, and DSP cores. Developers write compute kernels in a C99-derived language and Java code to control kernel execution. An example shows converting white pixels to transparent in an image. Key steps are writing the RenderScript script, creating allocations in Java to pass data to it, and invoking the computation from Java. RenderScript generally provides better performance than Java code alone but has limited documentation and API set.
The document discusses the history and development of mobile computing from 2002 to 2014. It notes that early mobile phones in 2002 had basic capabilities that expanded over time with improved phones, mobile operating systems like Android, and the release of the iPhone in 2007 which drove further innovation in the industry. It also discusses how new technologies can transform society by looking at examples like smart home devices and the concept of an "Internet of Things."
This document provides an overview of Android development tools including the emulator, debugging tools, and the new Gradle build system. It discusses emulator features like hardware acceleration, tools for profiling and debugging apps like traceview and lint, and the move to the Gradle build system in the Android SDK. Links are provided for downloading the latest Android developer tools and learning more about the new build system.
Der Erfolg einer App hängt maßgeblich davon ab, wie sie sich dem Nutzer präsentiert. Wir beleuchten die Möglichkeiten des Android Graphics Frameworks und zeigen, wie Sie Ihre App durch außergewöhnliche Custom-Widgets, 3-D-Animationen und grafische Effekte aufwerten. In dieser Session erwartet Sie jede Menge Beispielcode, Performancetipps sowie Best Practices.
This document provides information about embedded Android. It begins with an overview of the typical Android architecture including stock apps, framework/API, user apps, Java, system services, Dalvik/runtime/zygote, kernel, libs, HAL init. It then discusses some examples of customizing Android for embedded systems like adding new APIs for e-ink displays or customizing USB and storage. The document concludes with credits and links to additional Android and embedded system resources.
The document discusses various techniques for developing Android applications that work across different device configurations and Android platform versions. It covers topics like screens sizes and densities, different layouts, using fragments and activities, leveraging new APIs while maintaining backwards compatibility, and using fallbacks and workarounds to support older platforms.
The document discusses the benefits of using Android Studio and Gradle for Android development. It highlights key features like build variants, improved checks and UI in Android Studio compared to older tools. It provides configuration examples for Gradle's Android plugin and recommends trying out Android Studio but remaining cautious of breaking changes. Lastly, it offers tips for using Gradle daemon, showing dependencies and initializing common settings via init scripts.
This document discusses the history and implementation of the Android Action Bar user interface pattern. It provides examples of code samples and configurations for different Action Bar implementations, including menus, tabs, contextual bars, and split bars. It also discusses porting the Action Bar to different Android versions and platforms like tablets and Google TV.
This document provides an overview of Android Studio, the new integrated development environment (IDE) for Android development based on IntelliJ IDEA. Some key points covered include performance improvements over Eclipse for build times, new features like the Gradle build system and improved stability. Tips are also provided on differences between Eclipse and Android Studio workflows and how to set up libraries and dependencies using Gradle. The future of Android development is discussed, noting that ant support is being discontinued while Eclipse ADT will still be supported, but Gradle is positioned as the future build system, despite it not yet being fully complete.
This document discusses various developer tools available for Android emulators and devices, including:
1) Emulator acceleration features like VM acceleration for x86 systems and GPU acceleration for graphics-intensive apps.
2) Emulator debugging tools like the telnet interface, hierarchy viewer, and dumpsys for checking app memory usage and device states.
3) Systrace for profiling app and system performance across CPU, memory, and disk I/O.
4) Lint for catching bugs and optimizing app quality, and MAT and hprof for memory analysis.
5) DDMS and tracer for remote device control and method tracing via ADB.
In dieser Session werfen wir einen Blick auf die Android Platform jenseits der Dalvik VM. Wir entdecken den Android Source Code und erklären wo sich interessante Beispiele und Referenzen für App-Entwickler sowie nützliche Tools verbergen. Ein High-Level Überblick über die Platform-Architektur und das Platform-Build-System runden die Session ab.
Das sind die Folien zu unserem Webinar vom 29.3.2019 zum Thema Modern ABAP.
Unter Anderem wurden folgende Themen behandelt:
ABAP Sprachversionen
SAP Cloud Platform ABAP Environment
ABAP Development Tools
ABAP Sprachelemente und SQL Expressions
Obsolete Sprachelemente
abapGit
CDS Views
ABAP RESTful Programming Model
Code Checks in SAP
Clean Code
Refactoring
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
The current target architecture of IKB's credit and loan management is based on Oracle ADF and SOA and of course the database. But how can you protect in this time your Oracle Forms & Reports longtime investments, can you support their Development Lifecycle by Automation?
Many supporting technologies from the Java environment, such as branching models, automated build and deploy procedures or code review were established with the Oracle technologies and in the course of the regulatory process.
But there is still a large part of the Oracle Forms & Reports that have grown over 25 years and have not yet been replaced. Actually, we hoped that we would no longer need a version higher than 11g. Forms & Reports had been running very stably for years. A bug brought the migration to 12c back into focus to further run supported versions. The regulatory environment did the rest to revise the current processes and, where possible, to automate them.
So how do supporting technologies and automation fit in here?
I will show you a selection of these processes from IKB's development and operations life cycle:
* Installation of application server
* Regular patching
* Packaging of the local development environment
* Requirements documentation
* Branching
* Development
* Code Review
* Merge
* Deployment
* Traceability for Regulatory Purposes
The following tools are used, among others
* Jenkins
* Scripting with Bash and Powershell
* Git
* Bitbucket
* JIRA
* FormsAPI Master
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
Ein Key-Value Store mit nativer Unterstützung für JSON, der auch Graphen und SQL “kann”. Der Foliensatz enthält detaillierte Informationen zur Nutzung der Oracle NoSQL DB aus Sicht der Anwendungsentwicklung als auch aus Sicht der Administration / des Betriebs.
Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
Das Team Kreditplattform der IKB entwickelt seit etwa 2 Jahren mit ADF. Wegen der aktuellen Bindung an die SOA Suite verharrten wir seitdem auf der Version 11.1.1.5 mit diversen Bugs. Seit dem Erscheinen der Version 12c wurde die Migration der Anwendung vorbereitet und zum Zeitpunkt des Vortrags gerade abgeschlossen.
Dieser Praxisbericht beleuchtet das Vorgehen und Fallstricke der Migration
- Vorbereitung der Server
- Vorbereitung Entwicklungsumgebung
- Migrationspfad
- Aufgetretene Probleme und deren Lösung
- Bugs & Patches
- Migration MDS
- Automatische und manuelle Tests
Applikationen nach Kubernetes zu auszurollen kann komplex und aufwendig werden. Schon bei einer verhältnismäßig kleinen Applikation müssen mehrere Kubernetes-Ressourcen bereitgestellt werden. Hinzu kommt die Konfiguration von zielsystemabhängigen Einstellungen und Konfigurationen. Helm ist ein Paket-Manager für Kubernetes, der es Entwicklern und Betreibern ermöglicht, Anwendungen und Dienste einfacher zu verpacken, zu konfigurieren und in Kubernetes-Clustern bereitzustellen. In dieser Session lernen Sie die Grundlagen von Helm und sehen in einer Livedemo, wie ein Helm-Chart von Grund auf erstellt wird.
This document provides information about embedded Android. It begins with an overview of the typical Android architecture including stock apps, framework/API, user apps, Java, system services, Dalvik/runtime/zygote, kernel, libs, HAL init. It then discusses some examples of customizing Android for embedded systems like adding new APIs for e-ink displays or customizing USB and storage. The document concludes with credits and links to additional Android and embedded system resources.
The document discusses various techniques for developing Android applications that work across different device configurations and Android platform versions. It covers topics like screens sizes and densities, different layouts, using fragments and activities, leveraging new APIs while maintaining backwards compatibility, and using fallbacks and workarounds to support older platforms.
The document discusses the benefits of using Android Studio and Gradle for Android development. It highlights key features like build variants, improved checks and UI in Android Studio compared to older tools. It provides configuration examples for Gradle's Android plugin and recommends trying out Android Studio but remaining cautious of breaking changes. Lastly, it offers tips for using Gradle daemon, showing dependencies and initializing common settings via init scripts.
This document discusses the history and implementation of the Android Action Bar user interface pattern. It provides examples of code samples and configurations for different Action Bar implementations, including menus, tabs, contextual bars, and split bars. It also discusses porting the Action Bar to different Android versions and platforms like tablets and Google TV.
This document provides an overview of Android Studio, the new integrated development environment (IDE) for Android development based on IntelliJ IDEA. Some key points covered include performance improvements over Eclipse for build times, new features like the Gradle build system and improved stability. Tips are also provided on differences between Eclipse and Android Studio workflows and how to set up libraries and dependencies using Gradle. The future of Android development is discussed, noting that ant support is being discontinued while Eclipse ADT will still be supported, but Gradle is positioned as the future build system, despite it not yet being fully complete.
This document discusses various developer tools available for Android emulators and devices, including:
1) Emulator acceleration features like VM acceleration for x86 systems and GPU acceleration for graphics-intensive apps.
2) Emulator debugging tools like the telnet interface, hierarchy viewer, and dumpsys for checking app memory usage and device states.
3) Systrace for profiling app and system performance across CPU, memory, and disk I/O.
4) Lint for catching bugs and optimizing app quality, and MAT and hprof for memory analysis.
5) DDMS and tracer for remote device control and method tracing via ADB.
In dieser Session werfen wir einen Blick auf die Android Platform jenseits der Dalvik VM. Wir entdecken den Android Source Code und erklären wo sich interessante Beispiele und Referenzen für App-Entwickler sowie nützliche Tools verbergen. Ein High-Level Überblick über die Platform-Architektur und das Platform-Build-System runden die Session ab.
Das sind die Folien zu unserem Webinar vom 29.3.2019 zum Thema Modern ABAP.
Unter Anderem wurden folgende Themen behandelt:
ABAP Sprachversionen
SAP Cloud Platform ABAP Environment
ABAP Development Tools
ABAP Sprachelemente und SQL Expressions
Obsolete Sprachelemente
abapGit
CDS Views
ABAP RESTful Programming Model
Code Checks in SAP
Clean Code
Refactoring
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
The current target architecture of IKB's credit and loan management is based on Oracle ADF and SOA and of course the database. But how can you protect in this time your Oracle Forms & Reports longtime investments, can you support their Development Lifecycle by Automation?
Many supporting technologies from the Java environment, such as branching models, automated build and deploy procedures or code review were established with the Oracle technologies and in the course of the regulatory process.
But there is still a large part of the Oracle Forms & Reports that have grown over 25 years and have not yet been replaced. Actually, we hoped that we would no longer need a version higher than 11g. Forms & Reports had been running very stably for years. A bug brought the migration to 12c back into focus to further run supported versions. The regulatory environment did the rest to revise the current processes and, where possible, to automate them.
So how do supporting technologies and automation fit in here?
I will show you a selection of these processes from IKB's development and operations life cycle:
* Installation of application server
* Regular patching
* Packaging of the local development environment
* Requirements documentation
* Branching
* Development
* Code Review
* Merge
* Deployment
* Traceability for Regulatory Purposes
The following tools are used, among others
* Jenkins
* Scripting with Bash and Powershell
* Git
* Bitbucket
* JIRA
* FormsAPI Master
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
Ein Key-Value Store mit nativer Unterstützung für JSON, der auch Graphen und SQL “kann”. Der Foliensatz enthält detaillierte Informationen zur Nutzung der Oracle NoSQL DB aus Sicht der Anwendungsentwicklung als auch aus Sicht der Administration / des Betriebs.
Does SOA relate to user interfaces? Can services be part of the presentation layer? Can service-orientation be applied to human-service interaction? The answer to all of these questions is, in fact, "yes", but only if we understand the unique requirements of designing and using services with the human end-user in mind.
By Torsten Winterberg (OPITZ CONSULTING) and Berthold Maier (Oracle Consulting Deutschland)
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
Das Team Kreditplattform der IKB entwickelt seit etwa 2 Jahren mit ADF. Wegen der aktuellen Bindung an die SOA Suite verharrten wir seitdem auf der Version 11.1.1.5 mit diversen Bugs. Seit dem Erscheinen der Version 12c wurde die Migration der Anwendung vorbereitet und zum Zeitpunkt des Vortrags gerade abgeschlossen.
Dieser Praxisbericht beleuchtet das Vorgehen und Fallstricke der Migration
- Vorbereitung der Server
- Vorbereitung Entwicklungsumgebung
- Migrationspfad
- Aufgetretene Probleme und deren Lösung
- Bugs & Patches
- Migration MDS
- Automatische und manuelle Tests
Applikationen nach Kubernetes zu auszurollen kann komplex und aufwendig werden. Schon bei einer verhältnismäßig kleinen Applikation müssen mehrere Kubernetes-Ressourcen bereitgestellt werden. Hinzu kommt die Konfiguration von zielsystemabhängigen Einstellungen und Konfigurationen. Helm ist ein Paket-Manager für Kubernetes, der es Entwicklern und Betreibern ermöglicht, Anwendungen und Dienste einfacher zu verpacken, zu konfigurieren und in Kubernetes-Clustern bereitzustellen. In dieser Session lernen Sie die Grundlagen von Helm und sehen in einer Livedemo, wie ein Helm-Chart von Grund auf erstellt wird.
Einführung in Helm - der Paket-Manger für KubernetesMarc Müller
Applikationen nach Kubernetes auszurollen kann komplex und aufwändig werden. Schon bei einer verhältnismässig kleinen Applikation müssen mehrere Kubernetes-Ressourcen bereitgestellt werden. Hinzu kommt die Konfiguration Zielsystem-abhängiger Einstellungen und Konfigurationen.
Helm ist ein Paketmanager für Kubernetes, der es Entwicklern und Betreibern ermöglicht, Anwendungen und Dienste einfacher zu verpacken, zu konfigurieren und in Kubernetes-Clustern bereitzustellen. In dieser Session lernen Sie die Grundlagen von Helm kennen und sehen in einer Live-Demo, wie ein Helm-Chart von Grund auf erstellt wird.
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannNETWAYS
Der ursprüngliche NagiosGrapher ist auf Basis von RRD einem der beliebtesten Tools zur Darstellung und Speicherung von Performancedaten aus Nagios entstanden. inGraph ist das Ergebnis langjähriger Erfahrungen, aber auch der Kenntnisse aus der Entwicklung des NETWAYSGraphersV2. Der neue inGraph ist das Resultat unzähliger Ideen, Feature-Requests aber auch der Anforderungen an die komplexe Datenhaltung und Visualisierung von Performancedaten in vielen Projekten. Die Erstellung und Erweiterung von Templates ist direkt im Browser möglich und lässt sich bequem in Views oder Custom-Cronk Elementen speichern.
Schwerpunkt des Vortrags ist die Vorstellung von inGraph und dessen Komponenten sowie eine Einführung in das Standalone-Interface und des Icinga-Web-Addons. Darüber hinaus werden mit check_ingraph und der bis dahin verfügbaren Prediction völlig neue Möglichkeiten in der Verarbeitung von Performancedaten demonstriert.
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerJomaSoft
Durch die Nutzung von Solaris LDoms und Zonen können Applikationen ohne Anpassungen auf die neuen SPARC M7 Server migriert werden. Mit dem Tool VDCF sehr effizient.
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
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