|
分類:[.NET 全般]
1920x1180の動画ファイルから8フレームの画像ファイルを抽出し 画像の平均化するプログラムをVB.NETで作成しました。
画像ファイルの抽出はFFMpegを使っています。
そして処理はGUIスレッドではなく バックグラウンドで行っています。
問題なく動作しているのですが、 5〜10回くらい繰り返すと、
バイトデータの合計値を格納するための以下の配列で
ReDim Byte_Sum(ThreadNum_1, bsize - 1)
{"種類 'System.OutOfMemoryException' の例外がスローされました。"}
というエラーが出てしまいます。
ThreadNum_1は7が格納されており、 bsizeには6796800が格納されています そのため、配列サイズは1.8 MByteということになります。 10回繰り返しても18 MByteにしかならないので、 2 GByteには到達していないと思います。
また、タスクマネージャーで確認しても プログラムのメモリ使用量は550 MByte程度になっており、 それ以上増えないのですが。
一応、処理の最後に Byte_Sum = Nothing を入れてメモリ解放処理を行ってみたのですが、 やはりこのエラーが出てしまいます。
一体何が原因でしょうか?
|