トップページ > 過去ログ > 記事閲覧
どっちが効率的?
名前:ピザ大好き 日時: 2008/11/20 18:25

例えば、640×480の大きさのマップを描画しようとしたとき、そのマップを一枚の絵として表示するか、40×40の小さな画像に分け、2次元配列とfor文を使用して描画したら、どっちの方が効率がいいでしょうか?

Page: 1 |

Re: どっちが効率的? ( No.1 )
名前:ZAP 日時:2008/11/20 19:15

どういうマップにするかによります。 昔のファミコンのRPGのように、何種類かの小さな画像のチップを組み合わせて 大きいマップを作るやり方ならば、2次元配列をループで回すのが普通でしょう。 逆に1枚絵の大きい画像をマップに使うのであれば、細かく分けるメリットはないと思います。
Re: どっちが効率的? ( No.2 )
名前:ピザ大好き 日時:2008/11/20 19:31

すいません、効率というのは、一枚絵として書くのと、2次元配列を使ったループでは、どちらがプログラム的に負担が少ないか、という意味です。 わかりにくくてすいません。
Re: どっちが効率的? ( No.3 )
名前:Will 日時:2008/11/20 20:17

> プログラム的に負担 プログラム的負担って何ですかね? コードの行数の多寡ですか? ロジックの複雑さですか? メモリの使用量の多さですか? CPUの使用率の高さですか? 質問が抽象的で答えにくいですが、たとえば、ドラクエTの ように主人公の移動に合わせて少しずつマップ移動する タイプにするのであればマップチップのほうがいいでしょうし、 ゼルダのように画面の端っこに到達したら次のマップに 移動するようなタイプだと一枚絵で処理するほうが楽だと思います。 結論としてはどちらを選択するべきかはケースバイケースなので 質問主さんがどういったことがしたいのかというところを 具体的にしないと決められないということです。
Re: どっちが効率的? ( No.4 )
名前:saiver 日時:2008/11/20 23:21

>プログラム的に負担 同程度の範囲なら、ほとんど負担は変わらないと思 いますよ。 もっとも、マップが巨大なものであれば、見えてる 範囲だけ描画した方がいいので、配列が有利かと。 640×480程度なら一枚絵でも十分だと思いますよ〜。
Re: どっちが効率的? ( No.5 )
名前:YKN 日時:2008/11/21 00:26

俺もそれは悩みましたね。 マップ自体は当然チップの組み合わせでしたが、 当初は背景絵もチップの組み合わせにして 「メモリ節約だ〜」とかやってたのですが、 プログラムが大きくなり、処理時間がかかるようになるにつれ 重荷になってきたので、結局一枚絵に入れ替えました。
Re: どっちが効率的? ( No.6 )
名前:ピザ大好き 日時:2008/11/21 10:14

様々な回答ありがとうございました。 参考にさせていただきます。

Page: 1 |