tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: CPU使用率について
投稿日: 2005/10/18(Tue) 11:04
投稿者魔界の仮面弁士
> ループ処理を書いているのですが、
> 処理を実行時、CPUの使用率が100%になってしまい、処理が遅くなってしまいます。

何の処理が遅くなるのでしょうか? CPUを100%使っても、まだ処理速度が足りないという意味であれば、
CPU自体をパワーアップするか、プログラムを見直すぐらいしか対処方法は無いかと思います。
それとも、処理中に、その他のプログラムやOSの処理が遅くなってしまうという事でしょうか?
あるいは、ループプログラム自体(の何か)の処理が遅くなってしまうという話でしょうか?

> 処理中にCPUの使用率を下げる方法はありますでしょうか?

具体的な内容が書かれていないので、一般論しか答えられませんが、とりあえずは……。

CPUを占有することで、他のプログラムの処理に悪影響が出ている場合。
→Application.DoEvents等を使い、ループ中で適宜、他の処理が行われるようにする。
 (この場合、メイン処理の速度は低下する)
hhttp://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform2/Improve_performance_Winform2-1.aspx

CPUを占有することで、自分自身のプログラムで、他の操作を行えなくなっている場合。
→重いループ処理を、非同期で処理するようにする。
hhttp://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform2/Improve_performance_Winform2-2.aspx
hhttp://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform2/Improve_performance_Winform2-3.aspx

といった対処方法が考えられます。


それでも解決できないようであれば、そもそも、そのループが重いことが主原因なので、
ループ自体に無駄な処理が含まれいないか、プログラム設計を見直す必要があるかもしれません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。