トップページ > 記事閲覧
SetUseASyncChange(略)の使用でエラー
名前:Nameless 日時: 2015/05/14 22:47

いつもお世話になっております。 SetUseASyncChangeWindowModeFunctionによってウィンドウモードとフルスクリーンモードを切り替えると問題が発生するようです。 (追記:以下の現象1はChangeWindowModeでも発生しました) 3.14aと3.14bで確認しました。 確認時に使ったプログラムとLog.txtは後で貼り付けます。 現象としては、 1.ChangeWindowMode(TRUE)やAlt+Enterでフルスクリーンモードからウィンドウモードに切り替えると、 DrawBoxを呼び出しても四隅の点しか描画されない(切り替えた直後だけでなく、切り替えてしばらく放置で起こることもあります。) 2.DrawBoxが四隅の点しか描画されなくなってからさらにAlt+Enterでフルスクリーンモードに切り替えると  ハンドルされない例外が0x75E74598(KernelBase.dll)で発生しました(DxLib_VC2013用.exe内): 0x0000087A(パラメーター0x887A0001,0x00000042)  というような例外が出て、止まってしまいます。 こちらで調べた結果 ・現象2はChangeWindowModeでは発生しない ・(間違いがなければ)3.14aのソースコードのDxGraphicsAPIWin.cppの2448行目にあたる extern void D3D11DeviceContext_Flush( void ) { GAPIWin.D3D11DeviceContext->Flush() ; } というところでエラーが発生している という事がわかりました。 お忙しい中恐縮ですが、どうぞお願いいたします。
メンテ

Page: 1 |

Re: SetUseASyncChange(略)の使用でエラー ( No.1 )
名前:Nameless 日時:2015/05/14 22:28

検証に使ったソースとエラー発生時のLog.txtです。 Log.txtは内容にほとんど差がなかったので、3.14aの物を貼り付けときます。 -----------ソース----------- #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { SetUseASyncChangeWindowModeFunction(TRUE, nullptr, nullptr); if (DxLib_Init() == -1){ return -1; } while (ProcessMessage() != -1) { DrawBox(100, 100, 200, 200, GetColor(255, 255, 255), TRUE);//無くてもエラー //ChangeWindowMode(TRUE);//あってもエラーは起きない //ChangeWindowMode(FALSE); } DxLib_End(); return 0; } -----------Log.txt----------- 0:DXライブラリの初期化処理開始 0: 設定されている画面設定 640x480 16bit color 15: ディスプレイ情報のセットアップ開始 31: モニターの数:1 ディスプレイデバイスの数:3 31: No.0 モニター名:\\.\DISPLAY1 1366x768 32bit 60Hz 46: ディスプレイ情報のセットアップ完了 62: 対応している画面モードなし 62: 設定されている画面設定 640x480 32bit color 78: システムの情報を出力します 78: DXライブラリ Ver3.14a 93: 論理プロセッサの数 : 2 93: OS Windows8 ( Build 9200 ) 224: 現時点のCPU動作速度:大体1.89GHz 230: MMX命令を使用します 236: SSE命令が使用可能です 242: SSE2命令が使用可能です 249: CPUベンダ:GenuineIntel 290: CPU名: Intel(R) Celeron(R) CPU 1005M @ 1.90GHz 305: COMの初期化... 成功しました 331: メモリ総量:8057.77MB 空きメモリ領域:5648.38MB 340: タイマーの精度を検査します 346: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 353: パフォーマンスカウンターを使用します タイマー精度 : 1851.269000 KHz 366: ソフトの二重起動検査... 二重起動はされていませんでした 385: ウインドウクラスを登録します... 登録に成功しました 398: フルスクリーンモード用のウインドウを作成します 408: ウインドウの作成に成功しました 414: ウインドウを表示します 437: カーソルを不可視にしました 450: IMEを無効にしました 607: DirectInput関係初期化処理 613: XInput DLL の読み込み中... 成功 629: DirectInput7 の取得中... 成功 677: 引き続き初期化処理... 初期化成功 759: ジョイパッドの初期化... 769: ジョイパッドの初期化は正常に終了しました 775: マウスデバイスの初期化... 初期化成功 787: キーボードデバイスの初期化... 初期化成功 800: DirectInput 関連の初期化は正常に終了しました 809: DirectSound の初期化を行います 815: DirectSound インターフェースの取得を行います.... 成功 835: 引き続きインターフェースの初期化処理... 成功 966: DirectSound デバイスを列挙します 975: Module Name : Description : プライマリ サウンド ドライバー 984: Module Name : {0.0.0.00000000}.{96127aec-35c7-4e48-8a46-601283f3216e} Description : スピーカー (Conexant SmartAudio HD) 991: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 999: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 1006: 利用可能サンプリング精度 1013: Primary 16bit = OK 8bit = OK 1047: Secondary 16bit = OK 8bit = OK 1107: 利用可能チャンネル 1148: Primary MONO = OK STEREO = OK 1186: Secondary MONO = OK STEREO = OK 1203: DirectSound の初期化は正常に終了しました 1235: d3d11.dll の読み込み.... 成功 1292: dxgi.dll の読み込み.... 成功 1368: API CreateDXGIFactory のアドレスを取得します.... 成功 1385: IDXGIFactory を作成します.... 成功 1404: API D3D11CreateDevice のアドレスを取得します.... 成功 1437: IDXGIAdapter を取得します.... 成功 1452: Direct3D 11 FeatureLevel 11_0 以上を対象とします 1459: ID3D11Device オブジェクトを取得します.... 成功 1539: IDXGIDevice1 を取得します.... 成功 1555: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 1577: [フルスクリーンモード] IDXGISwapChain を作成します.... 成功 1934: IDXGIOutput を取得します.... 成功 1990: スワップチェインのバッファの ID3D11Texture2D を取得します.... 成功 2002: スワップチェインのバッファの ID3D11ShaderResourceView を作成します.... 成功 2017: スワップチェインのバッファの ID3D11RenderTargetView を作成します.... 成功 2031: Graphics Device:Intel(R) HD Graphics 2037: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2054: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 2095: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 2122: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 2131: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2138: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 2145: DXT2テクスチャフォーマットは使えません 2153: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 2160: DXT4テクスチャフォーマットは使えません 2167: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 2174: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 2182: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 2190: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2197: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 2205: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 2212: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 2220: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 2234: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 2242: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 2255: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 2263: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 2272: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 2292: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 2302: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 2310: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0 2318: 同時にレンダリングできるバッファの数:8 2326: 最大テクスチャサイズ 幅:16384 高さ:16384 2337: 深度バッファを作成します.... 成功 2353: シェーダーコード関係の初期化.... 成功 2555: 各種シェーダー用定数バッファの作成.... 成功 2676: 各種 ID3D11InputLayout の作成.... 成功 2894: 標準描画用の頂点バッファの作成.... 成功 5063: 画像の単純転送処理の初期化... 成功 5081: フォントの初期化を行います 5089: フォントの初期化は正常に終了しました 5096: 文字コードバッファの初期化を行います... 完了しました 5144:DXライブラリの初期化処理終了 8035:ChangeWindowMode実行 8122:ウインドウモードフラグが立てられました 8132:ウインドウスタイルをウインドウモード用に変更します... 完了 8156:画面モード変更処理を開始します 8172: フォントの初期化を行います 8180: フォントの初期化は正常に終了しました 8516: d3d11.dll の解放 1 8561: dxgi.dll の解放 1 8572: Direct3D11 のオブジェクト数を出力 8595: Direct3D11 のオブジェクト合計数 : 0 8603: d3d11.dll の読み込み.... 成功 8620: dxgi.dll の読み込み.... 成功 8656: API CreateDXGIFactory のアドレスを取得します.... 成功 8687: IDXGIFactory を作成します.... 成功 8739: API D3D11CreateDevice のアドレスを取得します.... 成功 8771: IDXGIAdapter を取得します.... 成功 8792: Direct3D 11 FeatureLevel 11_0 以上を対象とします 8800: ID3D11Device オブジェクトを取得します.... 成功 8822: IDXGIDevice1 を取得します.... 成功 8840: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 8849: [ウインドウモード] IDXGISwapChain を作成します.... 成功 8876: IDXGIOutput を取得します.... 成功 8897: スワップチェインのバッファの ID3D11Texture2D を取得します.... 成功 8912: スワップチェインのバッファの ID3D11ShaderResourceView を作成します.... 成功 8927: スワップチェインのバッファの ID3D11RenderTargetView を作成します.... 成功 8941: Graphics Device:Intel(R) HD Graphics 8950: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 8957: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 8965: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 8972: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 8980: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 8987: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 8994: DXT2テクスチャフォーマットは使えません 9001: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 9009: DXT4テクスチャフォーマットは使えません 9016: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 9024: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 9032: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 9040: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 9049: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 9056: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 9063: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 9071: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 9079: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 9087: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 9094: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 9101: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 9108: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 9116: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 9123: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 9130: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0 9138: 同時にレンダリングできるバッファの数:8 9147: 最大テクスチャサイズ 幅:16384 高さ:16384 9155: 深度バッファを作成します.... 成功 9169: シェーダーコード関係の初期化.... 成功 9291: 各種シェーダー用定数バッファの作成.... 成功 9409: 各種 ID3D11InputLayout の作成.... 成功 9491: 標準描画用の頂点バッファの作成.... 成功 9650: 画像の単純転送処理の初期化... 成功 9762: フォントの初期化を行います 9825: フォントの初期化は正常に終了しました 9856: ウインドウスタイルをウインドウモード用に変更します... ディスプレイ情報のセットアップ開始 9934: モニターの数:1 ディスプレイデバイスの数:3 9996: No.0 モニター名:\\.\DISPLAY1 1366x768 32bit 60Hz 10031: ディスプレイ情報のセットアップ完了 10057: 完了 10090:画面モード変更処理は正常に終了しました 14250:ChangeWindowMode実行 14313:ウインドウモードフラグが倒されました 14338:ウインドウスタイルをフルスクリーンモード用に変更します... 完了 14365:画面モード変更処理を開始します 14376: フォントの初期化を行います 14383: フォントの初期化は正常に終了しました
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.2 )
名前:Nameless 日時:2015/05/14 22:45

追記です。 現象1ですがChangeWindowMode(TRUE)前に描画をしていない場合は発生しませんでした。 以下検証コードです #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { if (DxLib_Init() == -1){ return -1; } //コメントアウトすると現象1は発生しない DrawBox(100, 100, 200, 200, GetColor(255, 255, 255), TRUE); ChangeWindowMode(TRUE); //上をコメントアウトしてないと頂点のみが描画される DrawBox(100, 100, 200, 200, GetColor(255, 255, 255), TRUE); WaitKey(); DxLib_End(); return 0; }
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.3 )
名前:Nameless 日時:2015/05/16 13:57

追記です。 SetUseDirect3DVersion(DX_DIRECT3D_9EX) を使用した場合現象1,2ともに起こらなくなりました。 ところで 現象3:SetUseDirect3DVersion(DX_DIRECT3D_9EX)を使用しない場合は    ディスプレイの左上を原点として1366x768に引き延ばされて表示    だったのですが、使用した場合    フルスクリーンモード時、画面の中央に640x480が引き延ばされずに表示 という現象が起こりました。 これは仕様でしょうか?
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.4 )
名前:管理人 日時:2015/05/16 23:34

ご情報ありがとうございます Direct3D 11 に存在する 「ALT + Enterを押したら自動的にフルスクリーン←→ウインドウモードの切り替えてくれる」 という機能が悪さをしていました この機能を無効にして、DXライブラリ内部で切り替えるようにしたら正常に動作するように なりましたので、よろしければこちらの修正版をお試しください m(_ _;m ( 現象3についても同様の原因によるものだと思います ) 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)」をして下さい)
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.5 )
名前:Nameless 日時:2015/05/17 09:17

対応ありがとうございます。 現象2が発生しなくなったことを確認できました。 しかし、現象1と現象3が依然として発生します。 とりあえずNo.1のソースで実行した際のLog.txtを貼り付けておきます。 0:DXライブラリの初期化処理開始 15: 設定されている画面設定 640x480 16bit color 15: ディスプレイ情報のセットアップ開始 31: モニターの数:1 ディスプレイデバイスの数:3 31: No.0 モニター名:\\.\DISPLAY1 1366x768 32bit 60Hz 78: ディスプレイ情報のセットアップ完了 93: 対応している画面モードなし 93: 設定されている画面設定 640x480 32bit color 109: システムの情報を出力します 109: DXライブラリ Ver3.14b 125: 論理プロセッサの数 : 2 125: OS Windows8 ( Build 9200 ) 241: 現時点のCPU動作速度:大体1.88GHz 247: MMX命令を使用します 253: SSE命令が使用可能です 258: SSE2命令が使用可能です 263: CPUベンダ:GenuineIntel 290: CPU名: Intel(R) Celeron(R) CPU 1005M @ 1.90GHz 295: COMの初期化... 成功しました 311: メモリ総量:8057.77MB 空きメモリ領域:5494.64MB 317: タイマーの精度を検査します 323: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 329: パフォーマンスカウンターを使用します タイマー精度 : 1851.269000 KHz 340: ソフトの二重起動検査... 二重起動はされていませんでした 357: ウインドウクラスを登録します... 登録に成功しました 368: フルスクリーンモード用のウインドウを作成します 375: ウインドウの作成に成功しました 381: ウインドウを表示します 395: カーソルを不可視にしました 418: IMEを無効にしました 449: DirectInput関係初期化処理 454: XInput DLL の読み込み中... 成功 468: DirectInput7 の取得中... 成功 495: 引き続き初期化処理... 初期化成功 507: ジョイパッドの初期化... 517: ジョイパッドの初期化は正常に終了しました 522: マウスデバイスの初期化... 初期化成功 534: キーボードデバイスの初期化... 初期化成功 549: DirectInput 関連の初期化は正常に終了しました 557: DirectSound の初期化を行います 565: DirectSound インターフェースの取得を行います.... 成功 582: 引き続きインターフェースの初期化処理... 成功 656: DirectSound デバイスを列挙します 662: Module Name : Description : プライマリ サウンド ドライバー 668: Module Name : {0.0.0.00000000}.{96127aec-35c7-4e48-8a46-601283f3216e} Description : スピーカー (Conexant SmartAudio HD) 674: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 681: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 687: 利用可能サンプリング精度 693: Primary 16bit = OK 8bit = OK 698: Secondary 16bit = OK 8bit = OK 704: 利用可能チャンネル 710: Primary MONO = OK STEREO = OK 716: Secondary MONO = OK STEREO = OK 722: DirectSound の初期化は正常に終了しました 729: d3d11.dll の読み込み.... 成功 743: dxgi.dll の読み込み.... 成功 755: API CreateDXGIFactory のアドレスを取得します.... 成功 766: IDXGIFactory を作成します.... 成功 779: API D3D11CreateDevice のアドレスを取得します.... 成功 791: IDXGIAdapter を取得します.... 成功 802: Direct3D 11 FeatureLevel 11_0 以上を対象とします 808: ID3D11Device オブジェクトを取得します.... 成功 830: IDXGIDevice1 を取得します.... 成功 842: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 848: [フルスクリーンモード] IDXGISwapChain を作成します.... 成功 1225: IDXGIOutput を取得します.... 成功 1269: スワップチェインのバッファの ID3D11Texture2D を取得します.... 成功 1362: スワップチェインのバッファの ID3D11ShaderResourceView を作成します.... 成功 1380: スワップチェインのバッファの ID3D11RenderTargetView を作成します.... 成功 1396: Graphics Device:Intel(R) HD Graphics 1407: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1414: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 1423: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 1430: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 1436: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1442: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 1449: DXT2テクスチャフォーマットは使えません 1455: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 1462: DXT4テクスチャフォーマットは使えません 1468: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 1474: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1480: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1486: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1493: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1499: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1505: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1512: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1518: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1524: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1533: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1539: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1546: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1552: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1560: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1566: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0 1577: 同時にレンダリングできるバッファの数:8 1583: 最大テクスチャサイズ 幅:16384 高さ:16384 1589: 深度バッファを作成します.... 成功 1602: シェーダーコード関係の初期化.... 成功 1771: 各種シェーダー用定数バッファの作成.... 成功 1823: 各種 ID3D11InputLayout の作成.... 成功 1883: 標準描画用の頂点バッファの作成.... 成功 4002: 画像の単純転送処理の初期化... 成功 4017: フォントの初期化を行います 4025: フォントの初期化は正常に終了しました 4032: 文字コードバッファの初期化を行います... 完了しました 4077:DXライブラリの初期化処理終了 22022:ChangeWindowMode実行 22030:ウインドウモードフラグが立てられました 22038:ウインドウスタイルをウインドウモード用に変更します... 完了 22062:画面モード変更処理を開始します 22070: フォントの初期化を行います 22078: フォントの初期化は正常に終了しました 23320: d3d11.dll の解放 1 23353: dxgi.dll の解放 1 23392: Direct3D11 のオブジェクト数を出力 23431: Direct3D11 のオブジェクト合計数 : 0 23447: d3d11.dll の読み込み.... 成功 23468: dxgi.dll の読み込み.... 成功 23484: API CreateDXGIFactory のアドレスを取得します.... 成功 23506: IDXGIFactory を作成します.... 成功 23525: API D3D11CreateDevice のアドレスを取得します.... 成功 23543: IDXGIAdapter を取得します.... 成功 23561: Direct3D 11 FeatureLevel 11_0 以上を対象とします 23569: ID3D11Device オブジェクトを取得します.... 成功 23590: IDXGIDevice1 を取得します.... 成功 23605: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 23612: [ウインドウモード] IDXGISwapChain を作成します.... 成功 23633: IDXGIOutput を取得します.... 成功 23647: スワップチェインのバッファの ID3D11Texture2D を取得します.... 成功 23660: スワップチェインのバッファの ID3D11ShaderResourceView を作成します.... 成功 23673: スワップチェインのバッファの ID3D11RenderTargetView を作成します.... 成功 23687: Graphics Device:Intel(R) HD Graphics 23695: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 23704: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 23711: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 23717: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 23724: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 23731: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 23738: DXT2テクスチャフォーマットは使えません 23745: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 23752: DXT4テクスチャフォーマットは使えません 23759: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 23766: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 23773: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 23780: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 23787: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 23794: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 23801: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 23808: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 23815: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 23822: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 23829: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 23840: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 23847: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 23854: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 23865: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 23873: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0 23882: 同時にレンダリングできるバッファの数:8 23890: 最大テクスチャサイズ 幅:16384 高さ:16384 23897: 深度バッファを作成します.... 成功 23911: シェーダーコード関係の初期化.... 成功 24044: 各種シェーダー用定数バッファの作成.... 成功 24152: 各種 ID3D11InputLayout の作成.... 成功 24369: 標準描画用の頂点バッファの作成.... 成功 24651: 画像の単純転送処理の初期化... 成功 24739: フォントの初期化を行います 24768: フォントの初期化は正常に終了しました 24888: ウインドウスタイルをウインドウモード用に変更します... ディスプレイ情報のセットアップ開始 25033: モニターの数:1 ディスプレイデバイスの数:3 25069: No.0 モニター名:\\.\DISPLAY1 1366x768 32bit 60Hz 25172: ディスプレイ情報のセットアップ完了 25188: 完了 25210:画面モード変更処理は正常に終了しました 32277:ウインドウを閉じようとしています 32293:ウインドウが破棄されようとしています 32317:ソフトを終了する準備が整いました 32326:フォントの初期化を行います 32334:フォントの初期化は正常に終了しました 32413:d3d11.dll の解放 1 32423:dxgi.dll の解放 1 32431:Direct3D11 のオブジェクト数を出力 32438:Direct3D11 のオブジェクト合計数 : 0 32446:DirectInput 関連の終了処理... 完了 32493:DirectSound の終了処理は正常に終了しました 32570: 32577:Alloc memory dump 32584: Total size:0(0.000kb) Alloc num:0 32592:
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.6 )
名前:管理人 日時:2015/05/18 02:59

お試しいただきありがとうございます 現象1と現象3が解決せずですか・・・ Direct3D 11 と Direct3D 9 は結構挙動が異なることが多いので、現象3についてはもしかしたら 仕様なのかもしれませんが、よろしければ現象3が発生している際のモニターの解像度を 確認していただけないでしょうか? もし解像度が「640x480」になっていたらDXライブラリの想定する動作の通りでどうしようもない感じですが、 それ以外の解像度になっていましたら想定に反しているので何か不具合が発生している可能性があります 現象1については私の手元では発生しないので今のところ原因は分かりません・・・ DrawBox では四隅の点しか描画されないとのことですが、DrawGraph などの画像を描画する関数の場合は どのような結果になりますでしょうか? あと、No.1 のプログラムでは裏画面を使用していませんが、こちらのように裏画面を使用するようにしても 現象1は発生しますでしょうか? #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { SetUseASyncChangeWindowModeFunction(TRUE, NULL, NULL); if (DxLib_Init() == -1){ return -1; } while (ProcessMessage() != -1) { SetDrawScreen( DX_SCREEN_BACK ) ; ClearDrawScreen() ; DrawBox(100, 100, 200, 200, GetColor(255, 255, 255), TRUE);//無くてもエラー //ChangeWindowMode(TRUE);//あってもエラーは起きない //ChangeWindowMode(FALSE); ScreenFlip() ; } DxLib_End(); return 0; } あと、効果が無い可能性が高いですが、お使いの PC に搭載されているグラフィックスデバイスである Intel HD Graphics のドライバを最新のものにすることで現象が直る可能性もありますので、 よろしければこちらの Intel のドライバダウンロードページからお使いのデバイスに該当する 最新のドライバーをダウンロード+インストールしてみてください m(_ _;m Intel ダウンロードセンター https://downloadcenter.intel.com/ja/search?keyword=%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB%C2%AE+HD+%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E5%86%85%E8%94%B5%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AB%C2%AE+Core%E2%84%A2+%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%83%BC
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.7 )
名前:Nameless 日時:2015/05/18 17:31

現象3に関してですが、GetSystemMetrics(SM_CXSCREEN)とGetSystemMetrics(SM_CYSCREEN)で調べた限りでは、 640x480の解像度だったのでDxrect3D 11の仕様のようです。 これは解決とさせていただきます。 現象1についてですが、 ・裏画面を使っても変化なし ・LoadGraphScreenやDrawStringやprintfDxは全く描画されない という結果になりました。 Intel HD Graphics のドライバはどうやらすでに最新の物みたいです。
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.8 )
名前:管理人 日時:2015/05/19 03:36

> 現象3に関してですが、GetSystemMetrics(SM_CXSCREEN)とGetSystemMetrics(SM_CYSCREEN)で調べた限りでは、 > 640x480の解像度だったのでDxrect3D 11の仕様のようです。 うーんそうでしたか・・・ Direct3D 9EX との挙動の違いは気になりますが・・・ 若干処理負荷は上がりますが、もし画面のアスペクト比を保ちたいということがありましたら、DxLib_Init の前に SetFullScreenResolutionMode( DX_FSRESOLUTIONMODE_DESKTOP ) ; を記述して実行してみてください > 現象1についてですが、 > ・裏画面を使っても変化なし > ・LoadGraphScreenやDrawStringやprintfDxは全く描画されない > という結果になりました。 お試しいただきありがとうございます 点しか描画されなくなる原因となりそうな箇所を改めて調べてみたところ、一つ怪しい箇所を発見しました その部分に手を加えてみたものをアップしてみましたので、よろしければお試しください 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)」をして下さい)
メンテ
Re: SetUseASyncChange(略)の使用でエラー ( No.9 )
名前:Nameless(解決) 日時:2015/05/19 16:17

No.8の物で現象1も発生しないことを確認できました。 SetFullScreenResolutionMode( DX_FSRESOLUTIONMODE_DESKTOP ) ; も参考にさせていただきます。 対応ありがとうございました。
メンテ

Page: 1 |

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

   クッキー保存