CRTの動作
CRTディスプレイは、電子ビームで左上から1ラインずつ描画しています。
まず、最初の1ラインを描きます。
右端まで描いたら、左に戻ります。このときはビームを消しますので、
戻りのラインは見えません。(水平帰線期間)
左端まで戻ったら、次のラインを描きます。
それを繰り返し、最後のラインを描画したら、
左端に戻ります。このときもビームを消しますので、
戻りのラインは見えません。(垂直帰線期間)
解像度と水平&垂直周波数、ピクセルクロック
代表的な解像度、 640x480 (リフレッシュレート 60Hz) を考えます。
水平解像度は、表示期間部分は 640 ですが、ブランキング(非表示)期間まで含めた
水平解像度は 800 程度になります。
言い換えると、水平解像度 800 のうち 640 を表示に使い、残りの 160 を
帰線期間などに使用する、ということです。
垂直解像度も同様に、表示期間部分は 480 ですが、
ブランキング期間まで含めた垂直解像度は 525 程度になります。
垂直周波数(リフレッシュレート)は 60Hz なので、水平周波数は
垂直解像度の 525 に 60 を掛けたもの、
525 * 60 = 31500Hz = 31.5KHz
となります。1秒間に 31500 ラインが描画されます。
ピクセルクロックの求め方は、この場合ブランキング期間まで考えると 1 ラインに
付き 800 ピクセルが描画されることになるので、800 ピクセルに 31.5KHz を掛け、
31.5KHz * 800 = 25200KHz = 25.2MHz
ピクセルクロックは 25.2MHz となります。1秒間に 25200000 ピクセルが描画されます。
ビデオカードの仕様に 「RAMDAC : 300MHz」などと書いてあるのを見たことがあると思いますが、
あれは扱えるピクセルクロックの最高周波数を表しています。より高い解像度を表示するためには、
より高いピクセルクロックが必要です。
解像度から、だいたいの水平周波数とピクセルクロックを求める
800x600 (リフレッシュレート 75Hz)の水平周波数、ピクセルクロックを計算で求めてみます。
これはあくまで目安なので正確ではありません。また、解像度が上がるにつれ、この
計算方法だとずれが大きくなります。
まず、水平周波数を求めます。
縦方向の解像度(600)に 1.05 程度を掛け、ブランキング期間まで
含めた垂直解像度を計算します。
600 * 1.05 = 630
630 に垂直周波数(リフレッシュレート)を掛けます。
630 * 75Hz = 47250Hz、水平周波数は約 47KHz となります。
次に、ピクセルクロックを求めます。
横方向の解像度(800)に 1.3 程度を掛け、ブランキング期間まで
含めた水平解像度を計算します。
800 * 1.3 = 1040
1040 に水平周波数の 47250Hz を掛けます。
1040 * 47250Hz = 49140000Hz、ピクセルクロックは約 49.1MHz となります。
320x240等の低解像度モードについて
320x240(リフレッシュレート 60Hz)の水平周波数を上の式でそのまま計算すると、
240 * 1.05 = 252、252 * 60Hz = 約 15KHz と、15KHzが表示可能なX68モニタや
アーケードモニタが必要なように思えてしまいます。
しかし、320x240に見えても、本当は320x480に設定されており、ハードウェアで
2ラインずつ同じものを描画するようになっています。320x480(60Hz)の水平周波数は
640x480(60Hz)と同じ約31KHzですので、水平周波数31KHz〜 となっている普通の
PC用ディスプレイで表示することができます。
同様に400x300は通常400x600に設定されていて、扱いは800x600と同じ、512x384は
通常512x768に設定されていて扱いは1024x768と同じです。