トップページ > 記事閲覧
ChangeWindowMode関数後の3Dモデルの読み込み
名前:N.M 日時: 2015/03/06 23:19

先日、ChangeWindowMode関数を使うと3Dモデルハンドルも初期化されると教えていただきましたので、関数使用後に再びMV1LoadModelで再読み込みするようにしたのですが、高確率で読み込まれません。デバッグしてみるとどうやらMV1LoadModel関数が-1を返しているようです。また以下のようなLogファイルを得ました。 0:設定されている画面設定 800x600 32bit color 31:システムの情報を出力します 31: DXライブラリ Ver3.13d 31: 論理プロセッサの数 : 4 31: OS Windows8 ( Build 9200 ) 143: 現時点のCPU動作速度:大体2.69GHz 144: MMX命令を使用します 145: SSE命令が使用可能です 146: SSE2命令が使用可能です 147: CPUベンダ:GenuineIntel 151: CPU名: Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz 153:COMの初期化... 164:ウインドウの作成に成功しました 165:ウインドウを表示します 205:DirectInput関係初期化処理 206: XInput DLL の読み込み中... 成功 263: DirectInput7 の取得中... 成功 313: 引き続き初期化処理... 324: マウスデバイスの初期化... 成功 344:引き続きインターフェースの初期化処理... 成功 381: DirectSound デバイスを列挙します 394: プライマリ MONO = OK STEREO = OK 395: セカンダリ MONO = OK STEREO = OK 成功 417:引き続き初期化処理... 初期化に成功しました 539:IDirect3D9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します 2158:成功 2356:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 2359:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 2360:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 2361:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です 2363:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です 2364:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 2365:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 2366:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 2368:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 2369:一度に描画できるプリミティブの最大数:1048575 2370:対応している最大頂点インデックス:16777215 2372:同時にレンダリングできるバッファの数:4 2372:最大テクスチャサイズ 幅:8192 高さ:8192 2373:テクスチャステージテンポラリレジスタ:使用可 2374:減算合成のハードウェア対応:ネイティブ 2375:ハードウェア頂点シェーダーバージョンコード:300 2376:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 2377:ピクセルシェーダーバージョンコード:300 4878:プログラマブルシェーダーを使用します 4949:フォントの初期化を行います 42001:ChangeWindowMode実行 42003:ウインドウモードフラグが立てられました 42004:ウインドウスタイルをウインドウモード用に変更します... 42016: フォントの初期化を行います 42062: Direct3DDevice9 の解放 2 43143: d3d9.dll の解放 1 43242: DirectDraw オブジェクトの取得を行います.... 成功 43267: 引き続き初期化処理... ハードウエア頂点演算を使用します 43560: 成功 43562: Driver:nvumdshim.dll Description:Intel(R) HD Graphics 4000 43564: 画面のフォーマットは D3DFMT_X8R8G8B8 です 43566: 16bit Zバッファフォーマットは D3DFMT_D16 です 43567: 24bit Zバッファフォーマットは D3DFMT_D24X8 です 43568: 32bit Zバッファフォーマットは D3DFMT_D24X8 です 43569: 16bit カラーフォーマットは D3DFMT_R5G6B5 です 43570: 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 43572: アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 43573: アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 43574: アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 43576: アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 43577: DXT1テクスチャフォーマットはD3DFMT_DXT1 です 43578: DXT2テクスチャフォーマットはD3DFMT_DXT2 です 43579: DXT3テクスチャフォーマットはD3DFMT_DXT3 です 43580: DXT4テクスチャフォーマットはD3DFMT_DXT4 です 43582: DXT5テクスチャフォーマットはD3DFMT_DXT5 です 43583: 描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 43584: 描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 43586: 描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 43587: 描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 43588: 描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 43590: 描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 43592: 描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 43594: 描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 43596: 描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です 43598: 描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です 43602: 描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 43604: 描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 43605: 描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 43607: 描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 43608: 一度に描画できるプリミティブの最大数:1048575 43610: 対応している最大頂点インデックス:16777215 43611: 同時にレンダリングできるバッファの数:4 43612: 最大テクスチャサイズ 幅:8192 高さ:8192 43614: テクスチャステージテンポラリレジスタ:使用可 43616: 減算合成のハードウェア対応:ネイティブ 43617: ハードウェア頂点シェーダーバージョンコード:300 43618: エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 43620: ピクセルシェーダーバージョンコード:300 43635: バックバッファロック転送の時間:2516nsec 一時的な描画可能バッファを使用した転送の時間:1031nsec 43637: バックバッファロックを使用しません 43639: Zバッファを作成します.... 成功 46367: プログラマブルシェーダーを使用します 46433: フォントの初期化を行います 46961: 46962:Alloc memory dump 46963: size: 752( 0.734kb) file:in\DxHandle.cpp line:195 ID:6819 addr:00d56810 data:<.......8........> [06 00 00 00 00 00 06 38 f0 02 00 00 00 00 00 00] 46964: size: 1048576( 1024.000kb) file:Main\DxFont.cpp line:3900 ID:6818 addr:5f299060 data:<........> [ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f] 46965: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6817 addr:00d58a78 data:<................> [01 00 00 00 04 00 00 00 01 00 00 00 00 00 00 01] 46966: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6816 addr:00d55e68 data:<$.....$.........> [24 02 00 00 e2 04 24 06 ec 01 00 00 00 00 00 00] 46967: size: 566292( 553.020kb) file:in\DxHandle.cpp line:195 ID:6815 addr:56870060 data:<....... ........> [0e 00 00 00 06 00 0e 20 14 a4 08 00 00 00 00 00] 46969: size: 1048576( 1024.000kb) file:Main\DxFont.cpp line:3900 ID:6814 addr:5f0d1060 data:<........> [ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f] 46970: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6813 addr:00d581e8 data:<................> [01 00 00 00 04 00 00 00 01 00 00 00 00 00 00 01] 46971: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6812 addr:00d57f80 data:<#.....#.........> [23 02 00 00 e1 04 23 06 ec 01 00 00 00 00 00 00] 46973: size: 566292( 553.020kb) file:in\DxHandle.cpp line:195 ID:6811 addr:567e4060 data:<....... ........> [0d 00 00 00 05 00 0d 20 14 a4 08 00 00 00 00 00] 46974: size: 145( 0.142kb) file:\DxGraphics.cpp line:18425 ID:6810 addr:00d57e70 data:<.....~..........> [00 00 00 00 98 7e d5 00 00 00 00 00 00 00 00 00] 46975: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6809 addr:00d55a08 data:<................> [01 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46976: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6786 addr:00d557a0 data:<".....".........> [22 02 00 00 e0 04 22 06 ec 01 00 00 00 00 00 00] 46978: size: 137( 0.134kb) file:\DxGraphics.cpp line:18425 ID:6785 addr:00d55698 data:<.....V..........> [00 00 00 00 c0 56 d5 00 00 00 00 00 00 00 00 00] 46979: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6784 addr:00d54dc8 data:<................> [01 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46981: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6761 addr:00d54b60 data:<!.....!.........> [21 02 00 00 df 04 21 06 ec 01 00 00 00 00 00 00] 46982: size: 137( 0.134kb) file:\DxGraphics.cpp line:18425 ID:6760 addr:00d5d488 data:<................> [00 00 00 00 b0 d4 d5 00 00 00 00 00 00 00 00 00] 46983: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6759 addr:00d54640 data:<................> [01 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46985: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6736 addr:00d543d8 data:< ..... .........> [20 02 00 00 de 04 20 06 ec 01 00 00 00 00 00 00] 46986: size: 143( 0.140kb) file:\DxGraphics.cpp line:18425 ID:6735 addr:00d542d0 data:<.....B..........> [00 00 00 00 f8 42 d5 00 00 00 00 00 00 00 00 00] 46986: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6734 addr:00d53a70 data:<................> [01 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46987: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6711 addr:00d53808 data:<................> [1f 02 00 00 dd 04 1f 06 ec 01 00 00 00 00 00 00] 46989: size: 138( 0.135kb) file:\DxGraphics.cpp line:18425 ID:6710 addr:00d53700 data:<....(7..........> [00 00 00 00 28 37 d5 00 00 00 00 00 00 00 00 00] 46989: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6709 addr:00d52a50 data:<................> [01 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46991: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6686 addr:00d51e68 data:<................> [1e 02 00 00 dc 04 1e 06 ec 01 00 00 00 00 00 00] 46992: size: 150( 0.146kb) file:\DxGraphics.cpp line:18425 ID:6685 addr:00d52940 data:<....h)..........> [00 00 00 00 68 29 d5 00 00 00 00 00 00 00 00 00] 46993: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6684 addr:00d520d0 data:<................> [08 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 46994: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6660 addr:00d51c00 data:<................> [1c 02 00 00 db 04 1c 06 ec 01 00 00 00 00 00 00] 46995: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6659 addr:00d51998 data:<................> [1b 02 00 00 da 04 1b 06 ec 01 00 00 00 00 00 00] 46996: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6658 addr:00d51730 data:<................> [1a 02 00 00 d9 04 1a 06 ec 01 00 00 00 00 00 00] 46997: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6657 addr:00d514c8 data:<................> [19 02 00 00 d8 04 19 06 ec 01 00 00 00 00 00 00] 46998: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6656 addr:00d51260 data:<................> [18 02 00 00 d7 04 18 06 ec 01 00 00 00 00 00 00] 46999: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6655 addr:00d50ff8 data:<................> [17 02 00 00 d6 04 17 06 ec 01 00 00 00 00 00 00] 47000: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6654 addr:00d50d90 data:<................> [16 02 00 00 d5 04 16 06 ec 01 00 00 00 00 00 00] 47001: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6653 addr:00d501a8 data:<................> [15 02 00 00 d4 04 15 06 ec 01 00 00 00 00 00 00] 47002: size: 150( 0.146kb) file:\DxGraphics.cpp line:18425 ID:6652 addr:00d50c80 data:<................> [00 00 00 00 a8 0c d5 00 00 00 00 00 00 00 00 00] 47003: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6651 addr:00d50410 data:<................> [08 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 47004: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6627 addr:00d4ff40 data:<................> [13 02 00 00 d3 04 13 06 ec 01 00 00 00 00 00 00] 47005: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6626 addr:00d4fcd8 data:<................> [12 02 00 00 d2 04 12 06 ec 01 00 00 00 00 00 00] 47006: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6625 addr:00d4fa70 data:<................> [11 02 00 00 d1 04 11 06 ec 01 00 00 00 00 00 00] 47007: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6624 addr:00d4f808 data:<................> [10 02 00 00 d0 04 10 06 ec 01 00 00 00 00 00 00] 47008: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6623 addr:00d4f5a0 data:<................> [0f 02 00 00 cf 04 0f 06 ec 01 00 00 00 00 00 00] 47009: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6622 addr:00d4f338 data:<................> [0e 02 00 00 ce 04 0e 06 ec 01 00 00 00 00 00 00] 47010: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6621 addr:00d4f0d0 data:<................> [0d 02 00 00 cd 04 0d 06 ec 01 00 00 00 00 00 00] 47011: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6620 addr:00d4e4e8 data:<................> [0c 02 00 00 cc 04 0c 06 ec 01 00 00 00 00 00 00] 47012: size: 150( 0.146kb) file:\DxGraphics.cpp line:18425 ID:6619 addr:00d4efc0 data:<................> [00 00 00 00 e8 ef d4 00 00 00 00 00 00 00 00 00] 47013: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6618 addr:00d4e750 data:<................> [08 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 47014: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6594 addr:00d4e280 data:<................> [0a 02 00 00 cb 04 0a 06 ec 01 00 00 00 00 00 00] 47015: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6593 addr:00d4e018 data:<................> [09 02 00 00 ca 04 09 06 ec 01 00 00 00 00 00 00] 47016: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6592 addr:00d4ddb0 data:<................> [08 02 00 00 c9 04 08 06 ec 01 00 00 00 00 00 00] 47017: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6591 addr:00d4db48 data:<................> [07 02 00 00 c8 04 07 06 ec 01 00 00 00 00 00 00] 47018: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6590 addr:00d4d8e0 data:<................> [06 02 00 00 c7 04 06 06 ec 01 00 00 00 00 00 00] 47019: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6589 addr:00d4d678 data:<................> [05 02 00 00 c6 04 05 06 ec 01 00 00 00 00 00 00] 47020: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6588 addr:00d4d410 data:<................> [04 02 00 00 c5 04 04 06 ec 01 00 00 00 00 00 00] 47021: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6587 addr:00d4c828 data:<................> [03 02 00 00 c4 04 03 06 ec 01 00 00 00 00 00 00] 47022: size: 150( 0.146kb) file:\DxGraphics.cpp line:18425 ID:6586 addr:00d4d300 data:<....(...........> [00 00 00 00 28 d3 d4 00 00 00 00 00 00 00 00 00] 47023: size: 120( 0.117kb) file:\DxGraphics.cpp line:17457 ID:6585 addr:00d4ca90 data:<................> [08 00 00 00 03 00 00 00 01 00 01 00 00 00 00 01] 47024: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6561 addr:00d4c5c0 data:<................> [01 02 00 00 c3 04 01 06 ec 01 00 00 00 00 00 00] 47025: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6560 addr:00d4c358 data:<................> [00 02 00 00 c2 04 00 06 ec 01 00 00 00 00 00 00] 47026: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6559 addr:00d4c0f0 data:<................> [ff 01 00 00 c1 04 ff 05 ec 01 00 00 00 00 00 00] 47027: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6558 addr:00d4be88 data:<................> [fe 01 00 00 c0 04 fe 05 ec 01 00 00 00 00 00 00] 47028: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6557 addr:00d4bc20 data:<................> [fd 01 00 00 bf 04 fd 05 ec 01 00 00 00 00 00 00] 47029: size: 492( 0.480kb) file:in\DxHandle.cpp line:195 ID:6556 addr:00d4b9b8 data:<................> [fc 01 00 00 be 04 fc 05 ec 01 00 00 00 00 00 00] 以下中略 53338: size: 131072( 128.000kb) file:in\DxHandle.cpp line:85 ID:0 addr:005c0ea0 data:<................> [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 53339: Total size:136586133(133384.891kb) Alloc num:1471 53340: 62108:フォントの初期化を行います 62111:フォントの初期化は正常に終了しました 62162:Direct3DDevice9 の解放 2 62217:DirectSound の終了処理は正常に終了しました 62304: 62305:Alloc memory dump 62306: Total size:0(0.000kb) Alloc num:0 62307: 対策について教えていただければ幸いです。
メンテ

Page: 1 | 2 |

Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.8 )
名前:管理人 日時:2015/03/09 23:36

すみません、少し同じことを申し上げてしまいますが 最初のモデル読み込みを開始するタイミングと、ChangeWindowMode 呼出し後の モデル読み込みを開始するタイミングの箇所にそれぞれ DxDumpAlloc() ; という記述を増やしてみてください そうすると Log.txt にそれぞれの使用メモリ量などが出力されます よろしければ『読み込みに成功したとき』と『読み込みに失敗したとき』の、 Log.txt の中の以下のような総使用メモリ量と総メモリ確保数の部分を こちらの掲示板に貼り付けて頂けないでしょうか? 53339: Total size:136586133(133384.891kb) Alloc num:1471
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.9 )
名前:N.M 日時:2015/03/10 00:33

最初の読み込み成功時は 17053: Total size:172732492(168684.078kb) Alloc num:1494 となっていまして、 ChangeWindowMode実行後の読み込み失敗時は 43491: Total size:136586133(133384.891kb) Alloc num:1471 となってました。 自分も理解できてなかったところがありまして申し訳ありません。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.10 )
名前:管理人 日時:2015/03/10 23:03

ご返答ありがとうございます ChangeWindowMode 実行後の方が寧ろ使用メモリが減っていますね・・・ すみません、今気が付いたのですが Ver3.13d をお使いなのですね 暫定の最新バージョンではもしかしたら状況が改善するかもしませんので、 よろしければこちらのバージョンをお試しになってみてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.11 )
名前:N.M 日時:2015/03/11 00:27

ご返答ありがとうございます。で、早速そのバージョ ンに変えてみたのですが、そしたらソフト起動直後も 読み込まなくなったり、色とかもおかしくなってしま いましたね(見た感じRGBのRとBが入れ替わってる)・・・
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.12 )
名前:管理人 日時:2015/03/11 00:48

お試しいただきありがとうございます 駄目でしたか・・・ すみません、幾つかご質問させてください 1.全く同じモデルファイルを全く同じ順番で読み込んでいるにも関わらず、  失敗する場合と成功する場合があるのでしょうか? 2.SetUseASyncLoadFlag( TRUE ) ; を使用して非同期読み込みを行っていますでしょうか? 3.ChangeWindowMode関数を使用した後の読み込みで失敗するとのことですが、  フルスクリーンモードからウインドウモードにされたのか、  ウインドウモードからフルスクリーンモードにされたのか、どちらでしょうか? 4.DxLib_Init の呼び出しの前に SetUseDirect3DVersion( DX_DIRECT3D_9 ) ; という記述を追加して  実行した場合も同じように読み込みに失敗してしまいますでしょうか? 5.「色とかもおかしくなってしまいましたね(見た感じRGBのRとBが入れ替わってる)・・・」  こちらについてですが、全ての色がおかしくなってしまっているのでしょうか?  若しくはモデルの描画結果のみで、DrawString による文字列描画や DrawGraph などによる  画像描画は正常な色でしょうか? あと、何度も申し訳ないのですが、暫定最新版で実行した際の Log.txt の内容の、 『読み込みが失敗した際に出力される使用メモリ情報以外の部分』をこちらに貼り付けて頂けないでしょうか? m(_ _;m
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.13 )
名前:N.M 日時:2015/03/11 02:04

質問に答えさせて頂きます。  1.そうですね。あまり多くないですが、同じプログラムでChangeWindowModeで変更後も再読み込みが成功している例も見ています。 2.非同期読み込みはソフト起動時のみ行ってます。ChangeWindowMode後は同期読み込みで読み込んでいます。 3.両方の場合で失敗していますね・・・ 4・5.SetUseDirect3DVersion( DX_DIRECT3D_9 ) ; の記述を加えたところ色は正常に戻りました。また異常 だったときはモデル以外にもDrawString等で描写した文字についても色がおかしかったです。2Dの画像だけ 正常に描写されていました。ただ、その記述を入れましたら、入れなかったときは読み込みが終わらない現 象が起きましたが、こんどはアクセス違反が起きるようになってしまいました。
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.14 )
名前:N.M 日時:2015/03/11 02:11

で、これがlogの内容です。 0:設定されている画面設定 800x600 32bit color 46:システムの情報を出力します 46: DXライブラリ Ver3.13e 46: 論理プロセッサの数 : 4 153: 現時点のCPU動作速度:大体2.69GHz 155: MMX命令を使用します 156: SSE命令が使用可能です 158: SSE2命令が使用可能です 159: CPUベンダ:178:ウインドウの作成に成功しました 179:ウインドウを表示します 225:DirectInput関係初期化処理 226: XInput DLL の読み込み中... 成功 260: 引き続き初期化処理... 初期化成功 272:DirectInput 関連の初期化は正常に終了しました 成功 288:引き続きインターフェースの初期化処理... 成功 537: DirectSound デバイスを列挙します 553:DirectSound の初期化は正常に終了しました 成功 576:引き続き初期化処理... 初期化に成功しました 601:IDirect3D9 オブジェクトを取得します.... ハードウエア頂点演算を使用します 2337:成功 2345:Driver:nvumdshim.dll Description:Intel(R) HD Graphics 4000 2351:画面のフォーマットは D3DFMT_X8R8G8B8 です 2359:16bit Zバッファフォーマットは D3DFMT_D16 です 2360:24bit Zバッファフォーマットは D3DFMT_D24X8 です 2362:32bit Zバッファフォーマットは D3DFMT_D24X8 です 2364:16bit カラーフォーマットは D3DFMT_R5G6B5 です 2366:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 2368:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 2369:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2370:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 2371:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2373:DXT1テクスチャフォーマットはD3DFMT_DXT1 です 2379:DXT2テクスチャフォーマットはD3DFMT_DXT2 です 2381:DXT3テクスチャフォーマットはD3DFMT_DXT3 です 2383:DXT4テクスチャフォーマットはD3DFMT_DXT4 です 2386:DXT5テクスチャフォーマットはD3DFMT_DXT5 です 2389:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 2391:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 2394:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 2395:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 2396:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 2398:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 2403:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 2405:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 2406:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です 2407:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です 2408:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 2410:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 2411:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 2412:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 2413:一度に描画できるプリミティブの最大数:1048575 2414:対応している最大頂点インデックス:16777215 2419:同時にレンダリングできるバッファの数:4 2420:最大テクスチャサイズ 幅:8192 高さ:8192 2422:テクスチャステージテンポラリレジスタ:使用可 2423:減算合成のハードウェア対応:ネイティブ 2424:ハードウェア頂点シェーダーバージョンコード:300 2426:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 2428:ピクセルシェーダーバージョンコード:300 4082:プログラマブルシェーダーを使用します 4143:フォントの初期化を行います 13267:DirectSoundBuffer の作成に失敗しました 13343: 13345:Alloc memory dump (中略・・・メモリ情報) 15103: Total size:160908336(157137.047kb) Alloc num:1500 15105: 22100:ChangeWindowMode実行 22102:ウインドウモードフラグが立てられました 22103:ウインドウスタイルをウインドウモード用に変更します... 22132: フォントの初期化を行います 22236: Direct3DDevice9 の解放 2 23485: d3d9.dll の解放 1 23889: 成功 23901: Driver:nvumdshim.dll Description:Intel(R) HD Graphics 4000 23906: 画面のフォーマットは D3DFMT_X8R8G8B8 です 23912: 16bit Zバッファフォーマットは D3DFMT_D16 です 23915: 24bit Zバッファフォーマットは D3DFMT_D24X8 です 23917: 32bit Zバッファフォーマットは D3DFMT_D24X8 です 23919: 16bit カラーフォーマットは D3DFMT_R5G6B5 です 23933: 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 23935: アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 23941: アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 23953: アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 23963: アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 23969: DXT1テクスチャフォーマットはD3DFMT_DXT1 です 23974: DXT2テクスチャフォーマットはD3DFMT_DXT2 です 23979: DXT3テクスチャフォーマットはD3DFMT_DXT3 です 23985: DXT4テクスチャフォーマットはD3DFMT_DXT4 です 23990: DXT5テクスチャフォーマットはD3DFMT_DXT5 です 23995: 描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 24204: 描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 24213: 描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 24215: 描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 24221: 描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 24226: 描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 24228: 描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 24230: 描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 24231: 描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です 24233: 描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です 24234: 描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 24235: 描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 24237: 描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 24238: 描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 24239: 一度に描画できるプリミティブの最大数:1048575 24248: 対応している最大頂点インデックス:16777215 24254: 同時にレンダリングできるバッファの数:4 24259: 最大テクスチャサイズ 幅:8192 高さ:8192 24275: テクスチャステージテンポラリレジスタ:使用可 24284: 減算合成のハードウェア対応:ネイティブ 24288: ハードウェア頂点シェーダーバージョンコード:300 24290: エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 24292: ピクセルシェーダーバージョンコード:300 (メモリ情報) 完了 24478:画面モード変更処理は正常に終了しました 25135: 25136:Alloc memory dump 27457: Total size:124650145(121728.656kb) Alloc num:1471 27459: また今回このようなデバッグ中このようなエラーが出ました。 shooting.exe の 0x00be26c7 で初回の例外が発生しました: 0xC0000005: 場所 0x8190eba0 を読み込み中にアクセス違反が発生しました。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.15 )
名前:管理人 日時:2015/03/11 23:30

ご返答&Log.txtの貼り付けありがとうございます Direct3D 11 を使用した場合は 2D の画像だけが正常な色で描画されていたのですね・・・ すみません、更にご質問です 1.非同期読み込みは一切使用しなかった場合( ソフト起動時も同期読み込み )にした場合、  Log.txt に出力される内容が変化したりせず、常に結果は同じになりますでしょうか? 2.「ただ、その記述を入れましたら、入れなかったときは読み込みが終わらない現   象が起きましたが、こんどはアクセス違反が起きるようになってしまいました。」こちらは  「2D画像の描画処理を行わないと『読み込みが終わらない現象』が発生して、   2D画像の描画処理を加えると『アクセス違反』が発生する」という解釈で宜しいでしょうか? 3.「読み込みが終わらない現象」については今までのお話にはありませんでしたが、  今回初めて発生したのでしょうか? 4.No.14のログを拝見する限りでは 32bit アプリとして実行されているようですが、  暫定最新版で 64bit アプリとして実行した場合はどのような結果になりますでしょうか?
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.16 )
名前:N.M 日時:2015/03/12 02:27

いつもお世話になっております。 1.おそらくLogの内容はだいたい変化なく、起動時の読み込みは正常に出来てるようです。ただ今Log見返 したのですがChangeWindowMode後に 38977: シェーダーコードを展開するメモリ領域の確保に失敗しました 38978: プログラマブルシェーダーを使用しません というのが表示されてました。 2.SetUseDirect3DVersion( DX_DIRECT3D_9 );を加えなかったときはChangeWindowMode後そのまま再読み込みが終わらなくなり、加えたときは再読み込みの時にアクセス違反が起きてソフトが止まるようになりました。 3.DXライブラリの暫定最新版を入れてから初めて起こるようになりました。(ver3.13dの時は起きませんでした。) 4.Visual Studio Expressだと64bit版作るのにいろいろインストールしなければならないみたいですね。 ちょっと時間かかりそうなので今度試してみようと思います。
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.17 )
名前:N.M 日時:2015/03/12 03:25

報告申し上げます。インストールして64bit版にしたところ、暫定版だとやはりアクセス違反が起きてしまうようですが、ver3.13dの時はChangeWindowMode後も無事読み込むことが出来てました。No2、No3のときはどうやらまだ32bitのままだったようです。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.18 )
名前:管理人 日時:2015/03/13 01:06

お試しいただきありがとうございます Ver3.13d で 64bit版でしたら正常に動作したとしますと、やはり Ver3.13d での不具合は メモリ不足が原因だったと考えて問題無さそうです 暫定最新版の不具合についてですが、色の R と B が入れ替わってしまうことや、 32bit版でのメモリ不足が異常なものではないか確認したいと思いますので、 もし不都合が無ければ現象を確認できるプログラムとプログラムの実行に必要な ファイルをメールでこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけないでしょうか? m(_ _;m
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.19 )
名前:N.M 日時:2015/03/13 02:56

いろいろと対応して頂きましてありがとうございました。いままでテストしていたプログラム一式を送信す ると16MBくらいいってしまって送信できなかったので新たにプログラムを組んでみようと思います。そのた め時間がかかりますので少々お待ち頂ければとおもいます。
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.20 )
名前:N.M(解決) 日時:2015/03/13 12:25

RとBが入れ替わっているという件についてですが、どうやら暫定版になってカラーハンドルの仕様が変更さ れたのが原因だったみたいです。(GetColorでちゃんと指定したら正常に表示されました。面倒くさがって 直接16進数で指定してたのでこのようなことが起きたのだと思います。)3Dモデルも背景の色が変わったた めに色が変わったと錯覚しましたがモデル自体の色は正常でした。あと読み込めないといったことは管理人 様のおっしゃるとおりメモリ不足が原因だったようです。いろいろと教えて頂いたり、対応して頂きまして 本当にありがとうございました。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.21 )
名前:管理人(解決) 日時:2015/03/14 00:50

問題が解決した様で何よりです 最後に一つだけご質問させてください No.17 のお書き込みに 『インストールして64bit版にしたところ、暫定版だとやはりアクセス違反が起きてしまうようですが』 とあります通り、暫定最新版では 64bitビルドにしても読み込み失敗やアクセス違反が発生してしまうという 認識で間違いないでしょうか?
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.22 )
名前:N.M(解決) 日時:2015/03/14 23:02

はい、そのとおりです。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.23 )
名前:管理人(解決) 日時:2015/03/15 00:11

ご返答ありがとうございます では、現在お名前の末尾が(解決)となっていますが、No.19 のお書き込みの通りテスト用の プログラムを作成して頂けるという認識でよろしいのでしょうか?
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.24 )
名前:N.M 日時:2015/03/15 02:57

あっと、そうですね。そこはまだ未解決でしたね。はい、作製してみようと思います。少々お待ちください。
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.25 )
名前:管理人 日時:2015/03/16 03:14

すみません、(解決)とされていたので「もしかしてこちらも直ってたのだろうか?」と思いご確認させていただきました ここ1週間ほど大きな変更を行っていて簡単なテストもできない状態だったのですが、先ほど漸く実行できる 状態になったので手元のモデルで ChangeWindowMode 後に MV1LoadModel で読み込むというテストを 行ってみたところ、読み込み終了が行われない現象とアクセス違反が発生する現象を確認できました 恐らく N.Mさんが遭遇した不具合と同じものだと思います 修正できたのですが、大きな変更によるその他の不具合がある状態なので、 修正版のアップはもう少しお待ちください m(_ _;m
メンテ
Re: ChangeWindowMode関数後の3Dモデルの読み込み ( No.26 )
名前:管理人 日時:2015/03/23 00:03

お待たせしました、ChangeWindowMode の後に MV1LoadModel でモデルを 読み込むと発生するエラーを修正したバージョンをアップしましたので、 よろしければお使いください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
ChangeWindowMode関数後の3Dモデルの読み込み ( No.27 )
名前:N.M(解決) 日時:2015/03/24 20:09

ありがとうございます。試してみたところエラーは発生せず正常に読み込みが出来ました。いろいろ対応し て頂き本当にありがとうございました。
メンテ

Page: 1 | 2 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存