制作しているゲームでDXライブラリとEffekseerを最新版にした所、
ステージの読み込み時間が増えてしまいました。
色々と原因を探っていたのですが、
どうやら「SetUseDirect3DVersion(DX_DIRECT3D_9);」を設定すると、
「LoadSoundMem();}」に掛かる時間が増えているのかなという気がしました。
下の様な処理で28.9KB程度のoggを読み込んだところ、
「SetUseDirect3DVersion(DX_DIRECT3D_9);」をコメントアウトした状態では16秒程度、
「SetUseDirect3DVersion(DX_DIRECT3D_9);」がある状態では45秒程度掛かる結果となりました。
Effekseerを使用するには「SetUseDirect3DVersion(DX_DIRECT3D_9);」の設定が必要みたいなのですが、
何か解決策はありますでしょうか?
#include "DxLib.h"
#define AAA 3000
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(true);//ウィンドウモード
SetUseDirect3DVersion(DX_DIRECT3D_9);// DirectX9を使用するようにする。
// DXライブラリの初期化
if(DxLib_Init()<0)return -1;//エラーが発生したら直ちに終了
DATEDATA time0,time1;
int sh[AAA];
GetDateTime(&time0);
DrawFormatString(0,0,0xFF0000,"%d時 %d分 %d秒",time0.Hour,time0.Min,time0.Sec);
for(int i=0;i<AAA;i++){sh[i]=LoadSoundMem("atk0.ogg");}
GetDateTime(&time1);
DrawFormatString(0,20,0xFF0000,"%d時 %d分 %d秒",time1.Hour,time1.Min,time1.Sec);
// キー入力待ち
WaitKey() ;
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}