Copyright(c)AOTAKA 1995-2003 - www.aotaka.jp |
平成9年6月24日午前4時‥‥‥‥わが輩はネコである‥‥もといネタに詰まっていた、曰く、ボキが難しいこと書けるわけないじゃん(17年もパソコンいじってるくせに) でもまあパソコンなんて言っても所詮は道具!いや、むしろ道具その物、初歩的なことなら使いこなせない訳ないんだよ、うん、そうに違いない(自己暗示(ォ)
つうことで誰もが一度は通るであろうグラフィック関係で行ってみよう。と安易に思ったのは内緒である。ってここで書いてちゃ意味無いっしょ。
日本で9800といえばIBMでもなければ三菱鉛筆でもなく、もちろんシャープのPC-8901でも無い。いわゆる日本電気のPC-9801互換機の事であるが技術的には以下のようにまとめることができると思う。
・GV-RAM直接描画 全機種 ・GRCGの利用 9801VM以降 ・EGCの利用 9801VX以降
このうちGRCGの利用は、私が読んだ多くの書物でポピュラーな手段の如く書かれているわりには速度的検知から見た優劣の判断材料を明示された事は皆無である。第一、GRCGという過去の方法に利点があるのかどうかについては記述すらされていないし、ポートを叩く訳だから現在の高速マシンではかえって遅くなるような気もする。もしやDMAと同じ存在ではないのか? 「そんじゃ計ったろうじゃん」と言うのがいちおう今回の主旨である。
今回のテストはオーソドックスに、直接書込は横16ドット単位での書込を繰り返して(16,000×4回)全面を塗りつぶす事にした。GRCGは8ドット単位の書込(32,000回)である。
ここで直接書込が8ドット単位でないと疑問に思う人もいるかも知れないし異論反論があるかも知れないが、これはGV-RAMとCPUがどんな機種でも16bitsで繋がっていて偶数アドレスにアクセスしたときに最も高速に書き込めると本には書かれているので16bits接続云々の正否は知らないがそれを踏まえた。また、GRCGはもともと8ビット単位でしか書き込めないので8ビット毎である。
ちなみにテスト機器としてはPC-9821La13/S14を用意し、GDCクロックには一般的な2.5MHzを設定、垂直同期周波数は目に優しい31kHz、GRCG書込はTDWモード、画面サイズは640×400ドット16色モードで行った。なお、ソース画像はコンベンショナルメモリー上の仮想VRAMに置いた。時代はバーチャルだしね(ォ
out命令/1描画 | 時間(秒) | |
GRCG描画 | 4 | 0.1293 |
GRCG画面消去 | 0 | 0.0123 |
直接描画 | 0 | 0.0150 |
直接画面消去 | 0 | 0.0151 |
結論、out命令の数に比例しているだけっぽい気がする。 とどのつまり
「やめた方がよい」
という結論に達した。