「RenderScript」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator |
imported>Administrator |
||
7行目: | 7行目: | ||
Androidには標準で[[CPU]][[ドライバ]]が含まれており、とりあえずAndroid 4.2以降であれば[[GPU]]がショボい端末でも動くという特徴がある。 | Androidには標準で[[CPU]][[ドライバ]]が含まれており、とりあえずAndroid 4.2以降であれば[[GPU]]がショボい端末でも動くという特徴がある。 | ||
− | Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]] | + | Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]]を使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主に[[Java]]で書くと死ぬほど遅い[[2D]]の[[画像処理]]を書くのに使われる。[[スマホ]]のしょぼい[[GPU]]では「[[GPGPU]]だから速い」という利点はほぼなく、どちらかというと[[Java]]では記述の難しい部分を補う手法、かつ[[NDK]]([[C言語]])のように[[SoC]]に依存するものではない手法という意味合いが強い。 |
− | == | + | == Xamarin.Android == |
− | + | ちなみに[[Xamarin.Android]]ではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでポインタをぶん回す方法である程度は突破できる。 | |
− | |||
− | |||
− | == 参考文献 == | + | ==関連項目== |
− | * 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でそれらは廃止され、現在はいわゆるOpenCLやCUDAなどと類似するGPGPU向けのコンピュートシェーダーと2D画像処理向けの組み込み関数群というかたちに落ち着いている。
このような歴史的背景から名前はRenderScriptだが実質的にはComputeScriptである。
Androidには標準でCPUドライバが含まれており、とりあえずAndroid 4.2以降であればGPUがショボい端末でも動くという特徴がある。
Androidが採用しているJavaやKotlinはビットマップをピクセル単位で処理する、いわゆる「ポインタを使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主にJavaで書くと死ぬほど遅い2Dの画像処理を書くのに使われる。スマホのしょぼいGPUでは「GPGPUだから速い」という利点はほぼなく、どちらかというとJavaでは記述の難しい部分を補う手法、かつNDK(C言語)のようにSoCに依存するものではない手法という意味合いが強い。
Xamarin.Android
ちなみにXamarin.AndroidではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでポインタをぶん回す方法である程度は突破できる。