2016-05-08 10 views
2

多くのデバイスでうまく動作するlibgdxを使ってAndroidゲームを作成しました。私は最近、私のゲームをチェックするのに「ローエンド」の電話を使いました。それは本当に再生可能ではありませんでした。速いAndroidデバイスと遅いAndroidデバイスを簡単に区別する方法

Android Studioのツールを使用して、このローエンドのデバイスのCPU時間(10%〜20%)が問題ではないと考えました。同じグラフィックを使用して同じゲームを作成しましたが、サイズの半分(グラフィックは128x128だったのは64x64ピクセルになりました)でした。これは大いに役立ち、ゲームは再びうまくいった。

私の質問は今、普通のサイズのグラフィックを使うべきか、グラフィックスの半分のサイズを使うべきかを知るにはどうすればいいですか? 私は、CPUの速度を測定するようなものを探しています(これは、gpuの速度についての適切な指標でなければならないと思いますが、ローエンドプロセッサを搭載したデバイスにはおそらくローエンドGPUが搭載されている可能性があります)。プロセッサーの速度が好みのように簡単ではないことがわかります。

スクリーンセーバーの最小サイズが800ピクセル以下の場合はローエンドのデバイス、それ以外の場合は「通常の」デバイスです。はい、非常に恣意的なことですが、私は知っています。デバイスが合理的に速いかどうかをよりスマートに調べることを望んでいます。 私の知る限り、Androidデバイス用に存在するすべてのスクリーンサイズの概要は、最初の8つは(私の '800またはそれ以下の'ルールを使用して)ローエンドデバイスであり、その他は正常です。

ローエンド:800×480、800×600、960×540、1024x758、1024x600、1024x768の、1280×720 &を1366x768

ノーマル:1280×800、1920×1200、2048×1536、2736x1824、1600x900、1600x1200の、1920×1080、1920×1280、2160x1440、2,560、2560×1600 、2738x2048 &3840x2160。あなたが行うことができます

答えて

4

ことの一つは、このシステムファイル読み込み:

/SYS /デバイス/システム/ CPU/CPU0/cpufreqを/ cpuinfo_max_freq

をそれの最大クロック速度が何であるかを知っていることができますプロセッサ。次に、それを遅いデバイスまたは高速デバイスとみなすべきときを決定します。

CPUの情報にアクセスするための別の方法は次のように/ proc/cpuinfoをアクセスすることです:

private String getInfo() 
{ 
    StringBuffer sb = new StringBuffer(); 
    sb.append("abi: ").append(Build.CPU_ABI).append("n"); 

    if (new File("/proc/cpuinfo").exists()) 
    { 
     try 
     { 
      BufferedReader br = new BufferedReader(new FileReader(new File("/proc/cpuinfo"))); 
      String aLine; 
      while ((aLine = br.readLine()) != null) 
      { 
       sb.append(aLine + "n"); 
      } 

      if (br != null) 
      { 
       br.close(); 
      } 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
    return sb.toString(); 
} 

//コードは、私はそれをテストしていませんが、作業をする必要があり、ここでhttp://www.roman10.net/2011/12/31/how-to-get-cpu-information-on-android/から来ています。クレジットはスクリプトのroman10に送られます。

この2番目の方法ではルートアクセスが必要ですが、最初の方法はわかりません。

また、GPUの場合、これらはCPUと統合されたチップセットなので、CPU IDを持っている場合は基本的にGPUがあります。

希望はあなたを助けます。

+0

これは、どのプロセッサが使用されているかを調べるのには良い方法のようですが、スピードについては何も言いません。少なくとも、使用可能なすべてのプロセッサとモデルについてのドキュメントがなくても、新しいプロセッサが導入されたときには将来の保証はありません。 一方、あなたは答えが唯一の答えです(ありがとう!)私は私のために働くものの基礎としてそれを使用しようとします。 – Tjeerd

+0

新しいモデルはサポートされないと言ったように、CPU参照を使うのは良い考えではありません。しかし、2番目のテクニクを使ってできることは、コア数(プロセッサ:0、プロセッサ:1 ...)とBogoMIPSを見ることです。これは実際にブート時にLinuxカーネルによって計算された値ですそれはあなたがイーサネットを判断するのに使うことができる何らかの種類のスピード値(科学的ではない)です。遅いCPUまたは高速なものです。希望はもう少しあなたに役立ちます。 –

関連する問題