Re: DX.DxLib_Init()が終了しない ( No.1 ) |
- 名前:そら 日時:2017/07/12 14:40
[補足]Mutexを利用している利用について。
二つのプロセスでDXライブラリを使用しており、ほぼ同時に初期化が行われます。
このために障害が発生しているのかと考え、Mutexを利用して排他制御を試みましたが、同じでした。
そもそも、初期化が終わらないのは一つ目に実行されるプロセスでした。
したがって、初期化処理がかちあってしまったことによって障害発生しているわけではないと結論づけています。
|
Re: DX.DxLib_Init()が終了しない ( No.2 ) |
- 名前:管理人 日時:2017/07/13 01:33
二つのプロセスで同時に起動している関係で、DXライブラリの標準の動作である
『非アクティブになったら、アクティブになるまで待つ』という処理が作動して
プログラムの進行が止まってしまっている可能性があります
res = DX.SetAlwaysRunFlag(DX.TRUE);
↑こちらの処理を DxLib_Init の呼び出し前に実行すれば『非アクティブになったら、アクティブになるまで待つ』の
処理が行われなくなるので、意図された通りの挙動になるかもしれません
|
Re: DX.DxLib_Init()が終了しない ( No.3 ) |
- 名前:そら 日時:2017/07/13 13:37
お教え頂いた方法で、現象が再現しなくなりました。
ありがとうございます。
なお、二つのプロセスで同時に起動している件について、初期化時・再生時等、利用側で排他制御を加える必要はありますでしょうか?
それとも不要でしょうか?
|
Re: DX.DxLib_Init()が終了しない ( No.4 ) |
- 名前:管理人 日時:2017/07/14 01:38
> なお、二つのプロセスで同時に起動している件について、初期化時・再生時等、利用側で排他制御を加える必要はありますでしょうか?
> それとも不要でしょうか?
プロセスが異なるのであれば不要だと思います
( DirectX の機能も( ウインドウモードであれば )プロセス毎に独立していますので )
|
Re: DX.DxLib_Init()が終了しない ( No.5 ) |
- 名前:そら 日時:2017/07/14 10:27
了解いたしました。
ありがとうございます。
|