GCOPYとGLOADの速度を比較
日本語文字データの持ち方の検討のため、GCOPYとGLOADの速度比較を行った。
GRPのサイズは512x512ドットなので、16x16ドットが1文字の漢字は1024文字しか入れられない。
GRPを複数枚使うのは何かと困るので、配列にデータを持って、GLOADで転送するようにしたい。
しかし気になるのは転送速度。
GRP→GRPのGCOPYは当然速いと思われるが、配列→GRPのGLOADはGCOPYほどの速度は期待できない。
どの程度の差なのかを検証してみた。
OPTION DEFINT GPAGE 0,0 LOAD "GRP0:TEST.GRP",FALSE DIM G[0] GSAVE 0,0,0,16,16,G,0 GCLS MS=MAINCNT FOR I=0 TO 100000 GCOPY 4,0,0,15,15,0,0,1 NEXT T1=MAINCNT-MS ?"1)GCOPY ";T1 MS=MAINCNT FOR I=0 TO 100000 GLOAD 0,0,16,16,G,0,1 NEXT T2=MAINCNT-MS ?"2)GLOAD ";T2
このプログラムを3回実行して平均をとった(実行はNewじゃない旧3DSLL)。
その結果、GCOPYだと100000回で244フレーム、GLOADだと100000回で357フレームかかった。
つまり、GLOADは同じサイズのGCOPYに対して1.5倍ほど時間がかかっていることになる。
GCOPYよりは遅いが、思った以上に差はないことがわかった。
なので、漢字表示にはGLOADを使う方針で行くことにする。