パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Processing Movie メモリの解放

2014-08-28 | Processing
processingで動画をランダムに再生する装置を作ってみることにした

元にしたソース

これにこれをくっつければ大体完成かな
フォルダーのファイル名を取得するために参考にしたソース

元のソースはmacと相性がいいようなのでmacにマシンを変更
動画ファイルもmovでないといけないので
MacX Video Comverterでwmvから変換


元のソースのここの所を何度も解放して設定すればよさそう

Movie myMovie;

void setup() {
size(200, 200);
myMovie = new Movie(this, "totoro.mov");
myMovie.loop();
}


こんな感じで解放かなと思ったら、実行していて少し立つとout of memory

myMovie.stop();
myMovie=null;


実際はdisposeも必要
myMovie.stop();
myMovie.dispose();
myMovie=null;



改善はしたのだけどまだ何かがメモリをガンガン食っている
何度かの思考錯誤の結果

これが原因と判明!
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
}



さてこれはどうしたものかと、どうやってググったかも忘れたがここにたどり着く
本当にありがたいサイト

赤字の部分の追加でメモリ問題はようやく解消
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
g.removeCache(myMovie);
}


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。