- DXライブラリ 総合スレッド その10
943 :名前は開発中のものです。[sage]:2011/11/28(月) 06:37:15.23 ID:9qyN3uEA - ProcessMessageの使い方なのですが、
例えば、専用のスレッドを起動して、他のスレッドが通常継続中である限り、秒間60回程度動かす、といった使い方でもよいのですか? これからメッセージループについて資料を漁ろうと思いますが、いまいち意味がわからないです。
|
- DXライブラリ 総合スレッド その10
948 :943=910[sage]:2011/11/28(月) 21:12:59.17 ID:9qyN3uEA - >>943です。>>910でもあります。
皆さんレスありがとうございます。 とりあえず試しで、スレッドを追加して、秒間60回程度ProcessMessageしてみましたが、 Windowのタイトルをつかむことすら出来なかったりな状況は変わりませんでした。 画面の更新は出来るし、CPU使用率もほとんど上がってないのですが…。 画面更新してない停止状態のときは、別のウィンドウが上にくると、その色に塗りつぶされちゃいます。わけわかめ。 スレッド自体は10位起動しているが、描画をするしてるのは主に描画用の1スレッドだけなんだがなぁ…。 つд`) マルチスレッドはだめだ! いや、そんなばかな。あばばばば。
|
- DXライブラリ 総合スレッド その10
950 :943=910[sage]:2011/11/28(月) 21:51:22.62 ID:9qyN3uEA - でけたーよ!
当たり前なのかも知れないですけど、後進の役に立てばとおもい、スレ汚ししていきます。 @DxLib_Init() は、描画を行うスレッドでおこなう。DXライブラリのウィンドウはそのスレのもの。 (これは、Win32APIに詳しい人なら当たり前にわかることなのかも?) AProcessMessage() は、ウィンドウの持ち主=描画を行うスレ=DxLib_Init()をしたスレが行う必要がある。 (他のスレにやらせても、意味ないくさかった。) B描画を行う内容がなくても、最新の内容orすっからかん で描画(ScreenFlip()とか)しないと画面更新されないのね。 (そういうものだと言われれば納得だけど、自動で最新を維持してくれるのかと妄想してた。) C描画スレが管理している裏画面へ別スレッドに書き込みを委譲するのは試していない。 (けど、気になるからそのうちやるかも。) サーセンでした。ありがとうございました。
|
- DXライブラリ 総合スレッド その10
951 :943=910[sage]:2011/11/28(月) 22:05:25.03 ID:9qyN3uEA - >>949
どもです。 ということは、もしかして、 DxLib_Init()したスレで何とかしてMessageProcess()できれば、 描画スレとは別でもいいってことですかね。今度試してみよう、今日は疲れた。
|