サンプルプログラム等を実行していたところ、 while (ProcessMessage() == 0){} という形でのループを用いたものについて、起動から一定時間で画面が黒一色になり以降なにも描画されなくなることに気付きました。
ループ回数を数えてDrawFormatStringで表示し続けるだけのプログラムで確認したところ、常に700後半〜800前半あたりで描画が途切れているようでした。
そこで公式サンプルゲームにある『弾当てゲーム』を試してみましたが、同様の現象が発生し、起動からおよそ10秒程度で画面が黒で固定化されます。
しかしその後も描画以外の処理は続いているようで、キー入力を行うとショットの発射音が聞こえ、敵の弾が当たって自機が死ぬ音? も聞こえました。
どうにも私のPC環境に依存した問題のような気もするのですが……。
同様の問題が起こった、或いは対処法に心当たりのある方がいらっしゃいましたら、どうぞ宜しくお願いします。
以下が弾当てゲームのLog.txtです。
0:ChangeWindowMode実行
0:ウインドウモードフラグが立てられました
3:DXライブラリの初期化処理開始
4: システムの情報を出力します
7: DXライブラリ Ver3.16
23: 論理プロセッサの数 : 4
26: OS Windows7 ( Build 7601 Service Pack 1 )
132: 現時点のCPU動作速度:大体2.99GHz
139: MMX命令を使用します
149: SSE命令が使用可能です
151: SSE2命令が使用可能です
154: CPUベンダ:GenuineIntel
168: CPU名: Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz
171: COMの初期化... 成功しました
177: メモリ総量:12268.97MB 空きメモリ領域:7339.45MB
179: タイマーの精度を検査します
182: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
185: パフォーマンスカウンターを使用します タイマー精度 : 2923.105000 KHz
190: ソフトの二重起動検査... 二重起動はされていませんでした
199: ウインドウクラスを登録します... 登録に成功しました
204: ウインドウモード起動用のウインドウを作成します
207: ディスプレイ情報のセットアップ開始
210: モニターの数:2 ディスプレイデバイスの数:5
213: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz
216: No.1 モニター名:\\.\DISPLAY2 1360x768 32bit 60Hz
262: ディスプレイ情報のセットアップ完了
267: ウインドウの作成に成功しました
270: ウインドウを表示します
282: IMEを無効にしました
286: ウインドウスタイルをウインドウモード用に変更します... 完了
311: DirectInput関係初期化処理
314: XInput DLL の読み込み中... 成功
321: DirectInput7 の取得中... 成功
332: 引き続き初期化処理... 初期化成功
342: ジョイパッドの初期化...
349: ジョイパッドの初期化は正常に終了しました
352: マウスデバイスの初期化... 初期化成功
358: キーボードデバイスの初期化... 初期化成功
364: DirectInput 関連の初期化は正常に終了しました
371: DirectSound の初期化を行います
374: DirectSound インターフェースの取得を行います.... 成功
386: 引き続きインターフェースの初期化処理... 成功
447: DirectSound デバイスを列挙します
451: Module Name : Description : プライマリ サウンド ドライバー
454: Module Name : {0.0.0.00000000}.{702343e3-8b3e-4c58-b704-6a04fdf090fc} Description : スピーカー (BEHRINGER USB WDM AUDIO 2.8.40)
456: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
459: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB
463: 利用可能サンプリング精度
473: Primary 16bit = OK 8bit = OK
476: Secondary 16bit = OK 8bit = OK
479: 利用可能チャンネル
482: Primary MONO = OK STEREO = OK
485: Secondary MONO = OK STEREO = OK
488: DirectSound の初期化は正常に終了しました
492: d3d11.dll の読み込み.... 成功
498: dxgi.dll の読み込み.... 成功
504: API CreateDXGIFactory のアドレスを取得します.... 成功
509: IDXGIFactory を作成します.... 成功
517: API D3D11CreateDevice のアドレスを取得します.... 成功
523: IDXGIAdapter を取得します.... 成功
529: Direct3D 11 FeatureLevel 11_0 以上を対象とします
532: ID3D11Device オブジェクトを取得します.... 成功
544: IDXGIDevice1 を取得します.... 成功
550: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました
552: [ウインドウモード 640x480]
555: IDXGISwapChain を作成します.... 成功
561: IDXGIOutput を取得します.... 成功
571: Graphics Device:AMD Radeon HD 6450
574: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
577: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です
580: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です
583: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です
586: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
589: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です
591: DXT2テクスチャフォーマットは使えません
594: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です
597: DXT4テクスチャフォーマットは使えません
600: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です
603: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です
606: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です
609: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
612: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です
614: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です
617: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です
620: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です
623: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です
626: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です
629: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です
632: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です
635: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です
647: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です
650: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です
653: 使用する機能レベル:D3D_FEATURE_LEVEL_11_0
656: 同時にレンダリングできるバッファの数:8
659: 最大テクスチャサイズ 幅:16384 高さ:16384
662: 深度バッファを作成します.... 成功
668: シェーダーコード関係の初期化.... 成功
695: 各種シェーダー用定数バッファの作成.... 成功
702: 各種 ID3D11InputLayout の作成.... 成功
708: 標準描画用の頂点バッファの作成.... 成功
757: 画像の単純転送処理の初期化... 成功
765: フォントの初期化を行います
769: フォントの初期化は正常に終了しました
773: 文字コードバッファの初期化を行います... 完了しました
806:DXライブラリの初期化処理終了
36859:ウインドウを閉じようとしています
36867:ウインドウが破棄されようとしています
36871:ソフトを終了する準備が整いました
36877:フォントの初期化を行います
36881:フォントの初期化は正常に終了しました
36888:d3d11.dll の解放 1
36891:dxgi.dll の解放 1
36894:Direct3D11 のオブジェクト数を出力
36898:Direct3D11 のオブジェクト合計数 : 0
36901:DirectInput 関連の終了処理... 完了
36933:DirectSound の終了処理は正常に終了しました
36971:
36974:Alloc memory dump
36978: Total size:0(0.000kb) Alloc num:0
36981: