Dripです。
MAGIGさん、こんにちは。HSP2から3への移行には漠然とした不安がありますね。
ご質問の3点ですが、
> ・既存のDirectXのプラグインは、3でも問題なく動くのか?
動きますが、パレットモードを利用している場合は改変が必要になります。
HSP3ではパレット操作関係の命令がほとんど排除されてしまっているため、
動的にパレットを操作するプログラムは極端に処理が重くなる可能性があります。
例)炎上都市を表現する場合等、画面の暗さを細かく調節しつつ
赤色が揺らめく画面を表現する場合など
> ・2.61で悩まされたexeファイルのウイルス誤認識はないのか?
今のところこの報告は耳にしませんが、今後HSP3でウィルスが開発された場合、
低能なアンチウィルスソフトで誤検知される恐れがあります。
無料、安値なアンチウィルスソフトを買ってしまうユーザー、
サポートをろくろくしない、またする力のない企業が存在している以上、
これは仕方のないことです。
> ・処理速度が遅くなっていると聞くが、問題ないのか?
gosubで行っていた処理をモジュール化した時等に、変数の内容を転送する場合に
若干処理速度が低下する可能性があります。その他の処理においても若干速度が落ちる
場合があるかもしれません。しかしそれは処理速度が低下する面しか見ていない誤解です。
プログラムをHSP3に移行したことによって処理速度が向上する場合があります。
次のプログラムをHSP3で実行してみて下さい。
mes "HSP3でベンチマーク開始\n処理:インクリメントを一千万回行います。\n\n"
tt=gettime(4)*3600000:tt+=gettime(5)*60000:tt+=gettime(6)*1000:tt+=gettime(7)
repeat 10000000:a++:loop
ttt=gettime(4)*3600000:ttt+=gettime(5)*60000:ttt+=gettime(6)*1000:ttt+=gettime(7)
ttt-=tt:mes " 完了。 "+ttt+" mSecかかりました。":stop
実行結果画面はそのままにして、次のプログラムをHSP2で実行してみてください。
mes "HSP2でベンチマーク開始\n処理:インクリメントを一千万回行います。\n\n"
gettime t,4:tt=t*3600000:gettime t,5:tt+=t*60000:gettime t,6:tt+=t*1000:gettime t,7:tt+=t
repeat 10000000:a++:loop
gettime t,4:ttt=t*3600000:gettime t,5:ttt+=t*60000:gettime t,6:ttt+=t*1000:gettime t,7:ttt+=t
ttt-=tt:mes " 完了。 "+ttt+" mSecかかりました。":stop
表示された画面を見比べてみてください。同じ処理なのにかかった時間はHSP3の方が短いはずです。
使用する命令や記述方法によっては処理速度は早くも遅くもなるということです。
一概にHSP3は処理が重いと言い切ることはできません。
> (具体的には、怒首領蜂クラスのSTGを秒間60フレームの速度で作成できるか?)
使用するパソコン、プログラマの技術力、アルゴリズムによって
期待する速度が出せるかどうかが決まります。加算減算コピーが激しくなると物理的に処理速度が
低下しますね。
HSP3はHSP2に比べ便利になった面も多いですが、奇妙な不具合もかなりあります。
移行は十分に考えましょう。・・・ちなみにHSP3に移行してしまった私はもうHSP2に戻れません。