2010年11月30日火曜日

QUXGA-W の衝撃

 MS-DOS の時代は、1 画面で表示できる文字数は 横80×縦25 文字が一般的でした。そのため、コーディングを行う際は、できるだけ変数名や関数名を省略して、1 行が長くなり過ぎないように心がけたものです。その後、Windows の時代(Ver.3.1 以降)に突入すると、画面の解像度も MS-DOS の VGA(640×480ピクセル)から SVGA(800×600 ピクセル), XGA(1024×768 ピクセル)と高解像度化していき、1 画面で表示できる文字数が増えていきました。一般に、変数名や関数名を省略してしまうと、それらがどんな役割を持つのか客観的にわかりづらくなってしまうため、高解像度の恩恵に預かるようになってからは、冗長なネーミングをするようになりました。例えば、.NET Framework 4 にはVisualBasicSettingsValueSerializer という長い名前のコンストラクタがありますが、MS-DOS の時代であれば、長くても VBSetValSeri という感じになったのではないかと思います。

 今は主に Visual Studio 2010 を使用して開発を行っていますが、上記のように、クラスライブラリのメソッド名やプロパティ名等は非常に長く、ソースコードの表示だけでも解像度の高いモニタを使用したいところです。加えてデバッグ時は、変数のウォッチなど、更にたくさんの情報を画面に表示したくなります。Visual Studio は、バージョン 2010 からマルチモニタに対応しており、あるモニタにはソースコードを、別のモニタにはデバッグ情報を表示する、といったことが可能になっています。現在は VAIO Z の FullHD モニタ(1920×1080ピクセル)で開発を行っていますが、この解像度の画面を以てしても少々手狭に感じることが多くなったため、別のモニタを 1 台追加してマルチモニタ環境で開発を行うべくモニタを物色していたところ、とんでもない解像度のモニタが見つかってしまいました…。

IBM T221 IBM_T221

 このモニタは 22.2 インチながら、実に 3840×2400 ピクセルもの情報を1画面で表示してしまいます! この解像度は、QUXGA-W(Quad Ultra eXtended Graphics Array - Wide)と呼ばれることからも分かるように、WUXGA(Wide Ultra eXtended Graphics Array、1920×1200 ピクセル) 4 画面分を 1 画面に収めてしまいます。このスペックを私の VAIO Z の Full HD モニタと比較してみると、こんな感じです。

  VAIO Z IBM T221
モニタサイズ 13.1 インチ 22.2 インチ
解像度 Full-HD
1920×1200 ピクセル
QUXGA-W
3840×2400 ピクセル
総ピクセル数 2,073,600 9,216,000
ドットピッチ 0.151 mm 0.125 mm
 

 総ピクセル数から分かるように、VAIO Z 比で約 4.5 倍もの情報を表示することができてしまうわけですね。ただ、IBM T221 に関してここで気になるのが、あまりにも解像度が高すぎることです。このモニタは外付けですから、ビデオカードからモニタまでは、DVI 等のケーブルで接続することになります。ここで、ビデオカードからモニタまではどのくらいの量のデータ転送が発生するのか計算してみます。

リフレッシュレート
(Hz)
カラーモード
(bit)
データ転送量
(GBytes/sec)
60 Hz 16 bit 1.11
60Hz 24 bit 1.66
60 Hz 32 bit 2.21

 リフレッシュレートは、1秒間に画面を何回書き換えるかを表します。液晶モニタでは、一般には 1 秒間で 60 回の画面の書き換えが行われます。この値が大きいほど、動きのある物体がなめらかに表示されるわけですね。また、カラーモードというのは、1 ピクセルあたりの色が何 bit のデータで表現されるかを表します。bit 数が大きいほど、より細やかな色が再現できることになります(例えば、1bit だと、例えば白と黒 2 色しか表すことができません)。24bit や 32bit は、一般に True Color と呼ばれ、人間が識別することができる色をすべて表現できると言われています。

 ここで、一般的によく使われるリフレッシュレート 60Hz かつカラーモード 32bit を IBM T221 で使用した場合を考えてみると、実に 1 秒間に 2GB 以上のデータ転送が発生する計算になります。この値は、画面を表示するための実データの転送に必要な量であり、実際には、データを周期的に正しく転送するための付加情報(オーバーヘッド)が加わります。したがって、おそらくは 2.5GBytes/sec 以上のデータ転送量が発生すると考えられますが、そもそもビデオカード側がそれだけのデータを転送することができるのか、また、ケーブルは、様々なノイズが発生する中で、それだけの転送に耐えることができるのか、といったことが問題となりそうです。

 このようなことから、実際にはリフレッシュレートを低く設定する必要が出てくると考えられますが、私としては Visual Studio が快適に使用出来れば十分なので、リフレッシュレートはそんなに高くなくても大丈夫だろう…ということで、ちゃんと下調べをせずに、見つけてから約1時間後、気づいたら購入ボタンを押していました…。その後 T221 の 仕様 をちゃんと調べてみると、QUXGA-W 表示時の最大リフレッシュレートは 48Hz であることが分かりました。また、ケーブルも DVI-D 2 本となっています。なるほど、という感じですね(さすがに 60Hz は厳しいようです)。

 さてこの IBM T221 ですが、実はこのブログを書いている時点では、まだ届いていません。使用レポートについては、後日、またご紹介したいと思っています(そもそも、私のビデオカードでまともに映るのかどうかという懸念はありますが…)。