ベンチマークの値が全てではない
処理速度を客観的に知る上で、ベンチマークプログラムは非常に便利なものですが、使用する用途や目的によってはベンチマークで表示される結果ほど効果が得られない事が多々あります。
このような現象が発生する原因は、ピクセルキャッシュ等の付加機能が働いているです。
 |
左図はビデオメモリの視覚図ですが、ビデオメモリとは本来書き込まれたデータ(画像を数値化したもの)がそのまま画面に反映されるメモリの事を呼びます。
しかしディスプレイの性能などの制約により、実際に表示できる範囲は限られ、通常の環境でビデオメモリ全体を表示する必要性も無いために、その一部分が表示に直接関わる領域として使用されます。ここにアプリケーションが画像データを書き込むことによって、表示に反映されるのですが、ビデオドライバがキャッシュ機能を持つ場合、画面に表示された[A]の画像と同じデータ[C]を画面外にも保存しようとします。
これは表示範囲内(実際の解像度内)に再び[A]と同じ画像データ[B]を表示する命令をVGAが受けた場合、メインメモリから[A]の画像データが転送されてくるより、同じビデオメモリ上の[C]から[B]へコピーしたほうが高速だからです。
この機能が有効になっていると、特定の形を複数画面に表示する速度が非常に速くなります。しかしながら、実際にWindowsを使用していて特定の画像等を複数画面に表示する機会はほとんどありません。
特にムービーに関して見ると、異なる画像データを連続して画面に表示する必要があるため、いちいちキャッシュに格納している分、速度的に負荷がかかることになります。
ところが、ベンチマークプログラムの場合、こういった、いくつかの決まった画像を決められた時間単位で何枚表示できるかを計測しようとするため、実際の表示速度よりも異常に高い値が表示されることになります。 |
GA-VDB16/PCI等にも、こうしたサブテクノロジ的機能が複数実装されているため、実際に使用する際の表示速度よりも遥かに高いベンチマーク結果が現れることになります。
ただ、この機能を有効にしておくことで、タスクバーの表示やオフィスツールバー等の表示に関して若干の不具合が発見された為、GA-SV4以降のIO-DATA製ビデオカードは単形ウィンドウ(通常のウィンドウやダイヤログのみ)しかキャッシュされないように改良されています。
ここで間違ってはいけないのがビットマップキャッシュとの混同です。
ビットマップキャッシュはコンベンショナルメモリの一部をキャッシュ領域とするため、また特性が異なります。これをOffにすることはドライバ上の設定でも可能な場合がありますが、Offにしてもベンチマーク結果は大きく変わりません。
参考までに、この機能が有効のままベンチマークを行った場合、GA-VDB16のほうがGA-SV432より約1.5割程度高い数値が現れますが、この機能を無視するようなベンチマークテスト(純粋な表示速度テスト/同じ画像を表示させない)を行うと、GA-SV432のほうが約1.3割増程度数値が上になります。
特にビデオカードは、このようなサブテクノロジによって描画パフォーマンスをアップさせているため、単純にベンチマーク結果だけで選ぶと思い通りの速度が得られない事もあるようです。
CPUについても同じ事が言えます。
ベンチマークは繰り返し処理プログラムです。
CPUの中に組み込まれているキャッシュ領域が、このプログラムを包囲するほどの大きさであれば、メインメモリにほとんどアクセスすることなく動作できてしまうことになります。たとえ同じ処理速度を持つCPUであってもキャッシュメモリがあるかないか、キャッシュプログラムが包囲できるサイズかそうでないかで、大きく結果が異なる可能性があるわけです。
|