2011-08-11 14 views
4

私はアンドロイドでOpenGLを使用するアプリを開発しようとしており、理想的には元のドロイド(または少なくともOpenGL ES 2.0サポートを備えているすべての携帯電話)より古い任意の電話機で動作させるようにしています。現在、私は2048x2048のETC1テクスチャ圧縮を使用しています。私はそれをテストしているドロイドXでうまく動作しますが、現在はそれをテストする元のドロイドがありません。このトピックについても多くのデータを見つけることはできません。私はG1が512x512より大きいテクスチャでうまくやらなかったことを知っています。ドロイドは1024x1024ほどの大きさの画像でうまくいくようですが、2048x2048はどうですか? (再び、etc1圧縮、それは約2MBの大きさです)。また、ETC1はアルファをサポートしていないので、別のETC1テクスチャをロードしてアルファチャンネルをサポートしたいと思います。これはパイプの夢ですか?妥当なテクスチャサイズはアンドロイド

基本的には、少なくとも、すべてのものが大幅に減速することなく、元のドロイドよりも古いことのないアンドロイド電話機でテクスチャデータをロードする必要があるスペースを知りたいと思います。

+0

20248はかなり大きいようです。 – genpfault

+0

Woops、はい、それは私が2048を意味する、それをキャッチするために感謝します。 –

答えて

4

最大テクスチャサイズを取得するにはMAX_TEXTURE_SIZEを問い合わせるか、http://glbenchmark.comに電話をかけることができます(Droid情報hereが見つかります)。 G1は、GLES 2.0、AFAIKをサポートしていませんでした。

複数のテクスチャを読み込むことは、特に2MBを超えない場合には、確実に動作するはずです。しかし、もちろん、使用可能なメモリのサイズによって制限されます。

また、最適なパフォーマンスを得るには、テクスチャをミップマップする必要があります。 ETCを使用しているので、これはオフラインで行う必要があります。

アルファでETC1を使用する方法については、hereを参照してください。