exe実行時、cpu使用率が100%の回避方法

解決


shimo  2005-05-18 15:37:14  No: 89894  IP: [192.*.*.*]

vb6で開発しておりますが、vbpで実行するとcpu使用率は1桁台なのですが、
exeを作成して、アプリからexeをキックすると、cpu使用率が100%になります。画面を開くだけなんですが・・
回避方法と、なぜそのような事になるのか教えて頂けませんでしょうか。

編集 削除
じゃんぬねっと  URL  2005-05-18 17:04:47  No: 89895  IP: [192.*.*.*]

そりゃ、最適化されて全開になりますからね。
回避したいのであれば、適宜 OS に処理を戻してあげましょう。

編集 削除
shimo  2005-05-18 19:10:31  No: 89896  IP: [192.*.*.*]

すみません、OSに処理を戻すというのは、
具体的にどのような事をすれば宜しいのでしょうか?

編集 削除
KG  2005-05-18 20:54:02  No: 89897  IP: [192.*.*.*]

ループ処理で100%になるのであれば
ループの中に

DoEvents

と入れてみるとか。
DoEventsがなんなのかは検索すると出てくると思います|o_o|

編集 削除
ガッ  2005-05-18 21:29:43  No: 89898  IP: [192.*.*.*]

DoEventsをループに入れてもCPU使用率100%は変わらない希ガス・・・
経験だけど、WinAPIのSleep関数で数msの待ちを入れるとそんなにCPU使用率を食わないですが(orz

問題は別のところにあるのでは?

編集 削除
ねろ  2005-05-18 21:30:11  No: 89899  IP: [192.*.*.*]

あいやいや。。
開発環境でも
Do〜Loop
とやれば、CPUの使用率は100%になります。
Do
    DoEvents
Loop
とやってもSleepを入れない限り、やはりCPUの使用率は100%ですよね。(^^;

開発環境ではCPUの使用率は100%にならないということは、
あまり聞いたことは有りませんが、P-Codeコンパイルと
ネイティブコードコンパイルの違いでしょうか。
一度P-Codeコンパイルでやってみるのも手ですね。

通常はどの部分で重くなっているかは、自分で作ったコードなら
大体わかるものでしょう、その部分のコードを提示されるのが速いのでは。

>アプリからexeをキックすると
というのがちょっと気になります。何のアプリから呼び出しているのでしょうか。

編集 削除
ねろ  2005-05-18 21:34:53  No: 89900  IP: [192.*.*.*]

投稿する前に確認したのですが、確認してる間に、
20秒差でガッさんと被った、今日は帰ろ。orz

編集 削除
ガッ  2005-05-18 21:44:14  No: 89901  IP: [192.*.*.*]

>ねろさん
ororz<なんかこー・・・本当に何かすんませんですた;

編集 削除
ねろ  2005-05-18 21:52:14  No: 89902  IP: [192.*.*.*]

>ガッさん
ガッのレスの方が内容はまったく同じで、短くて適切。orz

編集 削除
ねろ  2005-05-18 21:54:14  No: 89903  IP: [192.*.*.*]

まだ早いのに寝ぼけてきた。
>ガッのレスの方が内容はまったく同じで、短くて適切。orz
ガッさんのレスの方が内容はまったく同じで、短くて適切。orz

編集 削除
shimo  2005-05-18 22:25:26  No: 89904  IP: [192.*.*.*]

sleepを入れたら、一気に下がりました。
すみませんでした。ありがとうございました。

編集 削除