トップページ > 記事閲覧
ReleaseビルドでのDrawGraph()で謎の-1
名前:東海鉄道 日時: 2024/04/19 19:50

お久しぶりです DrawGraph関数に於いてReleaseビルド時に限りエラーが発生するという現象に遭遇しています Debugビルド時は正常に描画できています 何か考えられる原因はありますでしょうか ご参考までにReleaseビルド時のLog.txtを置いておきます #1234
メンテ

Page: 1 |

Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.1 )
名前:東海鉄道 日時:2024/04/19 19:51

0:ChangeWindowMode実行 1:ウインドウモードフラグが立てられました 3:DXライブラリの初期化処理開始 3: システムの情報を出力します 3: DXライブラリ Ver3.24d 4: 論理プロセッサの数 : 16 4: OS Windows11 ( Build 22621 ) 106: 現時点のCPU動作速度:大体2.70GHz 106: MMX命令を使用します 106: SSE命令が使用可能です 107: SSE2命令が使用可能です 107: CPUベンダ:AuthenticAMD 110: CPU名:AMD Ryzen 7 PRO 6850U with Radeon Graphics 110: COMの初期化... 成功 166: 非同期読み込み処理の初期化...成功 166: ファイルアクセス処理の初期化...成功 168: メモリ総量:12046.32MB 空きメモリ領域:2051.60MB 168: タイマーの精度を検査します 168: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 169: パフォーマンスカウンターを使用します タイマー精度 : 10000.000000 KHz 169: 173: ソフトの二重起動検査... 二重起動はされていませんでした 179: ウインドウクラスを登録します... 登録に成功しました 189: ウインドウモード起動用のウインドウを作成します 190: ディスプレイ情報のセットアップ開始 200: モニターの数:1 ディスプレイデバイスの数:5 202: No.0 モニター名:\\.\DISPLAY1 1920x1200 32bit 60Hz 120x120dpi 388: ディスプレイ情報のセットアップ完了 389: ウインドウ矩形 ( 542, 238 )-( 1360, 885 ) 445: ウインドウの作成に成功しました 446: ウインドウを表示します 713: IMEを無効にしました 741: ウインドウスタイルをウインドウモード用に変更します... 完了 914: XInput DLL の読み込み中... 成功 925: DirectInput関係初期化処理 926: DirectInput8 の取得を試みます...成功 951: 引き続き初期化処理... 初期化成功 979: ジョイパッドの初期化... 979: XInput 対応コントローラーのチェックを開始します 979: XInput 対応コントローラー No.0 をチェック 979: XInput 対応コントローラー No.0 の接続は確認できませんでした 980: XInput 対応コントローラー No.1 をチェック 980: XInput 対応コントローラー No.1 の接続は確認できませんでした 980: XInput 対応コントローラー No.2 をチェック 982: XInput 対応コントローラー No.2 の接続は確認できませんでした 982: XInput 対応コントローラー No.3 をチェック 982: XInput 対応コントローラー No.3 の接続は確認できませんでした 983: XInput 対応コントローラーのチェック完了 983: DirectInput 対応ジョイパッドの列挙を開始します 1029: DirectInput 対応ジョイパッドの列挙終了 1029: ジョイパッドの初期化は正常に終了しました 1029: マウスデバイスの初期化... 初期化成功 1030: キーボードデバイスの初期化... 初期化成功 1107: DirectInput 関連の初期化は正常に終了しました
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.2 )
名前:東海鉄道 日時:2024/04/19 19:52

173: ソフトの二重起動検査... 二重起動はされていませんでした 179: ウインドウクラスを登録します... 登録に成功しました 189: ウインドウモード起動用のウインドウを作成します 190: ディスプレイ情報のセットアップ開始 200: モニターの数:1 ディスプレイデバイスの数:5 202: No.0 モニター名:\\.\DISPLAY1 1920x1200 32bit 60Hz 120x120dpi 388: ディスプレイ情報のセットアップ完了 389: ウインドウ矩形 ( 542, 238 )-( 1360, 885 ) 445: ウインドウの作成に成功しました 446: ウインドウを表示します 713: IMEを無効にしました 741: ウインドウスタイルをウインドウモード用に変更します... 完了 914: XInput DLL の読み込み中... 成功 925: DirectInput関係初期化処理 926: DirectInput8 の取得を試みます...成功 951: 引き続き初期化処理... 初期化成功 979: ジョイパッドの初期化... 979: XInput 対応コントローラーのチェックを開始します 979: XInput 対応コントローラー No.0 をチェック 979: XInput 対応コントローラー No.0 の接続は確認できませんでした 980: XInput 対応コントローラー No.1 をチェック 980: XInput 対応コントローラー No.1 の接続は確認できませんでした 980: XInput 対応コントローラー No.2 をチェック 982: XInput 対応コントローラー No.2 の接続は確認できませんでした 982: XInput 対応コントローラー No.3 をチェック 982: XInput 対応コントローラー No.3 の接続は確認できませんでした 983: XInput 対応コントローラーのチェック完了 983: DirectInput 対応ジョイパッドの列挙を開始します 1029: DirectInput 対応ジョイパッドの列挙終了 1029: ジョイパッドの初期化は正常に終了しました 1029: マウスデバイスの初期化... 初期化成功 1030: キーボードデバイスの初期化... 初期化成功 1107: DirectInput 関連の初期化は正常に終了しました 1133: WASAPI の初期化を行います 1416: デフォルト遅延時間 : 10.000 ms 1416: 最小遅延時間 : 3.000 ms 1417: 遅延時間 : 10.000 ms 1418: チャンネル数   : 2 ch 1418: 量子化ビット深度 : 32 bit 1418: 有効ビット深度  : 32 bit 1419: サンプリングレート : 48000 Hz 1419: データ形式 : 浮動小数点型 1780: 動作モード : 共有モード 1780: WASAPI の初期化は正常に終了しました
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.3 )
名前:東海鉄道 日時:2024/04/19 19:54

1809: d3d11.dll の読み込み.... 成功 1864: dxgi.dll の読み込み.... 成功 1866: API CreateDXGIFactory2 のアドレスを取得します.... 成功 1867: IDXGIFactory2 を作成します.... 成功 1931: API CreateDXGIFactory6 のアドレスを取得します.... 成功 1931: IDXGIAdapter を列挙 1933: Adapter No.0 Desc:AMD Radeon PRO Graphics VRAM:4069MB 1934: Output Device No.0 Name:\\.\DISPLAY1 ( 0, 0 )-( 1920, 1200 ) 1934: Adapter No.1 Desc:Microsoft Basic Render Driver VRAM:0MB 1934: API D3D11CreateDevice のアドレスを取得します.... 成功 1935: IDXGIAdapter を取得します.... 成功 1937: IDXGIAdapter1 を取得します.... 成功 1937: IDXGIAdapter2 を取得します.... 成功 1938: IDXGIAdapter3 を取得します.... 成功 1939: IDXGIAdapter4 を取得します.... 成功 1939: Direct3D 11 FeatureLevel 11_0 以上を対象とします 1939: ID3D11Device オブジェクトを取得します.... 成功 2486: IDXGIDevice1 を取得します.... 成功 2487: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 2488: [ウインドウモード 640x480 ( 560, 284 )-( 1360, 884 )] 2488: IDXGISwapChain2 を作成します.... 成功
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.4 )
名前:東海鉄道 日時:2024/04/19 20:09

2499: IDXGIFactory2->CreateSwapChainForHwnd の戻り値:0x00000000 2500: IDXGIOutput を取得します.... 成功 2501: Graphics Device:AMD Radeon PRO Graphics 2501: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2502: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 2502: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 2502: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 2502: 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 2504: 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 2504: アルファ付き 16bit カラーフォーマットは DXGI_FORMAT_B4G4R4A4_UNORM です 2504: アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2504: アルファテスト用 16bit カラーフォーマットは DXGI_FORMAT_B5G5R5A1_UNORM です 2504: アルファテスト用 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2504: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 2506: DXT2テクスチャフォーマットは使えません 2506: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 2506: DXT4テクスチャフォーマットは使えません 2507: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 2507: BC7_UNORM テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM です 2508: BC7_UNORM_SRGB テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM_SRGB です 2508: ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 2509: ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 2509: ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 2510: 1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 2510: 1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 2510: 1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 2510: 1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 2511: 2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 2511: 2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 2512: 2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 2512: 2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 2512: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 2513: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 2513: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 2513: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 2513: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 2513: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 2514: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 2514: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 2514: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 2515: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 2515: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 2515: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 2515: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 2517: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 2517: 使用する機能レベル:D3D_FEATURE_LEVEL_11_1 2517: 同時にレンダリングできるバッファの数:8 2517: 最大テクスチャサイズ 幅:16384 高さ:16384 2517: 標準描画用の頂点バッファの作成.... 成功 2519: シェーダーコード関係の初期化.... 成功 2539: 各種シェーダー用定数バッファの作成.... 成功 2540: 各種 ID3D11InputLayout の作成.... 成功 2559: 画像の単純転送処理の初期化... 成功 2561: 深度バッファを作成します.... 成功 2565: フォントの初期化を行います 2570: フォントの初期化は正常に終了しました 2665: 文字コードバッファの初期化を行います... 完了しました 2704:DXライブラリの初期化処理終了
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.5 )
名前:東海鉄道 日時:2024/04/19 20:10

4513:ウインドウを閉じようとしています 4533:ウインドウが破棄されようとしています 4535:ソフトを終了する準備が整いました 4557:フォントの初期化を行います 4558:フォントの初期化は正常に終了しました 4687:d3d11.dll の解放 1 4689:dxgi.dll の解放 1 4689:Direct3D11 のオブジェクト数を出力 4689:Direct3D11 のオブジェクト合計数 : 0 4690:DirectInput 関連の終了処理... 完了 4694:サウンド関連の終了処理... 完了 4703:ウィンドウ関連の終了処理... 完了 4766:COMを終了... 完了 4768: 4768:Alloc memory dump 4769: Total size:0(0.000kb) Alloc num:0 4769:
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.6 )
名前:管理人 日時:2024/04/19 23:39

DebugビルドとReleaseビルドの違いは以下のようなものがあります  1.ローカル変数、ローカル配列    Debugビルド時は初期状態で 0xcccccccc が代入される    Releaseビルド時は何の値も代入されないので、値は不定  2.DebugビルドとReleaseビルドでは各変数・配列のメモリ配置が異なる  3.Releaseビルドでは最適化が行われるので処理速度が速い 本件の場合、2 が関係している可能性が高いと思います 恐らく何処かの処理で配列の長さ以上の箇所に値を代入してしまい( メモリリーク ) DrawGraph で使用しているグラフィックハンドルを保存している変数の値を書き換えてしまっていて それによって DrawGraph でエラー( グラフィックハンドルではない値だったのでエラー )と なってしまっているのだと思います Debugビルドではメモリリークによって書き換えられた箇所がたまたま使われていないメモリ領域だったために 一見問題なく動作してしまっていたものが、Releaseビルドではメモリ配置がDebugビルドとは異なるために 致命的な箇所を書き換えてしまって問題が顕在化する、というのは『Debugビルドでは正常に動いていたのに、 Releaseビルドでは正常に動作しない』現象の定番となっています なので DrawGraph でエラーが発生してしまった際の DrawGraph に渡しているグラフィックハンドルの値を 確認してみてください、恐らくグラフィックハンドルではない値になってしまっているのではないかと思います m(_ _)m
メンテ
Re: ReleaseビルドでのDrawGraph()で謎の-1 ( No.7 )
名前:東海鉄道(解決済み) 日時:2024/04/21 16:31

返信遅くなりすみません どうやらうまく初期化されていないことと独自のリソース管理クラスにバグがあったことが原因と考えられます 今後同様のことが発生した場合教えていただいたことを参考に調査してみようと思います ありがとうございました
メンテ

Page: 1 |

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

   クッキー保存