月別アーカイブ: 2017年5月

HTC Vive Tracker (VR)

HTC Vive の Vive Tracker 購入しました。

null

Controller は HMD と Bluetooth で通信しますが、認識出来るのは最大 2個までです。3個目以上は有線で接続する必要がありました。

Vive Tracker には USB ドングルが付属しており、PC と直接無線でも通信できるようになっています。ペアリング操作は Vive Controller と全く一緒です。そのせいか、先に Controller の電源が入っていないと HMD 側にペアリングされてしまうことがあります。

・先に Vive Controller の電源を 2個とも入れておく (Tracker が付属のドングルと対応付けられるように)
・複数の Tracker をペアリングする時は、他の Tracker の USB ドングルを外しておく

Controller と違い形状が安定しており固定しやすくなっています。Base Station でよく使う三脚ネジがそのまま使えます。置いたときに軸が水平になるのも Controller との違いで、位置を合わせやすくなりました。とりあえずクロマキー合成の時の位置検出に活用しています。

関連エントリ
VR 対応 GPU の値段と Vive Controller 置き場
HTC Vive (VR ヘッドマウントディスプレイ) の接続
HTC Vive のセットアップと PC スペック、遅い PC で動くかどうか

AMD CPU Ryzen とコンパイル時間の比較

比較的安価ながら多コアの CPU、AMD Ryzen はコンパイルの長い長い待ち時間を減らしてくれるかもしれません。Ryzen PC を手に入れたので実際に比較してみました。Skylake Core i7-6700K で 27分かかる UE4 のビルドが Ryzen 1800X ではおよそ 20分まで短縮しています。

CPU Clock Core/Thread RAM Storage 1回目 2回目
(1) Core i7-4790K (Haswell) 4.0GHz 4 / 8 16GB HDD 39分 32分
(2) Core i7-6700K (Skylake) 4.0GHz 4 / 8 32GB SSD 27分 26分
(3) Ryzen 7 1800X 3.6GHz 8 / 16 32GB SSD 20分 19分

上の表は UE4 4.16.0 4.15.2 GitHub 版のビルド時間の比較です。Config は Development Editor。ビルドは Clean しながら 2回連続で行いました。1回目、2回目は実際にかかったコンパイル時間を意味しています。

(1) の Haswell は RAM 容量が半分かつ HDD なのでかなりハンデがあります。純粋な CPU の能力ではなく環境で差が生じているので、比較は参考程度にお願いします。2回目はある程度キャッシュに乗った状態なので差が縮まっていることがわかるかと思います。

(3) Ryzen はクロックが低いものの (2) Skylake 比で 7分ほど短縮できました。多 core 化の恩恵はプログラマにとっても非常に大きいようです。よりパワフルな CPU が入手しやすくなったのはとても喜ばしいことです。

CPU core 数が倍になっていますがビルド時間は必ずしも半分にはなっていません。UnrealBuildSystem はスレッド化されていますが完全な同期型となっています。並列実行可能なソースコンパイルがすべて完了してからシングルスレッドでリンクを行っているようです。

他にも UnrealHeaderTool 等並列化されていないタスクがあるので、並列度が上がれば上がるほど全体のビルド時間にシングルタスク部分の割合が増えていくことになります。(アムダールの法則) シングルタスクの割合が小さければもっと差が開いていたものと思われます。