読者です 読者をやめる 読者になる 読者になる

プチコンで遊ぼう! (はてなブログ版)

任天堂3DSのプチコンで遊ぼう! [twitter:@eida_s]

はてなダイアリーから移行しました。 はてなダイアリーのURLを開いても自動的にこちらにリダイレクトされますのでご了承ください。

GCOPYとGLOADの速度を比較

プチコン3号

日本語文字データの持ち方の検討のため、GCOPYとGLOADの速度比較を行った。

GRPのサイズは512x512ドットなので、16x16ドットが1文字の漢字は1024文字しか入れられない。
GRPを複数枚使うのは何かと困るので、配列にデータを持って、GLOADで転送するようにしたい。
しかし気になるのは転送速度。
GRPGRPの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を使う方針で行くことにする。