android renderscript x86,Android RenderScript

在本章中,我们将了解Android

RenderScript。通常Android上的应用程序被设计为尽可能少地使用资源。但是像某些3D游戏这样的应用程序需要在android上进行高级处理。

为了提供这些应用程序,高性能android引入了RenderScript。它是基于android的框架,用于运行执行高度计算任务的应用程序。这个框架的开发是在android提供的Native

Development Kit(NDK)中完成的。RenderScript对执行以下类型操作的应用程序非常有用 -

3D渲染

图像处理

计算摄影

计算机视觉

RenderScript如何工作

RenderScript框架基本上基于数据并行计算。它将应用程序工作负载分布在设备上可用的所有处理器上,如多核CPU或GPU。

这种并行工作负载分配使程序员免于负载平衡和工作调度的紧张。您可以为您的应用编写更详细和复杂的算法,而无需担心计算能力。

怎么开始

要使用RenderScript Framework,您必须完成以下两件事 -

一个RenderScript内核

RenderScript API

一个RenderScript内核

内核是一个管理数据处理指令和管理中央处理单元工作负载的程序。内核是操作系统的基本组成部分。

与运行RenderScript框架类似,我们需要一个名为Kernel的编写脚本来管理来自我们应用程序的所有数据处理请求,并利用NDK提供的Android操作系统的更多功能,如前所述,RenderScript的开发是在Native中完成的。

Android开发套件。

内核脚本是用C语言的C-99标准编写的。本标准是在C ++开发之前。RenderScript内核脚本文件通常放在 .rs

文件中。每个文件都被称为脚本。RenderScript内核脚本可以包含以下元素 -

序号

元素和描述

1

A Language declaration

它声明了此脚本中使用的RenderScript内核语言版本。

2

A package declaration

此声明命名将受此内核代码影响的Java类的包名称。

3

Invokable functions

您可以使用任意参数从JAVA代码中调用这些可调用函数。

4

Script Global Variables

这些就像在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;

}

RenderScript API

如果要在API中使用RenderScript,可以通过以下两种方式实现:

序号

API和描述

1

android.renderscript

此API适用于运行Android 3.0及更高版本的设备。

2

android.support.v8.renderscript

此API适用于运行Android 2.2及更高版本的设备。

要Android安装支持库以下工具是必需的 -

最新的Android SDK工具版

最新的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 文件中添加的上述属性的用途。

序号

项目属性和描述

1

renderscript.target

它指定要生成的字节代码版本。

2

renderscript.support.mode

它指定生成的字节代码的兼容版本。

3

sdk.buildtools

它指定要使用的Android SDK构建工具的版本。

现在调用RenderScript内核函数并在应用程序中计算复杂算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值