ページ 11

DXライブラリでの2Dマップの描画について。(RPG)

Posted: 2011年2月12日(土) 18:45
by そぬ
現在以下の仕様でRPGのマップを作っております。

   C言語+DXライブラリ
   ウインドウサイズ : 800*600     チップサイズ : 32   マップスクロール : 可   マップサイズ : 1600*1600

   マップチップ画像を32*32ピクセルに分割してロード(LoadDivGraph)
                  ↓↓↓
   あらかじめ定義しておいた2次元配列に従って描画。(DrawGraph)


RPG作成の入門サイト等に載っている至極基本的な方法だと思いますが、
32*32ピクセルという小さな画像を1フレーム中に何度も何度もDrawGraph()関数を使って描画していますので
必要以上にCPUに負荷をかけているように感じます。
マップチップ画像からウインドウ上に直にマップを描画するのではなく、
一旦他の場所(裏画面、バッファー、メモリ?)に1600×1600サイズのマップを描画しておき、
大きな画像をDrawRectGraph()関数等を用いて一度に描画できないものでしょうか?

Re: DXライブラリでの2Dマップの描画について。(RPG)

Posted: 2011年2月12日(土) 18:54
by softya(ソフト屋)
もしかして毎回1600x1600描画してませんか?
[訂正]描画するには見えている分だけでOKです。それで十分低負荷なはずですが。
[訂正]それに負荷が掛かるのはCPUではなくGPUですね。

[追記]
ここのmixC++内でRPG作成の講座を連載しているので良かったら見てください。
http://dixq.net/forum/blog.php?u=114&c=2&sd=a