В этой главе мы узнаем об 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 и вычислите сложные алгоритмы в вашем приложении.