13

通常、以下のコードを使用して、デバイスの iOS バージョンを識別します。

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0)

同様の方法で、デバイスの Metal サポートを見つけようとしています。Metal は、A7 (またはそれ以上) の GPU と iOS 8.0 を搭載した Apple デバイスでサポートされています。

これは、私のコードが機能することを期待する方法です:

if (MetalSupported == true) {
  // metal programming
} else {
  // opengles2 programming
}

ブール変数の値を取得するにはどうすればよいですMetalSupportedか?

4

4 に答える 4

0

Ricster は、実行時に金属をサポートするデバイスを識別するためのすべての方法について明確に説明しました。メタルライブラリを含めてクラス内で MTLCreateSystemDefaultDevice() が使えない場合は、デバイス情報(iOSバージョン、gpu/cpuアーキテクチャ)を利用しますが、デバイス情報を利用する際はRicsterが説明しているケースを全て考慮する必要があります。

void deviceConfigurations(){
        size_t size;
        cpu_type_t type;
        cpu_subtype_t subtype;
        size = sizeof(type);
        sysctlbyname("hw.cputype", &type, &size, NULL, 0);

        size = sizeof(subtype);
        sysctlbyname("hw.cpusubtype", &subtype, &size, NULL, 0);
}

サブタイプとタイプ変数を使用して、デバイスおよびその他の情報を識別します。

于 2015-05-05T07:02:26.067 に答える