- edited description
バトルのシーンビューを閉じてもwavファイルの音が停止しない
Issue #189
resolved
バトルのシーンビューのBGMでwavファイルを流してると最初はこう
なのですが、
しばらくするとこう
なります。(音の長さは短い方が再現しやすい)
この状態になってからバトルのシーンビューを閉じても音が鳴り続けます。
Comments (6)
-
reporter -
reporter - edited description
-
repo owner 調べてみましたが、これはおそらくDの処理系のバグで、不要メモリの回収処理(GC)が走ると外部DLLのコールバック関数の呼び出しがアクセス違反を誘発するというものです。
コールバック関数へのポインタをGCの対象外にするなどの対策は効果がなく、アクセス違反を防ぐにはGCを止めるしかありません。これを行うと再生中は不要になったメモリの回収を一切行えないという異なり、最終的にメモリ不足に陥ります。
一度でもGCが走ると問題が発生する可能性があるため、コールバックが行われないタイミングで一時的にGCを動かすなどの対策も打てません。
つまり解決方法が無いように見えます。cwxeditorで音声を流しながら作業を行う事は推奨できかねると言う事くらいしかできません。
-
reporter ご返答ありがとうございます。
他の人が同じ問題にぶつかるかもしれないので、課題は開いたままにしておきますね。 -
repo owner pull request
#206要はDランタイムの管理下から外れればいいのだろう、と考えて、コールバック処理をC言語で書くと、少なくとも手許では問題は発生しなくなりました。
これで直ったかどうかは環境によるかもしれません。お試しください。
-
reporter - changed status to resolved
ありがとうございます。大丈夫なようです。
この課題はこれで解決とします。 - Log in to comment