ページ 11

win32apiでの更新処理中に固まる現象について

Posted: 2017年11月21日(火) 17:02
by ttb
開発環境
Windows10
c++
win32api
 
棒グラフの大きさを配列の値によって変えて表示するプログラムを作成しています.
例 
値が100なら100×50
値が60なら60×50
値が20なら20×50
等のように配列に格納されている値×50(縦×横)の大きさの図形を描画する.

win32apiでウィンドウを作成し,棒グラフを作成(図形の描画),ここまでは何とか出来たのですが,case WM_TIMER(リアルタイムで更新したいので)を使用してグラフの大きさを変更するところで問題が生じてしまいました.
更新処理を始めて40秒程度は問題なく動いているのですが,なぜかその後は固まって(フリーズ)してしまいます.

エラーメッセージ等も出ず,自分では原因が全く分かりません.
分かる方,いましたら教えて頂きたいです.よろしくお願いします.

Re: win32apiでの更新処理中に固まる現象について

Posted: 2017年11月21日(火) 17:24
by ISLe
時間が経つとフリーズする原因として一番に考えられるのはGDIリソースのリークでしょう。
GDIリソースの上限数はデスクトップ全体で固定なので不要になったハンドルの解放や破棄を忘れると枯渇し、ウィンドウズのシステムに影響します。

Re: win32apiでの更新処理中に固まる現象について

Posted: 2017年11月28日(火) 14:38
by ttb
回答ありがとうございます.
自分は知識があいまいなままでプログラミングを行っていたのでリソースの解放や破棄をし忘れていました.
今後はリソースの解放や破棄に気を付けたいと思います.