トップページ > 過去ログ > 記事閲覧
最小化時のCPU使用率
名前:いっち 日時: 2011/05/05 14:55

ウィンドウモードでの動作中に、タスクバーのアイコンをクリックしてウィンドウの最小化を行うと プログラムとタスクマネージャと合わせてCPUの使用率が100%近くになります。 ウィンドウ右上の最小化アイコンやシステムメニューの最小化で最小化した場合は問題なく、CPUの使用率は0%近いです。 過去のバージョンを含めていくつか検証してみましたが以下のような結果になりました。 Ver.3.02e以前 事象発生 Ver.3.03 問題なし Ver.3.04以降 事象発生 OSは Windows XP SP3 を使用しています。 //- 以下、テストコード -// #include "DxLib.h" int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { ChangeWindowMode( TRUE ); if ( DxLib_Init( ) == -1 ) return -1; while ( ProcessMessage( ) == 0 ) { ClearDrawScreen( ); ScreenFlip( ); } DxLib_End( ); return 0; }

Page: 1 |

Re: 最小化時のCPU使用率 ( No.1 )
名前:管理人 日時:2011/05/08 02:22

私も変だと思ったのですが、よく見たらタスクバーのアイコンをクリックして最小化した場合は ウインドウはアクティブなままなんです、なので非アクティブのときのみ処理を止めるという理屈から考えると、 タスクバーのアイコンをクリックして最小化した場合は処理は止まらないのでCPUの使用率は下がらない というのは間違いではないんです ただ、感覚的には非アクティブと同等の状態なので、最小化されている場合は 非アクティブであるときと同じ扱いにするようにしました よろしければお試しになってみてください 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 // Gnu C++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: 最小化時のCPU使用率 ( No.2 )
名前:いっち 日時:2011/05/08 10:51

早速のご対応ありがとうございます。変更確認しました。 > タスクバーのアイコンをクリックして最小化した場合はウインドウはアクティブなまま なるほど。個人的にはちょっと納得しがたい Windows の謎仕様です。どんな合理性があるんだろう?

Page: 1 |