[OSのVer]:WindowsXP [VBのVer]:VB.NET2003お世話になります。ループ処理を書いているのですが、処理を実行時、CPUの使用率が100%になってしまい、処理が遅くなってしまいます。処理中にCPUの使用率を下げる方法はありますでしょうか?ご教授下さい。よろしくお願い致します。
> ループ処理を書いているのですが、> 処理を実行時、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.aspxCPUを占有することで、自分自身のプログラムで、他の操作を行えなくなっている場合。→重いループ処理を、非同期で処理するようにする。hhttp://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform2/Improve_performance_Winform2-2.aspxhhttp://www.microsoft.com/japan/msdn/thisweek/step7/Improve_performance_Winform2/Improve_performance_Winform2-3.aspxといった対処方法が考えられます。それでも解決できないようであれば、そもそも、そのループが重いことが主原因なので、ループ自体に無駄な処理が含まれいないか、プログラム設計を見直す必要があるかもしれません。
ご回答有難う御座いました。参考にしてみます。