2017/05/31
HTC Vive Tracker (VR)
HTC Vive の Vive Tracker 購入しました。

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 で動くかどうか

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 で動くかどうか
2017/05/29
AMD CPU Ryzen とコンパイル時間の比較
比較的安価ながら多コアの CPU、AMD Ryzen はコンパイルの長い長い待ち時間を減らしてくれるかもしれません。Ryzen PC を手に入れたので実際に比較してみました。Skylake Core i7-6700K で 27分かかる UE4 のビルドが Ryzen 1800X ではおよそ 20分まで短縮しています。
上の表は UE44.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 等並列化されていないタスクがあるので、並列度が上がれば上がるほど全体のビルド時間にシングルタスク部分の割合が増えていくことになります。(アムダールの法則) シングルタスクの割合が小さければもっと差が開いていたものと思われます。
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
(1) の Haswell は RAM 容量が半分かつ HDD なのでかなりハンデがあります。純粋な CPU の能力ではなく環境で差が生じているので、比較は参考程度にお願いします。2回目はある程度キャッシュに乗った状態なので差が縮まっていることがわかるかと思います。
(3) Ryzen はクロックが低いものの (2) Skylake 比で 7分ほど短縮できました。多 core 化の恩恵はプログラマにとっても非常に大きいようです。よりパワフルな CPU が入手しやすくなったのはとても喜ばしいことです。
CPU core 数が倍になっていますがビルド時間は必ずしも半分にはなっていません。UnrealBuildSystem はスレッド化されていますが完全な同期型となっています。並列実行可能なソースコンパイルがすべて完了してからシングルスレッドでリンクを行っているようです。
他にも UnrealHeaderTool 等並列化されていないタスクがあるので、並列度が上がれば上がるほど全体のビルド時間にシングルタスク部分の割合が増えていくことになります。(アムダールの法則) シングルタスクの割合が小さければもっと差が開いていたものと思われます。