メインメニューを開く

差分

RenderScript

145 バイト追加, 2019年5月16日 (木) 04:14
編集の要約なし
'''RenderScript'''とは、[[Android]]が採用、搭載している[[CUDA]]に似た[[プログラマブルシェーダー]]である。
== 概要 ==RenderScriptはAndroid 3.0で登場した機能で、もともとはその名前のとおり3Dレンダリングするためのものであったが、いろいろと試行錯誤を繰り返したのち、Android 4.2でそれらは廃止され、現在はいわゆる2でそれらは廃止され、現在ではいわゆる[[OpenCL]]や[[CUDA]]などと類似する[[GPGPU]]向けの[[コンピュートシェーダー]]と2D画像処理向けの組み込み関数群というかたちに落ち着いている。
このような歴史的背景から名前はRenderScriptだが実質的にはComputeScriptである。このような歴史的背景から名前は「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#がポインタをサポートしているのでポインタをぶん回す方法である程度は突破できる。がポインタをサポートしているのでRenderScriptを使わずともポインタをぶん回す方法である程度は突破できる。
==関連項目==
*https://developer.android.com/about/versions/android-4.2
*https://developer.android.com/guide/topics/renderscript/compute
 
[[カテゴリ:画像処理]]
[[カテゴリ:シェーダー]]
[[カテゴリ:Android]]
匿名利用者