Android - RenderScript

Dans ce chapitre, nous allons découvrir Android RenderScript. Habituellement, les applications sur Android sont conçues pour consommer le moins de ressources possible. Mais certaines applications comme certains jeux 3D nécessitent un traitement de haut niveau sur Android.

Pour fournir ces applications haute performance, Android a introduit le RenderScript. Il s'agit d'un cadre basé sur Android qui est utilisé pour exécuter des applications qui effectuent des tâches très informatiques. Le développement sur ce framework se fait dans Native Development Kit (NDK) fourni par android. RenderScript est extrêmement utile pour les applications qui effectuent les types d'actions suivants -

  • Rendu 3D
  • Traitement d'image
  • Photographie computationnelle
  • Vision par ordinateur

Fonctionnement de RenderScript

Le framework RenderScript est essentiellement basé sur le calcul parallèle de données. Il distribue la charge de travail de votre application sur tous les processeurs disponibles sur votre appareil, tels que les processeurs multicœurs ou les GPU.

Cette distribution parallèle de la charge de travail libère le programmeur de la tension de l'équilibrage de charge et de la planification du travail. Vous pouvez écrire des algorithmes plus détaillés et complexes pour votre application sans vous soucier de la puissance de calcul.

Comment commencer

Pour utiliser le Framework RenderScript, vous devez avoir les deux éléments suivants:

  • Un noyau RenderScript
  • API RenderScript

Un noyau RenderScript

Un noyau est un programme qui gère les instructions de traitement des données et gère la charge de travail sur les unités centrales de traitement. Un noyau est une partie fondamentale du système d'exploitation.

De même, pour exécuter le framework RenderScript, nous avons besoin d'un script écrit nommé Kernel pour gérer toutes les demandes de traitement de données de notre application et utiliser plus de fonctionnalités du système d'exploitation Android fourni par le NDK et comme mentionné précédemment, le développement de RenderScript se fait dans le natif. Kit de développement d'Android.

Le script du noyau est écrit en langage C-99 standard. Cette norme était antérieure au développement de C ++. Un fichier de script du noyau RenderScript généralement placé dans.rsfichier. Chaque fichier est appelé comme un script. Un script RenderScript Kernel peut contenir les éléments suivants -

Sr. Non Éléments et description
1

A Language declaration

Il déclare la version du langage RenderScript Kernel utilisé dans ce script.

2

A package declaration

Cette déclaration nomme le nom du package de la classe Java qui sera affectée par ce code noyau.

3

Invokable functions

Vous pouvez appeler ces fonctions invocables à partir de votre code JAVA avec des arguments arbitraires.

4

Script Global Variables

Ce sont exactement comme les variables définies dans le langage de programmation C et C ++. Vous pouvez accéder à ces variables à partir de votre code JAVA.

Voici l'exemple de code d'un noyau -

uchar4 __convert__((kernel)) invert(uchar4 in, uint32_t x, uint32_t y) {
   uchar4 out = in;
   out.r = 255 - in.r;
   out.g = 255 - in.g;
   return out;
}

API RenderScript

Si vous souhaitez utiliser RenderScript dans votre API, vous pouvez le faire de deux manières:

Sr. Non API et description
1

android.renderscript

Cette API est disponible sur les appareils exécutant Android 3.0 et supérieur.

2

android.support.v8.renderscript

Cette API est disponible sur les appareils exécutant Android 2.2 et supérieur.

Pour la bibliothèque de support Android, les outils suivants sont nécessaires -

  • Dernière version des outils du SDK Android
  • Dernière version des outils de construction du SDK Android

Comment utiliser la bibliothèque de prise en charge de RenderScript

Ouvrez d'abord le project.properties fichier dans votre projet et ajoutez les lignes suivantes dans le fichier -

renderscript.target=18
renderscript.support.mode=true
sdk.buildtools=18.1.0

Ouvrez maintenant votre classe principale qui utilise RenderScript et ajoutez une importation pour les classes de la bibliothèque de support comme suit -

import android.support.v8.renderscript.*;

Voici les objectifs des propriétés mentionnées ci-dessus que nous ajoutons dans le project.properties fichier.

Sr. Non Propriétés et description du projet
1

renderscript.target

Il spécifie la version de code d'octet à générer.

2

renderscript.support.mode

Il spécifie une version compatible pour le code d'octet généré à utiliser.

3

sdk.buildtools

Il spécifie les versions des outils de création du SDK Android à utiliser.

Appelez maintenant vos fonctions RenderScript Kernel et calculez des algorithmes complexes dans votre application.