↓のようなプログラムを組んでいませんか?
SetUseASyncLoadFlag(TRUE);
nHandle = MV1LoadModel("Stage00.mv1");
while (CheckHandleASyncLoad(nHandle) != FALSE)
{
WaitTimer(1); // 終わるまで待とう
}
// いつまで待ってもここに到達しない
非同期読み込みは(メインスレッドの)ProcessMessage() 内で行われるので、↑のプログラムでは
読み込みは終わりません。
SetUseASyncLoadFlag(TRUE);
nHandle = MV1LoadModel("Stage00.mv1");
while (CheckHandleASyncLoad(nHandle) != FALSE)
{
ProcessMessage();
WaitTimer(1);
}
か
SetUseASyncLoadFlag(TRUE);
nHandle = MV1LoadModel("Stage00.mv1");
while (CheckHandleASyncLoad(nHandle) != FALSE)
{
WaitTimer(5);
}
にすれば読み込みます。 (5msec以上だと内部で ProcessMessage() が呼ばれる)
なお、デフォルトではVsyncを待ちますが、これだと待ち時間中に読み込みが実行されない
時間帯が結構あるので、Vsyncを待たない設定にして、かつ自前で60fpsを維持して
ProcessMessage()を充分に呼び出すようにした方が速いです。
※追記 ↑ゲームループに ScreenFlip() を入れた場合の話です。