「RenderScript」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
7行目: 7行目:
 
Androidには標準で[[CPU]][[ドライバ]]が含まれており、とりあえずAndroid 4.2以降であれば[[GPU]]がショボい端末でも動くという特徴がある。
 
Androidには標準で[[CPU]][[ドライバ]]が含まれており、とりあえずAndroid 4.2以降であれば[[GPU]]がショボい端末でも動くという特徴がある。
  
Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]]を使ってぶん回す」系の処理には死ぬほど向いていない。[[Xamarin.Android]]を使ってポインタをぶん回すという方法もあるが、[[Xamarin]][[Google]]純正ではないので非公式な方法である。それを補うのがRenderScriptであり、主に[[Java]]で書くと死ぬほど遅い[[2D]][[画像処理]]を書くのに使われる。
+
Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]]を使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主に[[Java]]で書くと死ぬほど遅い[[2D]][[画像処理]]を書くのに使われる。[[スマホ]]のしょぼい[[GPU]]では「[[GPGPU]]だから速い」という利点はほぼなく、どちらかというと[[Java]]では記述の難しい部分を補う手法、かつ[[NDK]]([[C言語]])のように[[SoC]]に依存するものではない手法という意味合いが強い。
  
== 関連項目 ==
+
== Xamarin.Android ==
* [[CUDA]]
+
ちなみに[[Xamarin.Android]]ではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでポインタをぶん回す方法である程度は突破できる。
* [[OpenCL]]
 
* [[DirectCompute]]
 
  
== 参考文献 ==
+
==関連項目==
* https://developer.android.com/about/versions/android-3.0-highlights.html#graphic
+
 
* https://developer.android.com/about/versions/android-4.2
+
*[[CUDA]]
* https://developer.android.com/guide/topics/renderscript/compute
+
*[[OpenCL]]
 +
*[[DirectCompute]]
 +
 
 +
==参考文献==
 +
 
 +
*https://developer.android.com/about/versions/android-3.0-highlights.html#graphic
 +
*https://developer.android.com/about/versions/android-4.2
 +
*https://developer.android.com/guide/topics/renderscript/compute

2018年12月13日 (木) 08:03時点における版

RenderScriptとは、Androidが採用、搭載しているCUDAに似たプログラマブルシェーダーである。

RenderScriptはAndroid 3.0で登場した機能で、もともとはその名前のとおり3Dレンダリングするためのものであったが、いろいろと試行錯誤を繰り返したのち、Android 4.2でそれらは廃止され、現在はいわゆるOpenCLCUDAなどと類似するGPGPU向けのコンピュートシェーダーと2D画像処理向けの組み込み関数群というかたちに落ち着いている。

このような歴史的背景から名前はRenderScriptだが実質的にはComputeScriptである。

Androidには標準でCPUドライバが含まれており、とりあえずAndroid 4.2以降であればGPUがショボい端末でも動くという特徴がある。

Androidが採用しているJavaKotlinビットマップピクセル単位で処理する、いわゆる「ポインタを使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主にJavaで書くと死ぬほど遅い2D画像処理を書くのに使われる。スマホのしょぼいGPUでは「GPGPUだから速い」という利点はほぼなく、どちらかというとJavaでは記述の難しい部分を補う手法、かつNDKC言語)のようにSoCに依存するものではない手法という意味合いが強い。

Xamarin.Android

ちなみにXamarin.AndroidではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでポインタをぶん回す方法である程度は突破できる。

関連項目

参考文献