ごく簡単にPRINT文が高速になる方法を紹介します。
例えば、次のようなプログラムがあるとします。
10 FOR I=0 TO 999 20 PRINT I 30 NEXT |
この20行目のPRINT文をPRINT#に変えるだけで高速化ができるのです。ただし、そのためには次のように最初にOPEN命令を実行しておく必要があります。
5 OPEN "SCRN:" FOR OUTPUT AS #1 10 FOR I=0 TO 999 20 PRINT #1,I 30 NEXT |
簡単に原理を説明すると「SCRN:」がディスプレイドライバであり、それをPRINT#を使って書き込んでいる(要はディスプレイに表示している)のです。
これにより、最大で2倍以上の高速化が実現できます。一度に表示する量が多いほど速度が向上するので、OPASなどと組み合わせて大量の表示を行えば効果は抜群です。ただし、表示する文字数が少ない場合その効力をあまり発揮出来ませんので過信は禁物です。以下に表示する文字数とそれにかかる時間を記します。
文字表示 | |||
文字数 | PRINT | PRINT# | 速度上昇率 |
1 | 5.7 | 6.1 | -6.5% |
2 | 7.5 | 7.0 | 7.1% |
3 | 9.2 | 7.8 | 17.9% |
4 | 10.9 | 8.6 | 26.7% |
5 | 12.6 | 9.5 | 32.6% |
10 | 21.3 | 13.7 | 55.4% |
40 | 74.0 | 39.9 | 85.4% |
10×4 | 110.4 | 47.1 | 134.3% |
数値表示 | |||
桁数 | PRINT | PRINT# | 速度上昇率 |
1 | 11.0 | 9.5 | 15.7% |
2 | 12.7 | 10.4 | 22.1% |
3 | 14.3 | 11.2 | 27.6% |
4 | 16.0 | 12.0 | 33.3% |
5 | 17.7 | 12.7 | 39.3% |
10 | 26.1 | 16.7 | 56.2% |
このPRINT#を使用する上で注意して置かなくてはいけないことが2点あります。まずは、USINGが使えないこと、もう1つは、これを行った後にセーブやロードをした場合、正常に行うことができませんので、終了時にはCLOSEで閉じておく(またはENDを実行)などの措置を行わなくてはならないということです。
(知っておられると思いますが、電源を切ったときやRUNをしたときには自動的にファイルは閉じられます)