fft3dgpuの管理について

fft3dgpuは精度が良く、GPUさえ早ければSetMTModeでも使える便利なフィルタ。
しかし、僕の運用では問題が発生した。
それは、リモートデスクトップでログインした後に、自動でbatが開始されると、そのときにDirect3Dの初期化に失敗するということ。

なるほど、fft3dgpuの仕組みから行くとDirect3Dからhlslでピクセルシェーダーを起動してやっているっぽいが、
リモートデスクトップから接続が切れるとセッションが宙ぶらりんの状況になり、Direct3Dの初期化ができないみたいだ。
それがただ失敗するだけなら良いんだけど、なぜかaviutlのauc_waitが終了してしまい、次のエンコードタスクが再開され、どんどんaviutlのクラッシュが蓄積してメモリが圧迫され、最終的にspinelが落ちるという最悪の事態が発生、先週のアクセルワールドの録画に失敗して最悪だった。


そこで、query sessionを実行することによって、セッションが宙ぶらりんかどうか判定できるので、
「>」の後が空白のものがある時は、aviutlを実行しないようにした。

また、aviutlがクラッシュしている状態があるときには、aviutlを実行しないようにした。

これで、セッションが開かれていない時には、新たなエンコードタスクが始まらないようにすることで、「録画できていない」という最悪の事態だけは避けることができる。

できれば、リモートデスクトップから切断したら、ローカルのセッションで自動的にログオンしてくれればいいのになーと思うけれど、方法がわからない。
今現在は、crazyremoteとかvncからログインしておくようにしてるけれど。