Рендерскрипт
Разработчик(и) | |
---|---|
Операционная система | Андроид (операционная система) |
Веб-сайт | разработчик |
RenderScript — устаревший компонент операционной системы Android для мобильных устройств, предлагающий API для ускорения, использующий преимущества гетерогенного оборудования. Это позволяет разработчикам повысить производительность своих приложений за счет написания более сложного (низкоуровневого) кода.
Он предоставляет разработчику три основных инструмента: простой API 3D-рендеринга, вычислительный API, аналогичный CUDA , и язык, производный от C99 .
История
[ редактировать ]RenderScript был добавлен в Android 3.0 Honeycomb . [1]
Начиная с Android 4.1, экспериментальный API 3D-рендеринга RenderScript устарел и теперь существует исключительно как вычислительный API.
В Android 4.2 добавлены новые возможности во встроенные функции сценариев, такие как Blend и Blur ; а также ScriptGroups , который позволяет группировать и выполнять связанные сценарии RenderScript одним вызовом.Он также добавил FilterScript, который является подмножеством RenderScript, который позволяет разработчикам записывать свои операции обработки изображений в FilterScript, используя стандартный API среды выполнения RenderScript, но с более строгими ограничениями, которые обеспечивают более широкую совместимость и улучшенную оптимизацию для многоядерных процессоров , графических процессоров и DSP. . FilterScript менее точен в точности с плавающей запятой и более совместим с различными устройствами подмножеством RenderScript, и его не следует путать с технологией замены RenderScript. [2]
19 апреля 2021 года Google объявила о прекращении поддержки RenderScript в Android 12 и рекомендовала портировать существующий код на Vulkan . [3]
Функции
[ редактировать ]Портативность
[ редактировать ]RenderScript предназначен для постоянной работы на различных платформах Android независимо от типа оборудования. Настройка производительности выполняется во время выполнения.
Переносимость RenderScript зависит от драйверов конкретного устройства: [4] для каждого устройства предоставляется базовый драйвер только для ЦП, хотя существуют некоторые специальные драйверы RenderScript, предоставляемые набором микросхем, которые позволяют использовать графический процессор (например, специальные драйверы Qualcomm, которые представлены в libRSDriver_adreno.so
Android-библиотека).
Производительность
[ редактировать ]RenderScript предназначен для настройки задач во время выполнения, которые можно эффективно разделить и запускать одновременно на базовом оборудовании. [5]
Начиная с Android 4.2, RenderScript был расширен для работы на графическом процессоре в дополнение к центральному процессору в поддерживаемых системах. [6]
Ограничения
[ редактировать ]- RenderScript пока не может выражать межпотоковую связь внутри кристалла (известную как локальная память в OpenCL и разделяемая память в CUDA).
- RenderScript пока не может выражать аппаратно реализованный 2D- и 3D-поиск с билинейной интерполяцией (известной как текстура в CUDA и чтение изображения в OpenCL).
Ссылки
[ редактировать ]- ^ «Соты» .
- ^ «API Android 4.2» . Проверено 20 марта 2013 г.
- ^ «Вычисления на графическом процессоре Android в будущем» . Блог разработчиков Android . Проверено 19 апреля 2021 г.
- ^ Маркетти, Альберто (2016). RenderScript: параллельные вычисления на Android, простой способ (1-е изд.). Архивировано из оригинала 25 августа 2016 г. Проверено 5 июля 2016 г.
- ^ «Рендерскрипт, часть 2» .
- ^ «Jelly Bean — Производительность рендерскрипта» . Проверено 27 ноября 2012 г.
Внешние ссылки
[ редактировать ]- Страница разработчика Google
- Представляем рендерскрипт
- Рендерскрипт, часть 2
- Google подробно описывает низкоуровневый API Renderscript для Honeycomb
- Видео: Узнайте о RenderScript от Ромена Гая и Чета Хааза. Архивировано 9 августа 2011 г. на Wayback Machine.
- Руководство по настройке Renderscript в Android Studio