トップページ > 過去ログ > 記事閲覧
すみません、ご教授お願いしたいのです
名前:kir 日時: 2009/05/31 17:14

すみません、プログラミングの初心者です。最近はDXライブラリを使っていろいろ模索中ですが、最初の画像を動画として表示するプログラムはいきなり分からない問題が出ました。 一応プログラムは予想通り動作しましたが、執行後約30秒で、突然画像が消したり表示したりし始めた。 ログの情報は以下です: -------------------------------------------------- 1:システムの情報を出力します 3: DXライブラリ Ver2.25b 4: OS WindowsXP ( Build 2600 Service Pack 3 ) 107: CPU動作速度:大体2.84GHz 108: MMX命令を使用します 109: SSE命令が使用可能です 110: SSE2命令が使用可能です 111: CPUベンダ:GenuineIntel 116: CPU名:Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz 118:COMの初期化... 成功しました 131:メモリ総量:2048.00MB 空きメモリ領域:2048.00MB 132:タイマーの精度を検査します 133:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 135: パフォーマンスカウンターを使用します タイマー分解能 : 2666690.000000 KHz 136: ソフトの二重起動検査... 二重起動はされていませんでした 139:ウインドウクラスを登録します... 登録に成功しました 141:ウインドウモード起動用のウインドウを作成します 156:ウインドウの作成に成功しました 185:IMEを無効にしました 448:ウインドウスタイルをウインドウモード用に変更します... 完了 451:DirectInput関係初期化処理 452: DirectInput7 の取得中... 成功 487: 引き続き初期化処理... 初期化成功 494: ジョイパッドの初期化... 516: ジョイパッドの初期化は正常に終了しました 517: マウスデバイスの初期化... 初期化成功 519: キーボードデバイスの初期化... 初期化成功 524:DirectInput 関連の初期化は正常に終了しました 525:DirectSound の初期化を行います 526:DirectSound インターフェースの取得を行います.... 成功 531:引き続きインターフェースの初期化処理... 成功 744: DirectSound デバイスを列挙します 757: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 758: モジュール名: RtkHDAud.sys ドライバ記述:Realtek HD Audio output 759: モジュール名: AtiHdAud.sys ドライバ記述:ATI HD Audio rear output 760: 最大サンプリングレート:192.00KHz 最小サンプリングレート:8.00KHz 761: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 762: 利用可能サンプリング精度 763: プライマリ 16bit = OK 8bit = OK 764: セカンダリ 16bit = OK 8bit = OK 765: 利用可能チャンネル 765: プライマリ MONO = OK STEREO = OK 766: セカンダリ MONO = OK STEREO = OK 767:DirectSound の初期化は正常に終了しました 768:DirectDraw 関連の初期化を行います 769: DirectDraw オブジェクトの取得を行います.... 成功 776: 引き続き初期化処理... 初期化に成功しました 799: ビデオカードの情報 800: 画面モード変更処理を開始します 861: 画面モードの変更処理を開始します 800 x 600 32 bit 862: ウインドウモードにします 863: 画面モードの変更は正常に終了しました 864: カラー情報 865: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 866: ウインドウスタイルをウインドウモード用に変更します... 完了 871: 出力画面用の DirectDrawSurface を作成します 874: 各スクリーンメモリの配置位置 876: PrimaryBuffer : VIDEOMEMORY 877: BaskBuffer : VIDEOMEMORY 878: 出力画面用の DirectDrawSurface の作成は正常に終了しました 879: Direct3D 関連の初期化を行います 880: Direct3Dオブジェクトを取得します 883: Direct3Dオブジェクトを取得しました 886: HALデバイスを発見しました 886: ハードウエアT&Lデバイスを発見しました 887: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 895: テクスチャ最大幅:8192 最小幅:1 896: 描画制限: D_D3DPTEXTURECAPS_POW2 = 0 D_D3DPTEXTURECAPS_SQUAREONLY = 0 897: 最大テクスチャステージ数 = 8 最大テクスチャブレンド数 = 8 898: テクスチャピクセルフォーマット 899: 通常グラフィック用 900: BIT:16 RED:5 GREEN:5 BLUE:5 901: RED:007c00 GREEN:0003e0 BLUE:00001f 902: BIT:32 RED:8 GREEN:8 BLUE:8 903: RED:ff0000 GREEN:00ff00 BLUE:0000ff 904: アルファチャンネル付きグラフィック用 905: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 906: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 907: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 908: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 909: Direct3D 関連の初期化は正常に終了しました 910: グラフィック管理系の初期化を行います 911: 3Dグラフィック描画機能を使用します 913: フォントの初期化を行います 916: フォントの初期化は正常に終了しました 917: グラフィック管理系の初期化は正常に終了しました 923: サーフェス間転送には BitBlt を使用します 924: BitBlt:1538μs BltFast:2015μs 925: スキャンラインの数:1050 1051: 1フレーム当たりの時間は 17 msecです 1052: Tri00:17 msec 1053: Tri01:16 msec 1053: Tri02:17 msec 1054: Tri03:17 msec 1055: 画面モード変更処理は正常に終了しました 1084: オーバーレイサーフェスを使用します    UYVY 1085: DirectDraw 関連の初期化は正常に終了しました 1087: 文字コードバッファの初期化を行います... 完了しました 31540: テクスチャサーフェスの作成に失敗しました 31541: DrawValid:0 AlphaChFlag0 AlphaTestFlag:1 ColorBitDepth:32 31542: グラフィックの作成に失敗しました 31544: グラフィックの分割に失敗しました in CreateDivGraphFromGraphImage 31556: テクスチャサーフェスの作成に失敗しました 33967: DirectDraw 関連の終了処理をおこないます 34134: フォントの初期化を行います 34136: フォントの初期化は正常に終了しました 34137: グラフィック管理系の終了処理は正常に終了しました 34139: Direct3D 関連の終了処理を行います 34141: 3Dデバイスの削除は正常に終了しました 34142: Direct3D 関連の終了処理は正常に終了しました 34143: メインサーフェスを破棄をします... 完了しました 34145: DirectDrawオブジェクトを解放します 34146: DirectDrawオブジェクトを解放しました 34147: DirectDraw 関連の終了処理は正常に終了しました 34148: DirectInput 関連の終了処理... 完了 34153: DirectSound の終了処理は正常に終了しました 34155: ウインドウを閉じようとしています 34221: ウインドウが破棄されようとしています 34222: ソフトを終了する準備が整いました 34225: 34226: Alloc memory dump 34228: Total size:0(0.000kb) Alloc num:0 34230: ------------------------------------------------------------------ 「テクスチャサーフェスの作成に失敗しました」というメーセッジが出ましたが、 申し訳ございません、この状況はどうしたらいいかが全然わかりません。 もしよろしければ、是非ご指導してください よろしくお願いします。 P.S:ちなみに自分の動画表示関数の内容は「14歳からはじめるC(VS2008)」のChap3のDrawAnimation()と完全に同じです。

Page: 1 |

Re: すみません、ご教授お願いしたいのです ( No.1 )
名前:Will 日時:2009/05/31 19:51

> 「14歳からはじめるC(VS2008)」のChap3のDrawAnimation()と完全に同じです。 と書かれましても本持ってない人もたくさんいますのでプログラムを掲載されたほうが 回答を得やすいのではいないでしょうか。
Re: すみません、ご教授お願いしたいのです ( No.2 )
名前:管理人 日時:2009/06/03 23:45

症状から推測しますと、表画面に描画してしまっているような気がします。 DxLib_Init の後で SetDrawScreen 関数を使用して描画先を裏画面にしてみてください // 描画先を裏画面にする SetDrawScreen( DX_SCREEN_BACK ) ;

Page: 1 |