画面を表示した場合と表示しない場合の速度差 [1523 : 559]

説明

IchigoJamは画面を表示するのに専用のコントローラーではなくCPU (LPC1114FN28/ARM Coretex-M0ベース) を使っています。古いところではシンクレア社のZX-81と同じような仕組みです。昔から画面表示は処理速度が低下する要因の1つです。現在でもグラフィックボードやGPUがあるのはそのためです。さて、IchigoJamではVIDEO命令で画面表示のオン/オフを切り替えることができます。VIDEO 0で非表示、VIDEO 1で表示になります。まず、通常の状態、つまりVIDEO 1で画面表示したままの処理速度をみてみます。ここでは1万回の繰り返し処理を行っています。

[以下のBASICプログラムをダウンロード]

BASICプログラム(画面を表示した場合)

10 CLS:CLV:CLP:CLT
20 FOR I=1 TO 10000:NEXT
30 PRINT TICK()
実行すると結果は1523 ticksになります。(若干の誤差はあるかもしれません)
それでは次に画面を表示しない場合を見てみましょう。つまりVIDEO 0とした場合です。

[以下のBASICプログラムをダウンロード]

BASICプログラム(画面を表示しない場合)

10 CLS:CLV:CLP:VIDEO 0
20 CLT
30 FOR I=1 TO 10000:NEXT
40 PRINT TICK()
50 VIDEO 1
実行すると結果は559 ticksになります。(若干の誤差はあるかもしれません) 画面を表示しないと約3倍速いことになります。ただ、ゲームなどで画面を表示する必要がある場合は、このような方法はあまり使えません。計算や制御を高速に処理したい場合などに限定すればVIDEO 0を使った方法も有効でしょう。

目次に戻る