ふらっとC#,C♯,C#(初心者用) Part82
■ このスレッドは過去ログ倉庫に格納されています
0703デフォルトの名無しさん
2011/12/27(火) 09:15:18.94キャッシュした画像をメインスレッドで表示するプログラムを作っているのですが
バックグラウンドで画像を読み込んでいる間、画面が激しく重くなります。
(読み込みが終わると軽くなります)
バックグラウンド処理はTimerを使っていて、キューの中に読み込むファイル情報が格納されていたらそのファイルを読み込み、Bitmapオブジェクトを作っています。
大体、バックグラウンドで3000ファイル程読み込んでます。
また、1ファイルごとに読み込みが終わったらInvokeでフォームのコントロールを更新してます。
恐らくバックグラウンドの処理過多が問題になってるのだろうと思って原因を調べて見たのですが
CPUが10%、ディスクIOも10%から30%くらいで落ち着いていました。メモリも余裕があります。
読み込み処理も遅くなることはなく、秒間に10ファイルくらい読み込めてます。
また、バックグラウンドからのInvoke処理を消しても同じでした。
何か原因で思い当たるものはないでしょうか?
そもそも、バックグラウンドで重い処理をさせる場合に、Windowsフォームの処理に影響を与えないようにするための常套手段などあれば教えて頂ければ幸いです。
長文になりましたが、どうぞよろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています