トップページ > 過去ログ > 記事閲覧
WaitVSync() について
名前:トイトイ 日時: 2012/01/27 17:40

はじめましてこんにちは。 タイトルの通り、WaitVSync についての報告です。 フルスクリーン時に Alt + Tab で画面を切り替えた際に、WaitVSync でアクセス違反が発生したようです。 ・コンパイラからのエラー内容 DxLib.exe の 0x00335f0e でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました ・ソース int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd){ // 描画先を裏にする SetDrawScreen( DX_SCREEN_BACK ); // 垂直同期を待たない SetWaitVSyncFlag( FALSE ); // DXライブラリ初期化処理 if( DxLib_Init() == -1 ){ return -1; // エラーが起きたら直ちに終了 } // ESC が押されるまでループします while( ProcessMessage() != -1 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ){ // 四角形を描画 DrawBox( 100, 100, 200, 200, GetColor( 255, 0, 0 ), TRUE ); // 垂直同期を待つ WaitVSync( 0 ); // 画面を交換 ScreenFlip(); } // DXライブラリ使用の終了処理 DxLib_End(); return 0; } WaitVSync の引数を 1 や 2 に変えても違反は発生しました。 また、1度では発生しないときもありますが、もう一度アクティブにして再度 Alt + Tab すると発生したりします。 これはバグなのでしょうか? 仕様なのでしょうか? もし、仕様ならば回避する方法をお教えしていただけると幸いです

Page: 1 |

Re: WaitVSync() について ( No.1 )
名前:管理人 日時:2012/01/29 06:07

ご報告ありがとうございます、現象を確認しました バグです orz 修正しましたのでよろしければお試しになってみてください 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 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: WaitVSync() について ( No.2 )
名前:トイトイ 日時:2012/01/29 22:40

迅速な修正ありがとうございました。 こちらの環境で修正を確認させていただいたところ、 アクセス違反は発生しなくなりました。 DxLib がより良きライブラリになるように、貢献できて幸いです。
Re: WaitVSync() について ( No.3 )
名前:トイトイ(解決済み) 日時:2012/01/29 22:43

すみません、解決済みをつけるのを忘れていました。

Page: 1 |