現在のGPUが現在のハイエンドプロファイル(MotorolaのAtrixやGalaxy s2など)に属しているかどうかを安全に検出する方法を探しています。これにより、実行時に、ゲームでより洗練された視覚効果を有効にできます。
誰かが同じようなことをうまくやったことがありますか?デュアルコアCPUの検出については考えていますが、通常は優れたGPUが付属していますが、ほとんどの状況で問題なく動作するかどうかをテストするのに十分なデバイスがありません。
使用可能なプロセッサを取得します:http: //docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runtime.html#availableProcessors()
これらの「より洗練された視覚効果」にOpenGLES拡張機能が必要な場合は、それらの拡張機能の存在を簡単にテストできます。
そうでない場合は、長期的には、ユーザーがグラフィック設定を構成できるようにする方がよいでしょう。そうしないと、新しいGPUが出てきても、ハードコードされたGPUのリストに含まれないため、低品質のグラフィックスが得られます。
AndroidはLinuxカーネルの上にありますが、/proc/cpuinfoファイルを順番に読み取って解析することを検討しましたか?
私はゲームではなくアプリケーションを作成しているので、最適なものを自動構成する必要があります。テクスチャのサイズについては、ヒープサイズをテストし、ヒープを使用しました。また、ソフトウェアモード(PixelFlinger)で実行している場合は、小さなテクスチャ。
ヒープフリーと2CPUが十分にある場合は、AAを使用してOpenGL2.0で3Dエンジンを実行します。これまでのところ、これは私たちが持っているデバイスの数でうまく機能します。
注:一部の電話ROMは、2つある場合に1CPUが無料であると報告していることに気付きました。