ロードを早くしたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
YYSS
記事: 125
登録日時: 9年前
連絡を取る:

ロードを早くしたい

#1

投稿記事 by YYSS » 9年前

タイトルの通り、ロードを早くしたいのですが、どうやったらロードは早くなるのでしょうか?

現在製作中のSTG
http://dixq.net/forum/viewtopic.php?f=78&t=8383

プレイしてくれた方は分かると思うのですが、タイトルまでのロードが長いです;;

最初にゲームで使う全ての画像・音楽・効果音を読み込んでおり、
しかも数が多いためロードが長くなっていると思うのですが・・・

画像:71ファイル(7.69MB)・・・全てPNG形式
音楽:9曲(39.5MB)・・・mp3
効果音:18種類(688KB)


他のPC用STGで、演出も凄く、画像も多々読み込んでいる?のに、ロードが早いのもあります。

なんでだろう?
と疑問に思ってしまいます;;

なにかコツ、又はテクニックがあるのでしょうか?

ロード部分のソースはこんな感じです。

~開発環境~
○Windows 7 Ultimate SP1
○Visual C++ 2010 Express
○DXライブラリ使用

コード:

/*================================================================
	画像読み込み
================================================================*/
void C_System :: LoadImg(){

	//オープニング
//	OP				= LoadGraph( "data\\img\\System\\op1.png" );

	//タイトル
	TitleBack		= LoadGraph( "data\\img\\System\\1st_title.png" ) ;
	LoadDivGraph( "data\\img\\System\\ASKII.png", 26, 26, 1, 18, 30, ASKII );
	LoadDivGraph( "data\\img\\System\\num.png", 12, 12, 1, 18, 30, TitleNum );

	//背景
	Back[0]			= LoadGraph( "data\\img\\Back\\umi.png" ) ;
	Back[1]			= LoadGraph( "data\\img\\Back\\umi2.png" ) ;
	Back[2]			= LoadGraph( "data\\img\\Back\\umi3.png" ) ;

	Back[3]			= LoadGraph( "data\\img\\Back\\mori.png" ) ;

	Back[4]			= LoadGraph( "data\\img\\Back\\magm.png" ) ;

	Back[5]			= LoadGraph( "data\\img\\Back\\meikai.png" ) ;


	Kumo			= LoadGraph( "data\\img\\Back\\kumo1.png" );
	Kusa			= LoadGraph( "data\\img\\Back\\kusa.png" );
	Happa			= LoadGraph( "data\\img\\Back\\ha.png" );
	Iwa[0]			= LoadGraph( "data\\img\\Back\\iwa.png" );
	Iwa[1]			= LoadGraph( "data\\img\\Back\\iwa2.png" );
	Cherry			= LoadGraph( "data\\img\\Back\\CB.png" );

	//フレーム関連
	LoadDivGraph( "data\\img\\System\\chainNum.png", 10, 1, 10, 48, 102, ChainNum );
	ChainString		= LoadGraph( "data\\img\\System\\chain.png" ) ;
	WeaponSelect	= LoadGraph("data\\img\\System\\Weapon.png");

	//ステージクリア
	ClearGraph	= LoadGraph("data\\img\\System\\Clear.png");
	BlendIN		= LoadBlendGraph("data\\img\\System\\blendin.png");
	BlendOUT	= LoadBlendGraph("data\\img\\System\\blendout.png");

}

/*================================================================
	音読み込み
================================================================*/
void C_System :: LoadMusic(){

	CURSOR[0]	= LoadSoundMem( "data\\SE\\cursor31.wav" );	//カーソル移動
	CURSOR[1]	= LoadSoundMem( "data\\SE\\cursor09.wav" );	//決定
	CURSOR[2]	= LoadSoundMem( "data\\SE\\cursor04.wav" );	//キャンセル
	CURSOR[3]	= LoadSoundMem( "data\\SE\\power33.wav" );	//スタート

	SHOT[0]		= LoadSoundMem( "data\\SE\\wind08.wav" );	//敵ショット
//	SHOT[5]		= LoadSoundMem( "data\\SE\\metal03.wav" );	//ヒット音

	RAY[0]		= LoadSoundMem( "data\\SE\\gun11_r.wav" );	//レーザー
	RAY[1]		= LoadSoundMem( "data\\SE\\shoot17.wav" );	//ホーミングレーザー
	RAY[2]		= LoadSoundMem( "data\\SE\\metal40_b.wav" );	//スラッシュ

	PLODE[0]	= LoadSoundMem( "data\\SE\\bom27_b.wav" );	//小爆
	PLODE[1]	= LoadSoundMem( "data\\SE\\don04.wav" );	//中爆
	PLODE[2]	= LoadSoundMem( "data\\SE\\ban.wav" );	//おくうむ

	SYSTEM[0]	= LoadSoundMem( "data\\SE\\cursor18.wav" );	//ハンター
	SYSTEM[1]	= LoadSoundMem( "data\\SE\\cursor33.wav" );	//切換
	SYSTEM[2]	= LoadSoundMem( "data\\SE\\smoke00.wav" );	//スピード
	SYSTEM[3]	= LoadSoundMem( "data\\SE\\alarm00.wav" );	//アラーム
	SYSTEM[4]	= LoadSoundMem( "data\\SE\\chari15_a.wav" );	//シャキン

	TAME[0]		= LoadSoundMem( "data\\SE\\eco00.wav" );	//溜め

	ChangeVolumeSoundMem( 50, PLODE[0] );
	ChangeVolumeSoundMem( 50, PLODE[1] );
	ChangeVolumeSoundMem( 20, SYSTEM[0] );
	ChangeVolumeSoundMem( 100, SYSTEM[4] );
	ChangeVolumeSoundMem( 100, SHOT[0] );
	ChangeVolumeSoundMem( 50, RAY[2] );

//	BGM[0]	= LoadSoundMem( "data\\BGM\\makkura.mp3" );
	BGM[1]	= LoadSoundMem( "data\\BGM\\ouka_beni.mp3" );
	BGM[2]	= LoadSoundMem( "data\\BGM\\darkaliar.mp3" );
	BGM[3]	= LoadSoundMem( "data\\BGM\\d.mp3" );
	BGM[4]	= LoadSoundMem( "data\\BGM\\akakara3.mp3" );

	

	BGM[11]	= LoadSoundMem( "data\\BGM\\koimusume.mp3" );
	BGM[12]	= LoadSoundMem( "data\\BGM\\ningyou.mp3" );
	BGM[13]	= LoadSoundMem( "data\\BGM\\Shall_we_fuse.mp3" );
	BGM[14]	= LoadSoundMem( "data\\BGM\\Till_When.mp3" );

	BGM[20]	= LoadSoundMem( "data\\BGM\\s-houkai.mp3" );
}

アバター
a5ua
記事: 199
登録日時: 10年前

Re: ロードを早くしたい

#2

投稿記事 by a5ua » 9年前

SetCreateSoundDataTypeで、音声の再生形式を
DX_SOUNDDATATYPE_MEMPRESS または DX_SOUNDDATATYPE_FILEにするのは試されましたか?

リファレンス
http://homepage2.nifty.com/natupaji/DxL ... tml#R15N25

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: ロードを早くしたい

#3

投稿記事 by h2so5 » 9年前

BGMデータをあらかじめ全て読み込む方法ではさすがに遅くなります。
SetCreateSoundDataType関数を使うことでストリーミング再生が可能になりますので試してみてください。
使い方はリファレンスに書いてあります。

アバター
YYSS
記事: 125
登録日時: 9年前
連絡を取る:

Re: ロードを早くしたい

#4

投稿記事 by YYSS » 9年前

回答ありがとうございます!!

ロードが驚くくらい早くなりました!

マイナー関数の部類に入っていたので見落としてました;;
マイナーだからまだ知らなくていいや・・・・って思ってた自分が恥ずかしい///

リファレンスはすべて目を通しておこうと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る