アンドロイドサポートglreadpixelsよりも良い方法ですか?

私はアンドロイドゲームを作っています。(andengineを使って) ゲームプレイ画面を記録する必要があります。 これはプロモーションビデオを作るためのものではなく、ゲームプレイヤーがゲームのプレイを見直すためのものです。 私のアプリはビデオを単独で録画する必要があります。 だから私は市場で利用可能な録音アプリを使用してこの問題を解決することはできません。 私はすでに以下のコードをチェックしました。

http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/ScreenCaptureExample.java?spec=svn66d3057f672175a8a21f9d06e7a045942331f65c&r=66d3057f672175a8a21f9d06e7a045942331f65c

それは非常にうまくいく.. しかし、私は1つのスクリーンショットではなく、ゲームプレイビデオを記録したい。

滑らかな再生には少なくとも24fpsが必要ですが、glreadpixelsを使用すると、xoomデバイスで5fpsを得ることができます。 この最適化問題を解決するために、さまざまなウェブサイトを検索しました。 glreadplxelsと言っている人のほとんどがビデオを記録するには遅すぎます。

http://www.gamedev.net/topic/473794- glreadpixel-takes-tooooo-much-time/

彼らはglreadpixelsの代わりにglcopyteximage2dを推奨します。 glcopyteximage2dはglreadpixelsよりずっと高速です。 私はandengineでglcopyteximage2dを使用する方法を見つけることができません。 誰かがアンドロイドOpenGL ESはglcopyteximage2dをサポートしていないと言っています。

たぶん、滑らかなビデオを記録するもう1つの方法があります。 それはアンドロイドデバイスの読み込みフレームバッファです。 このメソッドを使用して市場で録音アプリのほとんど。これらのアプリはフレームバッファを取得するためのルート権限が必要です。 私はジンジャーブレッドの後にsuface_flingerからアンドロイドがキャプチャ画面をサポートするというニュースを読んだ。

しかし、私はルート許可なしでフレームバッファを使う方法を見つけることができません。 T_T

これらは私の推測の解決策です。

  1. glreadpixelsよりも優れた速度を持つ別のOpenGL APIを使用します。

  2. いくつかのアンドロイドAPIがルート権限なしでフレームバッファを取得できることを確認します。 (多分私はアンドロイドSURFACE_FLINGERにアクセスできますか?)

  3. 別のオフスクリーンテクスチャを描画して動画を録画します。

しかし、私はこれらの方法を実装する方法を知らない。 どのアプローチが正しいですか? Android用の動画を記録するためのコード例がありますか? この問題を解決するために私を助けてください。 あなたが他の方法を知っているなら、それは役に立つでしょう。

任意のヘルプは高く評価されます

2

1 答え

あなたのデバイスのGPUベンダーがes3.0をサポートしていますか?PBOを使用しようとすることができますか?

Here is a topic I you can refer to :Low readback performance with PBO , help !!!!!

0
追加された