Учебники

Android — RenderScript

В этой главе мы узнаем об Android RenderScript. Обычно приложения на Android спроектированы так, чтобы потреблять как можно меньше ресурсов. Но некоторые приложения, такие как 3D-игры, требуют высокоуровневой обработки на Android.

Для обеспечения этих приложений высокой производительностью Android представил RenderScript. Это основанный на Android фреймворк, который используется для запуска приложений, которые выполняют очень сложные вычислительные задачи. Разработка на этой основе осуществляется в Native Development Kit (NDK), предоставляемом Android. RenderScript чрезвычайно полезен для приложений, которые выполняют следующие типы действий:

  • 3D-рендеринг
  • Обработка изображения
  • Вычислительная фотография
  • Компьютерное зрение

Как работает RenderScript

Основа RenderScript в основном основана на параллельных вычислениях данных. Он распределяет нагрузку приложения на все процессоры, доступные на вашем устройстве, такие как многоядерные процессоры или графические процессоры.

Такое параллельное распределение рабочей нагрузки освобождает программиста от напряжения балансировки нагрузки и планирования работы. Вы можете написать более подробные и сложные алгоритмы для своего приложения, не беспокоясь о вычислительной мощности.

Как начать

Для использования RenderScript Framework у вас должно быть две вещи:

  • Ядро RenderScript
  • API RenderScript

Ядро RenderScript

Ядро — это программа, которая управляет инструкциями по обработке данных и управляет рабочей нагрузкой на центральных процессорах. Ядро является фундаментальной частью операционной системы.

Точно так же, чтобы запустить среду RenderScript, нам нужен письменный скрипт с именем Kernel, чтобы управлять всеми запросами на обработку данных из нашего приложения и использовать больше функций ОС Android, предоставляемых NDK, и, как упоминалось ранее, разработка RenderScript выполняется в Native. Комплект разработчика Android.

Сценарий ядра написан на языке C-99 языка Си. Этот стандарт был до разработки C ++. Файл сценария ядра RenderScript обычно помещается в файл .rs . Каждый файл называется скриптом. Сценарий RenderScript Kernel может содержать следующие элементы:

Sr.No Элементы и описание
1

Языковая декларация

Он объявляет версию языка RenderScript Kernel, используемую в этом сценарии.

2

Декларация пакета

Это объявление называет имя пакета Java-класса, на которое будет влиять этот код ядра.

3

Вызываемые функции

Вы можете вызывать эти вызываемые функции из вашего кода JAVA с произвольными аргументами.

4

Скрипт Глобальные переменные

Это так же, как переменные, определенные в языке программирования C и C ++. Вы можете получить доступ к этим переменным из вашего кода JAVA.

Языковая декларация

Он объявляет версию языка RenderScript Kernel, используемую в этом сценарии.

Декларация пакета

Это объявление называет имя пакета Java-класса, на которое будет влиять этот код ядра.

Вызываемые функции

Вы можете вызывать эти вызываемые функции из вашего кода JAVA с произвольными аргументами.

Скрипт Глобальные переменные

Это так же, как переменные, определенные в языке программирования C и C ++. Вы можете получить доступ к этим переменным из вашего кода JAVA.

Ниже приведен пример кода ядра —

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

Если вы хотите использовать RenderScript в своем API, вы можете сделать это двумя способами:

Sr.No API и описание
1

android.renderscript

Этот API доступен на устройствах под управлением Android 3.0 и выше.

2

android.support.v8.renderscript

Этот API доступен на устройствах под управлением Android 2.2 и выше.

android.renderscript

Этот API доступен на устройствах под управлением Android 3.0 и выше.

android.support.v8.renderscript

Этот API доступен на устройствах под управлением Android 2.2 и выше.

Для библиотеки поддержки Android необходимы следующие инструменты —

  • Последняя версия Android SDK Tools
  • Последняя версия Android SDK Build-tools

Как использовать библиотеку поддержки RenderScript

Сначала откройте файл project.properties в своем проекте и добавьте в него следующие строки:

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

Теперь откройте ваш основной класс, который использует RenderScript, и добавьте импорт для классов библиотеки поддержки следующим образом:

import android.support.v8.renderscript.*;

Ниже приведены цели вышеупомянутых свойств, которые мы добавляем в файл project.properties .

Sr.No Свойства и описание проекта
1

renderscript.target

Он определяет версию байтового кода, которая будет сгенерирована.

2

renderscript.support.mode

Он указывает совместимую версию для сгенерированного байтового кода для возврата.

3

sdk.buildtools

Определяет версии используемых инструментов сборки Android SDK.

renderscript.target

Он определяет версию байтового кода, которая будет сгенерирована.

renderscript.support.mode

Он указывает совместимую версию для сгенерированного байтового кода для возврата.

sdk.buildtools

Определяет версии используемых инструментов сборки Android SDK.

Теперь вызовите ваши функции RenderScript Kernel и вычислите сложные алгоритмы в вашем приложении.