本日はUnityの調査枠です。
先日、HoloLensでデバイスのバッテリー状況の取得を行いました。
この際にUnityのSystem.Infoを使用しました。
System.Infoクラスはアプリケーションが実行されているデバイスの情報を取得することができます。
例えば昨日はHoloLens2のGPUや筆者のHoloLens 2のデバイスネーム、動作しているデバイスがHoloLens 2であることなどを取得しました。



昨日からSystem.InfoがHoloLensで動表示されるのかを見ています。今回は続きを調べていきます。
〇operatingSystem
その名の通り実行しているOS名を取得します。
実機では次の様に表示されます。

OSのバージョンまで取得できました。
〇operatingSystemFamily
アプリケーションが実行されているOSの大枠を取得します。単にmacOSX、Windows、Linaxといった情報のみを取得したい場合はこちらを使用するほうが良いようです。
Unity - Scripting API: OperatingSystemFamily
実機では次の様に表示されます。

もちろんWindowsが表示されます。。
〇processorCount
現在のプロセッサ数を表示します。

〇processorType
プロセッサのタイプを取得します。

これはGPUに相当しHoloLens 2にはSnapdragon 850 2.80GHzが搭載されていることがわかります。
〇renderingThreadingMode
レンダリングスレッディングモードを取得します。 レンダリングスレッドモードとはレンダリングにかかわる係数でUnityアプリケーション起動時に指定されます。
実機では以下のように表示されます。

マルチスレッドに対応しています。
〇supportedRenderTargetCount
サポートしているレンダリングターゲットの数を表示します。

サポートされているレンダリングターゲット数は8になります。
〇supportsAccelerometer
加速度センサーが使用可能かどうかを取得します。

HoloLensの自己位置推定(SLAM)では加速度を用いているため当然Trueが返されます。
〇supportsAsyncCompute
非同期計算キューをサポートしている場合はtrueが返され、そうでない場合はfalseが返されます。
これはfalseが返されました。非同期計算キューはサポートされていないようです。
〇supportsAudio
オーディオがサポートされている場合はTrueが返されるようです。
オーディオが使用できるデバイスと、そうでないデバイスで区別することができるようです。

当然Trueが返されます。
〇supportsComputeShaders
Compute シェーダーがサポートされているかどうかを返します。
Computeシェーダーは以下の記事が詳しいです。
GPUにアクセスすることができより高度な処理ができるようです。

これはTrueが返されます。
〇supportsGeometryShaders
ジオメトリシェーダーがサポートされているかどうかです。

Trueが返されます。 HoloLensの手のメッシュの表現であるHandTrianglesShader等でジオメトリシェーダーの機能が使用されています。
本日は以上になります。