RenderScript 執行階段 API 參考資料

總覽

RenderScript 是高效能執行階段,可提供原生層級的運算作業。RenderScript 程式碼會在執行階段期間編譯裝置,以便讓平台獨立運作。

這份參考說明文件將介紹 RenderScript 執行階段 API,可讓您在 C99 中編寫 RenderScript 程式碼。系統會自動納入 RenderScript 運算標頭檔案。

如要使用 RenderScript,您需要使用本文記錄的 RenderScript 執行階段 API,以及 RenderScript 的 Android 架構 API。如需 Android 架構 API 的說明文件,請參閱 android.renderscript 套件參考資料。

如要進一步瞭解如何使用 RenderScript 進行開發,以及執行階段和 Android 架構 API 的互動方式,請參閱 RenderScript 開發人員指南RenderScript 範例

數值類型

純量:

RenderScript 支援下列純量數值類型:

8 位元 16 位元 32 位元 64 位元
整數: char、int8_t 簡短、int16_t int32_t long、長版、int64_t
非帶號整數: uchar、uint8_t ushort, uint16_t uint、uint32_t ulong、uint64_t
浮點: 半場 浮點值 double

向量:

RenderScript 支援長度為 2、3 和 4 的固定大小向量。使用常見類型名稱及 2、3 或 4 來宣告向量。例如 float4int3double2ulong4

如要建立向量常值,請使用向量類型,並在大括號之間括住的值,例如 (float3){1.0f, 2.0f, 3.0f}

向量項目可以使用不同的命名樣式存取。

如要存取單一項目,請在變數名稱後面加上點並加上:

  • 字母 x、y、z 和 w
  • 字母 r、g、b 和 a 等字母
  • 字母 s 或 S,後面接著從零開始的索引。

舉例來說,使用 int4 myVar; 等同於:
myVar.x == myVar.r == myVar.s0 == myVar.S0
myVar.y == myVar.g == myVar.s1 == myVar.S1
myVar.z == myVar.b == myVar.s2 == myVar.S2
myVar.w == myVar.a == myVar.s3 == myVar.S3

您可以使用由多個字母或索引串連的 ID,一次存取一個向量的多個項目。產生的向量大小等於命名的項目數量。

在上述範例中,中間兩個項目可以使用 myVar.yzmyVar.gbmyVar.s12myVar.S12 存取。

項目不一定要連續或以遞增順序排列。只要不嘗試指派項目,項目也可以重複。此外,您也無法混合使用命名樣式。

以下列舉幾個允許或禁止的行為:
float4 v4;
float3 v3;
float2 v2;
v2 = v4.xx; // Valid
v3 = v4.zxw; // Valid
v3 = v4.bba; // Valid
v3 = v4.s032; // Valid
v3.s120 = v4.S233; // Valid
v4.yz = v3.rg; // Valid
v4.yzx = v3.rg; // Invalid: mismatched sizes
v4.yzz = v3; // Invalid: z appears twice in an assignment
v3 = v3.xas0; // Invalid: can't mix xyzw with rgba nor s0...
v3 = v4.s034; // Invalid: the digit can only be 0, 1, 2, or 3

矩陣與檢討措施:

RenderScript 支援大小為 2x2、3x3 和 4x4 的固定浮點大小正方形矩陣。類型的名稱分別為 rs_ Matrix2x2rs_ Matrix3x3rs_ Matrix4x4。如需作業清單,請參閱 Matrix 函式

您也可以透過 rs_quaternion 來支援四元數。如需作業清單,請參閱四元函式

類型
char2 兩個 8 位元帶正負號整數
char3 三個 8 位元帶正負號整數
char4 四個 8 位元帶正負號整數
double2 2 個 64 位元浮點值
double3 3 個 64 位元浮點值
double4 四個 64 位元浮點值
float2 2 個 32 位元浮點值
float3 3 個 32 位元浮點值
float4 四個 32 位元浮點值
半價 16 位元浮點值
half2 2 個 16 位元浮點值
half3 3 個 16 位元浮點值
half4 四個 16 位元浮點值
int16_t 16 位元帶正負號整數
int2 兩個帶正負號的整數 (共 32 位元)
int3 三個 32 位元帶正負號整數
int32_t 32 位元帶正負號整數
int4 四個 32 位元帶正負號整數
int64_t 64 位元帶正負號整數
int8_t 8 位元帶正負號整數
long2 兩個 64 位元帶正負號整數
long3 三個 64 位元帶正負號整數
long4 四個 64 位元帶正負號整數
rs_ Matrix2x2 32 位元浮點的 2x2 矩陣
rs_ Matrix3x3 32 位元浮點的 3x3 矩陣
rs_ Matrix4x4 32 位元浮點的 4x4 矩陣
rs_quaternion 四元數
short2 兩個 16 位元帶正負號整數
short3 三個 16 位元帶正負號整數
short4 四個 16 位元帶正負號整數
size_t 未簽署的大小類型
ssize_t 簽署大小類型
uchar 8 位元無正負號整數
uchar2 兩個 8 位元無正負號整數
uchar3 三個 8 位元不帶正負號整數
uchar4 四個 8 位元無正負號整數
uint 32 位元無正負號整數
uint16_t 16 位元無正負號整數
uint2 兩個 32 位元無正負號整數
uint3 三個 32 位元不帶正負號整數
uint32_t 32 位元無正負號整數
uint4 四個 32 位元無正負號整數
uint64_t 64 位元無正負號整數
uint8_t 8 位元無正負號整數
ulong 64 位元無正負號整數
ulong2 兩個 64 位元無正負號整數
ulong3 三個 64 位元無正負號整數
ulong4 四個 64 位元無正負號整數
ushort 16 位元無正負號整數
ushort2 兩個 16 位元無正負號整數
ushort3 三個 16 位元無正負號整數
ushort4 四個 16 位元無正負號整數

物件類型

下列類型可用於操控 RenderScript 物件,例如配置、取樣器、元素和指令碼。其中大多數物件都是使用 Java RenderScript API 建立。

類型
rs_allocation 處理分配作業
rs_allocation_cubemap_face 用於選取立方地圖面的列舉
rs_allocation_usage_type 指定分配使用方式的位元欄位
rs_data_Kind 元素資料種類
rs_data_type 元素基本資料類型
rs_element 元素的處理
rs_sampler 處理樣本的控點
rs_sampler_value 取樣器包裝 T 值
rs_script 指令碼處理
rs_type 處理型別
rs_yuv_format YUV 格式

轉換函式

下列函式可從數值向量類型轉換為另一種,或是從一種色彩表示法轉換成另一種色彩向量類型。

函式
convert 轉換數值向量
rsPackColorTo8888 根據浮點值建立 uchar4 RGBA
rsUnpackColor8888 使用 uchar4 建立 float4 RGBA
rsYuvToRGBA 將 YUV 值轉換為 RGBA

數學常數與函式

下列數學函式可套用於純量和向量。套用至向量時,傳回的值是套用至每個輸入項目的函式向量。

例如:
float3 a, b;
// The following call sets
// a.x to sin(b.x),
// a.y to sin(b.y), and
// a.z to sin(b.z).
a = sin(b);

請參閱向量數學函式中的 distance() 和 length() 等函式,瞭解如何將輸入內容解讀為 N 維空間中的單一向量。

32 位元浮點數的數學運算的精確度會受到 pragmas rs_fp_relaxed 和 rs_fp_full 影響。在 rs_fp_relaxed 下,子常態值可清除至零,並可能會四捨五入至零。相較之下,rs_fp_full 需要正確處理子常值,也就是小於 1.17549435e-38f。rs_fp_rull 也需要四捨五入至最接近的值,單位為偶數。

使用常見數學函式的變體,即可達成不同的精確度/速度的取捨。名稱開頭為

  • native_:可能採用精確度較低的自訂硬體實作。此外,子常值可能會完全清除至零,使用四捨五入為零,且無法正確處理 NaN 和無限輸入的資料。
  • 半數:可能會使用 16 位元浮點值執行內部運算。此外,子常態值可清除至零,也可以使用捨入為零。

常數
M_1_PI 1 / pi,以 32 位元的浮點值表示
M_2_PI 2 / pi,以 32 位元的浮點值表示
M_2_SQRTPI 2 / sqrt(pi),以 32 位元的浮點值表示
M_E e (採用 32 位元的浮點值)
M_LN10 log_e(10),顯示為 32 位元的浮點值
M_LN2 log_e(2),顯示為 32 位元的浮點值
M_LOG10E log_10(e),顯示為 32 位元浮點
M_LOG2E log_2(e),顯示為 32 位元的浮點值
M_PI pi (以 32 位元的浮點值表示)
M_PI_2 pi / 2,以 32 位元浮點值
M_PI_4 pi / 4,以 32 位元浮點值
M_SQRT1_2 1 / sqrt(2),以 32 位元的浮點值表示
M_SQRT2 sqrt(2),以 32 位元的浮點值表示
函式
abs 整數的絕對值
acos 反餘弦
acosh 反雙曲線餘弦
acospi 將反餘弦除以 pi
asin 反正弦
asinh 反雙曲線正弦
asinpi 反正弦除以 pi
atan 反正切
atan2 比率的反正切
atan2pi 比率的反正切除以 pi
atanh 反雙曲線正切
atanpi 將反正切除以 pi
cbrt 立方根
ceil 不得小於值的小型整數
取值範圍 將值限制在特定範圍
clz 開頭的 0 位元數量
copysign 將數字的正負號複製到另一個
cos 餘弦
cosh 雙曲線餘弦
cospi 指定數字乘以 pi 的餘弦值
度數 將弧度轉換為角度
erf 數學錯誤函式
erfc 數學互補錯誤函式
exp e 提高為數字
exp10 10 為數字
exp2 2 已提高為數字
expm1 e+1 減去一
fabs 浮點值的絕對值
fdim 兩個值之間的正差異
floor 不大於值的小型整數
fma 乘上並新增
fmax 最多兩個浮點值
fmin 最少兩個浮點值
fmod 模數
細菌 正分部分
frexp 二進位制式和指數
half_recip 運算元的精確度為 16 位元
half_rsqrt 計算為 16 位元精確度的平方根相互參照
half_sqrt 計算為 16 位元精確度的平方根
hypot 斜邊
ilogb 以兩個指數為基準
ldexp 從 Maantisa 和指數建立浮點數
lgamma Gamma 函式的自然對數
log 自然對數
log10 以 10 為底數
log1p 指定值加上 1 的自然對數
log2 底數 2 對數
logb 以兩個指數為基準
mad 乘上並新增
max 最大值
min 最低
合輯 混合兩個值
modf 積分和分數元件
nan 不是數字
nan_half 不是數字
native_acos 近似反餘弦
native_acosh 近似反雙曲線餘弦值
native_acospi 近似餘弦除以 pi
native_asin 近似反正弦
native_asinh 近似反雙曲線正弦值
native_asinpi 近似反正弦除以 pi
native_atan 近似反正切
native_atan2 比率的近反正切值
native_atan2pi 比率的近反正切除以 pi 的值
native_atanh 近似反雙曲正切
native_atanpi 近似正切除以 pi
native_cbrt 近似立方根
native_cos 近餘餘弦
native_cosh 近似雙曲線餘弦
native_cospi 指定數字乘以 pi 的近餘弦
native_divide 近似除法
native_exp 概略 e 提高為多個數字
native_exp10 取數字約為 10
native_exp2 取值約 2
native_expm1 概略 e 提高為指定數字減 1
native_hypot 近似假設
native_log 近似自然對數
native_log10 約以 10 為底數
native_log1p 指定值的近似自然對數加上 1
native_log2 底數約 2 的對數
native_powr 將近正數調高為指數
native_recip 近似互補
native_rootn 近 n 次方根
native_rsqrt 平方根的近似倒數
native_sin 近正弦
native_sincos 近正弦和餘弦
native_sinh 近似雙曲正弦
native_sinpi 指定數字乘以 pi 的近正弦值
native_sqrt 近平方根
native_tan 近正切
native_tanh 近似雙曲正切
native_tanpi 指定數字乘以 pi 的正正切值
nextafter 下一個浮點數
pow 以指數為準
Pown 以整數指數為基礎
powr 提高為指數的正底數
弧度 將角度轉換為弧度
remainder 除法餘數
remquo 除法的餘數與商
rint 四捨五入
rootn N 次方根
圓形 四捨五入
rsRand 虛擬隨機號碼
rsqrt 平方根的倒數
sign 值的符號
sin 正弦
sincos 正弦和餘弦
Sinh 雙曲線正弦
sinpi 指定數字乘以 pi 的正弦
sqrt 平方根
步驟 如果小於某個值,則傳回 0,否則傳回 0
tan 正切
tanh 雙曲線正切
tanpi 指定數字乘以 pi 的正切值
tgamma Gamma 函式
trunc 截斷浮點

向量數學函式

這些函式會將輸入引數解讀為 N 維空間中的向量表示法。

32 位元浮點數的數學運算的精確度會受到 pragmas rs_fp_relaxed 和 rs_fp_full 影響。詳情請參閱數學常數和函式

使用常見數學函式的變體,即可達成不同的精確度/速度的取捨。名稱開頭為

  • native_:可能採用精確度較低的自訂硬體實作。此外,子常值可能會完全清除至零,使用四捨五入為零,且無法正確處理 NaN 和無限輸入的資料。
  • 快速_:可能會使用 16 位元浮點值執行內部運算。此外,子常態值可清除至零,也可以使用捨入為零。

函式
cross 兩個向量的交叉乘積
距離 兩點之間的距離
兩個向量的點積
Fast_distance 兩點之間的概略距離
Fast_length 向量的約略長度
Fast_normalize 近似正規化向量
length 向量長度
native_distance 兩點之間的概略距離
native_length 向量的約略長度
native_normalize 對向量進行大致正規化處理
正規化 將向量正規化

矩陣函式

這些函式可讓您操控排名 2x2、3x3 和 4x4 的方形矩陣。特別適合用於圖形轉換,且與 OpenGL 相容。

我們對列和欄使用從零開始的索引。例如,rs_ Matrix4x4 的最後一個元素是在 (3, 3) 處。

RenderScript 會使用資料欄主要矩陣和資料欄型向量。轉換向量的方式是透過將向量 (例如 (matrix * vector)) 後乘上而完成,如 rsMatrixMultiply() 所提供。

若要建立一次執行兩項轉換的轉換矩陣,請將兩個來源矩陣乘以第一個轉換,做為右引數。舉例來說,如要建立同時套用轉換 s1 和 s2 的轉換矩陣,請呼叫 rsMatrixLoadMultiply(&combined, &s2, &s1)。這會從 s2 * (s1 * v) 衍生,也就是 (s2 * s1) * v

我們有兩種函式可以建立轉換矩陣:rsMatrixLoadTransformation 和 rsMatrixTransformation。先前的樣式只會將轉換矩陣儲存在第一個引數中。後者會修改既有的轉換矩陣,讓新的轉換先進行。舉例來說,如果您在已經執行資源調度的矩陣上呼叫 rsMatrixTranslate(),則先將產生的矩陣套用至向量時,會先進行平移,再進行資源調度。

函式
rsExtractFrustumPlanes 計算砂輪飛機
rsIsSphereInFrustum 檢查球面是否位於視錐體內
rsMatrixGet 取得 1 個元素
rsMatrixInverse 將定位點反轉
rsMatrixInverseTranspose 反轉並轉置矩陣
rsMatrixLoad 載入或複製矩陣
rsMatrixLoadFrustum 載入視錐範圍投影矩陣
rsMatrixLoadIdentity 載入識別資訊矩陣
rsMatrixLoadMultiply 將兩個矩陣相乘
rsMatrixLoadOrtho 載入正規投影矩陣
rsMatrixLoadPerspective 載入透視投影矩陣
rsMatrixLoadRotate 載入旋轉矩陣
rsMatrixLoadScale 載入資源調度矩陣
rsMatrixLoadTranslate 載入翻譯矩陣
rsMatrixMultiply 將矩陣乘以向量或其他矩陣
rsMatrixRotate 對轉換矩陣套用旋轉角度
rsMatrixScale 對轉換矩陣套用縮放比例
rsMatrixSet 設定一個元素
rsMatrixTranslate 將平移套用到轉換矩陣
rsMatrixTranspose 轉置矩陣位置

四元數函式

以下函式會操控四元數。

函式
rsQuaternionAdd 將兩個四元數相加
rsQuaternionConjugate 共和四元數
rsQuaternionDot 兩個四元數的點積
rsQuaternionGetMatrixUnit 取得四元數的旋轉矩陣
rsQuaternionLoadRotate 建立旋轉四元數
rsQuaternionLoadRotateUnit 代表任意單位向量旋轉的四元數
rsQuaternionMultiply 將四元數乘以純量或其他四元數
rsQuaternionNormalize 將四元數正規化
rsQuaternionSet 建立四元數
rsQuaternionSlerp 兩個四角之間的球面線性內插

完整更新函式

如要更新多個執行緒之間共用的值,請使用以下函式。 他們會確保值全面更新,也就是讓系統以正確的順序執行記憶體讀取、更新和記憶體寫入作業。

這些函式的速度比非不可分割的對等項目慢,因此請只在需要同步時使用。

請注意,在 RenderScript 中,即使您並未明確建立程式碼,您的程式碼仍可能在不同執行緒中執行。RenderScript 執行階段通常會將一個核心的執行作業分割至多個執行緒。更新全域變數時應透過原子函式完成。可以的話,請修改演算法,避免完全採用。

函式
rsAtomicAdd 執行緒安全新增功能
rsAtomicAnd 執行緒安全位元和
rsAtomicCas 比較及設定執行緒安全
rsAtomicDec 執行緒安全減少功能
rsAtomicInc 執行緒安全遞增
rsAtomicMax 執行緒安全上限
rsAtomicMin 執行緒安全下限
rsAtomicOr 執行緒安全位元或
rsAtomicSub 確保執行緒安全
rsAtomicXor 僅限執行緒安全位元,或

時間函式與類型

以下函式可用來告知目前的時鐘時間和目前的系統運作時間。我們不建議在核心內呼叫這些函式。

類型
rs_time_t 自 1970 年 1 月 1 日以來的秒數
rs_tm 日期和時間結構
函式
rsGetDt 上次通話後經過的時間
rsLocaltime 轉換為當地時間
rsTime 自 1970 年 1 月 1 日以來的秒數
rsUptimeMillis 系統運作時間 (以毫秒為單位)
rsUptimeNanos 系統運作時間 (以奈秒為單位)

分配建立函式

以下函式可用於從指令碼建立分配作業。

這些函式可直接從可叫用的函式直接或間接呼叫。如果某些控制流程路徑可能會導致從 RenderScript 核心函式呼叫這些函式,系統會產生編譯器錯誤。

函式
rsCreateAllocation 建立指定類型的 rs_allocation 物件。
rsCreateElement 建立指定資料類型的 rs_element 物件
rsCreatePixelElement 建立指定資料類型和資料類型的 rs_element 物件
rsCreateType 建立包含指定元素和形狀屬性的 rs_type 物件
rsCreateVectorElement 建立指定資料類型和向量寬度的 rs_element 物件

分配資料存取函式

以下函式可用於取得及設定構成分配作業的儲存格。

  • 個別儲存格可以使用 rsGetElementAt* 和 rsSetElementAt 函式存取。
  • 您可以使用 rsAllocationCopy* 和 rsAllocationV* 函式複製多個儲存格。
  • 如要透過取樣器取得值,請使用 rsSample
rsGetElementAt 和 rsSetElement* 函式有點名稱錯誤。 它們不會取得或設定類似資料類型的元素,會取得或設定儲存格。這可視為 rsGetCellAt 和 rsSetCellAt。

函式
rsAllocationCopy1DRange 在不同分配範圍之間複製連續儲存格
rsAllocationCopy2DRange 在不同配置之間複製儲存格的矩形區域
rsAllocationVLoadX 透過純量的分配方式取得向量
rsAllocationVStoreX 將向量儲存至純量的分配作業
rsGetElementAt 傳回來自分配作業的儲存格
rsGetElementAtYuv_uchar_U 取得 YUV 分配的 U 元件
rsGetElementAtYuv_uchar_V 取得分配 YUV 的 V 元件
rsGetElementAtYuv_uchar_Y 取得分配 YUV 的 Y 元件
rsSample 從紋理配置中取樣值
rsSetElementAt 設定分配作業的儲存格

物件特性函式

以下函式可用於查詢 Allocation、Element 或 Sampler 物件的特性。這些物件是透過 Java 建立。您無法透過指令碼建立這些項目。

分配:

分配是向 RenderScript 核心傳送及接收資料的主要方法。

這些是結構化的儲存格集合,可用來儲存點陣圖、紋理、任意資料點等。

這個儲存格集合可能包含許多維度 (X、Y、Z、Array0、Array1、Array2、Array3)、臉孔 (適用於立方體),以及細節層級 (適用於 mipmapping)。

如要進一步瞭解如何建立配置,請參閱 android.renderscript.Allocation

元素:

在 RenderScript 中,「元素」一詞有點明確使用,做為配置儲存格的類型資訊以及該類型的例項化。例如:

  • rs_element 是類型規格的控制代碼,
  • rsGetElementAt() 的函式中,「元素」是指類型例項化,即配置的儲存格。

以下函式可讓您查詢類型規格的特性。

元素可以指定簡單的資料類型,如 C 所示,例如整數、浮點或布林值。也可以為 RenderScript 物件指定控制代碼。如需基本類型的清單,請參閱 rs_data_type

元素可以指定基本類型的固定大小向量 (大小為 2、3 或 4)。元素可分成複雜的元素,建立對等的 C 結構定義。

元素也可以擁有種類,這是用來解譯像素資料的語意資訊。請參閱「rs_data_Kind」。

建立常見元素的配置時,只要使用眾多預先定義的元素之一,例如 F32_2

如要建立複雜的元素,請使用 Element.Builder Java 類別。

取樣器:

取樣物件會定義分配方式,在核心中當做結構讀取。請參閱 android.renderscript.S

函式
rsAllocationGetDimFaces 出現多張臉孔
rsAllocationGetDimLOD 詳細程度
rsAllocationGetDimX X 維度的大小
rsAllocationGetDimY Y 維度的大小
rsAllocationGetDimZ Z 維度的大小
rsAllocationGetElement 取得描述配置儲存格的物件
rsClearObject 釋出物件
rsElementGetBytesSize 元素大小
rsElementGetDataKind 元素種類
rsElementGetDataType 元素的資料類型
rsElementGetSubElement 複雜元素的子元素
rsElementGetSubElementArraySize 複雜元素子元素的陣列大小
rsElementGetSubElementCount 子元素數量
rsElementGetSubElementName 子元素的名稱
rsElementGetSubElementNameLength 子元素名稱的長度
rsElementGetSubElementOffsetBytes 例項化子元素的偏移量
rsElementGetVectorSize 元素的向量大小
rsIsObject 檢查是否有空白帳號代碼
rsSamplerGetAnisotropy 取樣器的異質
rsSamplerGetMagnification 取樣器放大值
rsSamplerGetMinification 取樣器壓縮值
rsSamplerGetWrapS 取樣器包裝 S 值
rsSamplerGetWrapT 取樣器包裝 T 值

核心叫用函式與類型

rsForEach() 函式可用來叫用指令碼的根核心。

其他函式可用於取得叫用執行中的核心的特性,例如維度和目前的索引。這些函式會將 rs_kernel_context 做為引數使用。

類型
rs_for_each_strategy_t 建議的儲存格處理順序
rs_kernel 核心函式處理
rs_kernel_context 處理核心叫用結構定義
rs_script_call_t 儲存格疊代資訊
函式
rsForEvery 啟動核心
rsForEveryInternal (內部 API) 在目前的指令碼中啟動核心 (包含運算單元編號)
rsForEveryWithOptions 使用選項啟動核心
rsGetArray0 指定核心結構定義的 Array0 維度中的索引
rsGetArray1 指定核心結構定義的 Array1 維度中的索引
rsGetArray2 指定核心結構定義的 Array2 維度中的索引
rsGetArray3 指定核心結構定義的 Array3 維度中的索引
rsGetDimArray0 指定核心結構定義的 Array0 維度大小
rsGetDimArray1 指定核心結構定義的 Array1 維度大小
rsGetDimArray2 指定核心結構定義的 Array2 維度大小
rsGetDimArray3 指定核心結構定義的 Array3 維度大小
rsGetDimHasFaces 指定的核心環境出現多個臉孔
rsGetDimLod 指定核心內容的詳細程度
rsGetDimX 指定核心結構定義的 X 維度大小
rsGetDimY 指定核心結構定義的 Y 維度大小
rsGetDimZ 指定核心結構定義的 Z 維度大小
rsGetFace 指定核心結構定義的 Face 座標
rsGetLod 特定核心結構定義「詳細資料層級」維度中的索引

輸入/輸出函式

這些函式的用途如下:

  • 將資訊傳送至 Java 用戶端,並且
  • 傳送已處理的分配金額,或接收下一項進行處理的分配作業。

函式
rsAllocationIoReceive 從佇列接收新內容
rsAllocationIoSend 將新內容傳送至佇列
rsSendToClient 傳送訊息給用戶端,而非阻塞式
rsSendToClientBlocking 傳送訊息給用戶端,封鎖

偵錯函式

以下函式適用於開發應用程式。請勿在運送申請中使用。

函式
rsDebug 記錄訊息和值

圖形函式與類型

RenderScript 的圖形子系統已從 API 級別 23 中移除。