• ベストアンサー

マルチスレッドでのDirectXの使用について質問なのですが

マルチスレッドでのDirectXの使用について質問なのですが 現在_tWinMain内でゲーム用スレッドを登録して スレッド内でDirectXの初期化と解放を行っています それでプログラム終了の際に Direct3D9: (ERROR) :Final Release for a device can only be called from the thread that the device was created from. と出て悩んでいます。 googleで調べてもそれらしいところが見当たらないので困ってます・・・ 解決方法があればぜひよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

解放順が間違っているのでは? 超適当な意訳ですが、 「デバイス作成したスレッドでないと最後の解放はでけんよー」 と言われているようですが。

konngo50
質問者

お礼

ありがとうございます。 クラスのデストラクタで解放処理を行っていたのを スレッドを抜けるときに解放するようにしたらエラーがなくなりました。 理由については後で調べてみます ありがとうございました。

関連するQ&A

専門家に質問してみよう