Re: ウインドウモード、画面モード変更で強制終了 ( No.1 ) |
- 名前:管理人 日時:2011/12/11 18:24
ご報告ありがとうございます
私の環境では強制終了はしませんでしたが、SetChangeScreenModeGraphicsSystemResetFlag を FALSE にしても
読み込んだ画像が復帰しない( 画像ハンドルだけは有効なので滅茶苦茶な画像が表示される )というバグが
ありましたので修正しました
原因はここ数週間の間に追加した作成中の機能に伴う処理の変更が原因でしたので、もしかしたら
konさんの環境でも正常に動作するようになるかもしれません
よろしければお試しになってみてください m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCCTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMinGWTest.exe // MinGW 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
|
Re: ウインドウモード、画面モード変更で強制終了 ( No.2 ) |
- 名前:kon 日時:2011/12/13 17:02
対応ありがとうございます。
以前の必ず強制終了する状態からは改善されたのですが、
まだ不具合があり、発生条件を絞り込もうとしていたのですが、症状が安定せず苦戦していました。
症状は正確には把握出来ていませんが、ある程度起こりやすい不具合は、以下のものです。
解像度変更時、高い解像度で強制終了する場合がある。
MakeScreen で作成した描画可能画像の描画結果を何枚か重ね、
レイヤー構造状にしているのですが、解像度変更時にその一部、または全体が描画されなくなる事がある。
これも高い解像度に変更した時に起こりやすいです。
SetGraphMode でカラービット数を16ビットにすると、これらの症状が軽減される。
プログラムを終了した後、アプリケーションエラーのダイアログが表示されるようになった。
ログを見ると、
2049: グラフィックを復帰します
2049: グラフィックの復帰が完了しました
2062:画面モード変更処理は正常に終了しました
3813:テクスチャの作成に失敗しました
3934:テクスチャの作成に失敗しました
4022:テクスチャの作成に失敗しました
〜略〜
6137:テクスチャの作成に失敗しました
6223:フォントの初期化を行います
6234:フォントの初期化は正常に終了しました
6237:Direct3DDevice9 の解放 3
6526:Direct3D9 DLL の解放 4
6527:DirectInput 関連の終了処理... 完了
6552:DirectSound の終了処理は正常に終了しました
6553:ウインドウを閉じようとしています
6593:ウインドウが破棄されようとしています
6593:ソフトを終了する準備が整いました
と出ていました。
それと、これらの症状は現在作成しているゲームでは起こるのですが、
簡易的に組んだプログラムで試した所起こりませんでした。
SetChangeScreenModeGraphicsSystemResetFlag を TRUE にすると起こらないので、
読み込んだ画像復帰時あたりが原因でしょうか。
参考になるか分かりませんが、今把握している症状はこんな所です。
|
Re: ウインドウモード、画面モード変更で強制終了 ( No.3 ) |
- 名前:管理人 日時:2011/12/18 17:06
お試し頂きありがとうございます
載せていただいたログを拝見する限りではVRAMが足りないことが原因のエラーである可能性が高そうです
ただ、復帰処理が走るまでは問題ないというのは謎です・・・
以前に比べてVRAMが足りなくなる原因となりうる変更を1・2ヶ月前から作成している新機能の為に
施したのですが、作業時間が確保できずその機能の完成の目処がまだ立っていないので、とりあえず
その変更を元に戻してみました
これでエラーが発生しなくなる可能性が高いと思いますので、何度も申し訳ありませんが
よろしければお試しになってみてください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCCTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMinGWTest.exe // MinGW 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
|
Re: ウインドウモード、画面モード変更で強制終了 ( No.4 ) |
- 名前:kon(解決) 日時:2011/12/19 14:52
試した所エラーは出なくなりました。
> 復帰処理が走るまでは問題ないというのは謎です
基本起動時は640×480で起動し、起動後に他の高解像度等に変更出来るようにし確認をしていたので、それが原因でしょうか。
もしそうなら説明不足で申し訳ないです。
ともあれエラーは出なくなったので解決とさせていただきます。
ありがとうございました。
|