頭に浮かぶ1つの方法は、フレームのピクセルをテクスチャに描画し、OpenGLを使用してそのテクスチャをレンダリングすることです。
これについては、主に昔ながらのピクセルベースのビデオゲームについてのブログ投稿を書きましたが、それはあなたの状況にも当てはまります。投稿はCでのAndroidNativeCodingであり、例を使用してgithubリポジトリを設定しました。この手法を使用すると、第1世代のハードウェアでも60FPSを得ることができました。
このアプローチのglTexImage2DとglTexSubImage2Dに関する編集。
glTexImage2Dを呼び出すと、テクスチャにビデオメモリが割り当てられ、渡すピクセルがそのメモリにコピーされます(NULLを渡さない場合)。glTexSubImage2Dを呼び出すと、すでに割り当てられているテクスチャで指定したピクセルが更新されます。
すべてのテクスチャを更新する場合、どちらか一方を呼び出すことにほとんど違いはありません。実際、glTexImage2Dの方が通常は高速です。ただし、テクスチャの一部のみを更新すると、glTexSubImage2Dが速度に勝ちます。
2の累乗のテクスチャサイズを使用する必要があるため、高解像度デバイスで画面をカバーするには、1024x512のテクスチャが必要であり、中解像度では512x512のテクスチャが必要です。テクスチャは画面領域よりも大きく(高解像度は800x400っぽい)、これはその一部を更新するだけでよいことを意味するため、glTexSubImage2Dが最適です。