- 517 名前:デフォルトの名無しさん [2006/06/12(月) 17:52:57 ]
-
質問です。 _beginThreadを使ってスレッドをつく、その中でゲームの描画をまわしているのですが void ThreadMain(void* pParam) { HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); DWORD dwLastTime = timeGetTime(); while(!pApp->m_bStopThread) { WaitForSingleObject(hEvent, 16 - __min(16, timeGetTime() - dwLastTime)); dwLastTime = timeGetTime(); //実際はここで描画をするけど、今は空. } CloseHandle(hEvent); _endthread(); } こんなことを行なうとタスクマネージャー上でCPUパワー使用率が100%近くになってしまいます。 (WaitForSingleObjectは、待機中CPUパワーを使わないとあったので期待したのですが) Sleepあたりを入れてみたりしても、Sleep(1000);くらい大きく指定しないと使用率0%付近になりません。 スレッドを使った場合、CPU使用率は高くなってしまうものなのでしょうか? 今まではスレッドを使わず、WinMainで処理をしていたのですが、そちらでは使用率が0%に近かったです。
|

|