mieki256's diary



2013/07/31(水) [n年前の日記]

#2 [ruby] DXRubyのRenderTargetでハマり中

画面に表示したソレを、全フレーム分、画像ファイルとして保存したいのですが。最低限、24FPSで1分30秒ぐらいは保存したい。

今までは、Window.getScreenShot() を使って保存してたのだけど。それだと、他のウインドウが上に重なった際に、そのウインドウの内容まで一緒に保存してしまってよろしくないことに気付いたり。

そこで、RenderTargetに一旦描画して、RenderTarget#toImage で Image に変換して、Image#save で画像ファイルとして保存するように変更してみたわけで。これなら、内部で画像を作って保存できるから、前述のような問題は出ないはずだと…。

ところが、数百フレームほど保存すると、セグメントエラーが発生してしまって。Windows.getScreenShot() を使ってる時は出なかったんだけどなあ。うーん。

まあ、元々ドキュメントにも、toImage や save は遅いから毎フレーム呼ぶようなことは避けろ、と書いてあったりするので、もしかすると今までそこそこ動いてたほうが不思議なのかなと思ったりもするわけですけど。

例外を補足して、何度かリトライするように書いてみたのだけど、どうも一度エラーを吐くと、その後は正常動作しないようで。RenderTarget の再生成をしてみたり、sleep を入れてみたり等してみたのだけど、上手く行かず。

以上です。

過去ログ表示

Prev - 2013/07 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project