rsSample() は、エイリアシングを回避するために、複数の詳細レベルにわたってミップマップされたテクスチャからサンプリングすることを目的としているようです。魚眼レンズの例は良いユースケースです。
この実装では、基礎となるミップマップから 8 ピクセルを単純にサンプリングし、それらの線形ブレンドを行います。
この単純なカーネルでは、Google Pixel で 15 メガピクセル/秒しか取得できないようです。
uchar4 __attribute__((kernel)) rescaletest(uint32_t x, uint32_t y) {
float2 location = {x,y};
return convert_uchar4(rsSample(gInput8888, gWrapLinearMipLinear, location/2000.f, 1.5f)*255.f);
}
合成されたすべてのグラフィックスはおそらくミップマップを使用し、60fps で 1 つのテクスチャを合成するには 120Mpixels/秒が必要であると考えると、何が間違っているのでしょうか?