漢なら Mac/Win/Linux のクロスプラットフォームグラフィックスアプリ開発ですよね!
しかし GPU を用いたグラフィックアプリ開発(OpenGL, Vulkan, OpenCL, etc)だと, リモートデスクトップや X11vnc で画面を飛ばすのは遅くて使いものにならないので, 基本ネイティブに画面を表示することになります. それゆえ, 3 つの 2K モニタで表示して開発という辛い日々が続いていました. また, 色味もモニタごとにことなるので, レンダリング画像の比較も難しい状況でした(毎回レンダリング画像を特定のモニタに転送して比較)
そんなとき, ふとしたことから, 最近の 4K モニタでは PbP(Picture by Picture)で 1 つのパネルに別々の画面(input source)を表示できるという噂を聞きつけましたので, PbP で画面を集約することで, クロスプラットフォームグラフィックスアプリ開発の効率化にチャレンジしてみました. また, 集約することで色味(カラープロファイル)を統一することもできると判断しました.
4K モニタを調達する.
最近は 4K モニタでも 10 万円を切っていて素晴らしいですね. ありがとうございます.
とりあえず IPS だと目に優しくてコーディング用に向いているらしいのと, 最新のもの(2016 年 4 月時点)ということで, フィリップスの 43 inch 4K モニタを調達しました.
PbP
Mac, Linux, Windows それぞれ 3 つのマシンがあって, それらから HDMI, DP or VGA でつなぎます.
(ちなみに, フィリップスのは, HDMI x 2, DP x 2, VGA x 1 があります)
フィリップスのは, PbP 2, 3, 4 分割をサポートしています. ただ, PbP 3 分割の場合は以下のような分割しかできないことがわかりました(左が一つ, 右が二つ).
+---+---+
| | |
| |---+
| | |
+---+---+
右に Windows 画面を縦長で出したかったのと, Windows では 2K x 2K という画面解像度が検出できなかったので, PbP 4 分割にし, Windows では GPU からケーブル 2 本出して 2 画面構成にすることにしました.
+------+------+
| lin | win1 |
+------+------+
| mac | win2 |
+------+------+
40inch 4K monitor + Mac, Linux, Windows 2K screen PBP + synergy keybord/mouse share for the win! pic.twitter.com/NuP4mn6p04
— Syoyo Fujita (@syoyo) April 28, 2016
Synergy
すでに複数モニタ環境で Synergy でマウスとキーボードを共有していましたので, PbP 環境でもそのまま移行できました.
2K Linux/Mac/Windows PBP display in 40inch 4K monitor + synergy definitely hastes the graphics app development! pic.twitter.com/HkLA9LU5KY
— Syoyo Fujita (@syoyo) April 28, 2016
これであたかも Mac/Win/Linux が一つのパネルに存在するかのように扱うことができます.
まとめ
4K モニタで PbP + Synergy はすばらしい.
問題点
やっぱり 43 inch は大きすぎました. 60 cm の奥行きの机に置いてみましたが, 見上げる形になってしまいます. 机の奥に別途土台をつくるか, 1m くらい奥行きのある机を調達するのがよさそうです.
TODO
- 30 inch くらいの 4K モニタのほうが, 開発用にはちょうどよいかも?