マシンパワーの考慮
てんぺー 2013/4/5(Fri) 03:42:35|NO.53450
最近は相当PCの平均スペックも上がって来ましたが、自分は6〜7年前に組んだPCでプログラム組んでいます。
とは言えそれでも当時の一線級の物で組んだマシンなので、今でも多少の無理なら効いてしまうのですが、
そのせいで逆に、どの程度のPCスペックを基準にプログラムを処理すればいいのかよくわからなくなってしまいます。
例えばhspdxfixを使う場合、最初にスプライト数とキャラクタ数なんかを決めますが、
自分は(es_iniのデフォルト値が512と1024なのもあって、)それぞれ2048でも多すぎるんではないかと不安になったりします。
しかし掲示板を見ると90000台を割り当ててるサンプルもあったりとますます基準がわからなく…。
ちなみに自分の場合、タスクマネージャーでCPU消費量が30%超えると「うわぁっ」って感じになるのですが
みなさんはプログラムを組む際、PCスペックなどとの兼ね合いはどのように考慮していますか?
甘酒 2013/4/5(Fri) 05:23:11|NO.53451
推奨するマシンのスペックをリドミとかに書いておけばいいんじゃないの。
作ってる自分のマシンを基準に考えていいんだろうし。
もし、スペックが足りなくて動かないなら、それはもう動かすのは諦めろって話だから。
>例えばhspdxfixを使う場合、最初にスプライト数とキャラクタ数なんかを決めますが、
>自分は(es_iniのデフォルト値が512と1024なのもあって、)それぞれ2048でも多すぎるんではないかと不安になったりします。
2048は別に多くはない。
多少大規模なゲームなら、1万とか普通に見たりする。
後は・・・言語そのものの速度っていうのもあるかなぁ。
HSPがruby以上に遅いのは有名な話だけど、C++等の言語でHSPと全く同じことをするプログラムを組んでも、速度が大きく上回る場合がある。
・・と、この辺の話題はこの掲示板の某スレで様々な意見が交わされてたはず。探せばまだあるはず
話がずれたけど、やっぱりサクサク動くかは、
マシンパワーだけじゃなく、言語とコードの書き方にもよるでしょ。
if(a=1){
}else if(a = 2){
}
(中略)
if(a=100){
}
と、
if(a = cnt){
}
では、cntを使う方が圧倒的に早いと思う。試してないけど。
KA 2013/4/5(Fri) 11:20:04|NO.53455
いや、基準スペックを考えようにもテスト環境が無いのなら、現在の
スペックで考えるしかありません。
CPU使用率も、30%なら逆に70%は遊んでいるので、まだまだ
余裕と考えましょう。
ZAP 2013/4/5(Fri) 20:19:02|NO.53459
作るゲームの内容やゲームバランスによって、
自ずとスプライトの最大数って決まってくるもんだと思いますが。
ゲーム内で最も表示スプライトが多い場面でも2048個くらいなのであれば、
10000とか割り当てるのは非効率ですし、デバッグ段階でスプライト表示数を
カウントしておき、足りなければ増やしていけばいいのではないでしょうか?
ゲームの場合、ゲーム内容にも依りますが、アクションげーむなど、
ゲームプレイ中は他のアプリケーションは操作しないのであれば
50%くらい食っちゃっても問題ないのではないかと思います。
GENKI 2013/4/6(Sat) 02:08:12|NO.53464
普段はあんまり気にしてないですね。あんまり重いの作らないんで。
気になるようなら複数の人に動作チェックしてもらうといいですよ。
ターゲットにしているユーザー層にチェックしてもらって動けば問題ないでしょう。
そう言えば昔作ったもので、敵キャラの出現数をユーザーが設定できるようにしてcpu負荷調整をユーザー任せにしたことがあったのを思い出しました。
一般に見かける3D系のゲームでも、エフェクトやアンチエイリアスなど負荷の高い機能をユーザーがOFFに設定して負荷を低減出来るようにしているものもありますね。
てんぺー 2013/4/7(Sun) 01:44:57|NO.53476
なるほど、スプライトは意外にたくさん使っても平気なのですね…。
それに確かに30%使ってるということはまだ70%も余ってるというわけですし、
常駐させて他のプログラムと一緒に動かすようなのでそんなに使っては困りものですが
それを集中的に使うのであれば問題になりませんね。