どちらが早いかということで、上に出ているスクリプトを改造して
gcopy と celput を切り替えられるようにしてみました(突貫で汚いですがご容赦を)。
でもあまり変わらないような?
#include "d3m.hsp"
SCR_HEIGHT = 1 ; スクロール1ラインの高さ
celload dir_exe+"\\sample\\hspcv\\bgsamp.jpg",1
gosub *scr_chg
objsize 110, 20
combox sw1,, "celput(gmode 0)\ncelput(gmode 1)\ngcopy(gmode 0)\ngcopy(gmode 1)"
combox sw2,, "1ライン\n2ライン\n4ライン\n8ライン\n全体"
button gosub "反映", *scr_chg
repeat
redraw 0
r=0.03*cnt
repeat 480/SCR_HEIGHT
pos sin(r)*100,cnt*SCR_HEIGHT
if flg < 2 {
celput 1,cnt
} else {
gcopy 1, 0, cnt * SCR_HEIGHT
}
r+0.01
loop
redraw 1
fps + d3getfps()
ff + 1 : ff \ 100 ; 100フレームの平均値を表示
if ff = 0 : fps / 100 : title "" + fps + "FPS / " + msg
await 0;16
loop
*scr_chg
if sw2 < 5 {
SCR_HEIGHT = 1 << sw2
} else {
SCR_HEIGHT = 480
}
msg = "" + SCR_HEIGHT + "ライン "
if sw1 < 2 {
gmode sw1
celdiv 1,640,SCR_HEIGHT
msg += "celdiv"
} else {
gmode sw1 - 2, 640, SCR_HEIGHT
msg += "gcopy"
}
msg += " gmode " + (sw1 & 1)
flg = sw1
return
「プログラミング・マニュアル>HSPの基本動作概念>CEL関連命令について」にて
----------
2Dキャラクター表示のためのセル描画命令が用意されています。 これは、従来のgcopy命令に代わる分かりやすい記述と構造を持っています。 また、将来のバージョンでのαチャンネルサポートやDirectX対応を見据えた、 高速描画のための拡張という側面を持っています。 将来のバージョンでは、CEL関連命令で扱われる画像素材及び描画は、 DirectXによる高速化の対象となります。
----------
とあるので、
現時点での違いは使い方以外ではほとんどなさそうです
今後のために今のうちから慣れておくというのはありでしょうが。