vb6で開発しておりますが、vbpで実行するとcpu使用率は1桁台なのですが、
exeを作成して、アプリからexeをキックすると、cpu使用率が100%になります。画面を開くだけなんですが・・
回避方法と、なぜそのような事になるのか教えて頂けませんでしょうか。
そりゃ、最適化されて全開になりますからね。
回避したいのであれば、適宜 OS に処理を戻してあげましょう。
すみません、OSに処理を戻すというのは、
具体的にどのような事をすれば宜しいのでしょうか?
ループ処理で100%になるのであれば
ループの中に
DoEvents
と入れてみるとか。
DoEventsがなんなのかは検索すると出てくると思います|o_o|
DoEventsをループに入れてもCPU使用率100%は変わらない希ガス・・・
経験だけど、WinAPIのSleep関数で数msの待ちを入れるとそんなにCPU使用率を食わないですが(orz
問題は別のところにあるのでは?
あいやいや。。
開発環境でも
Do〜Loop
とやれば、CPUの使用率は100%になります。
Do
DoEvents
Loop
とやってもSleepを入れない限り、やはりCPUの使用率は100%ですよね。(^^;
開発環境ではCPUの使用率は100%にならないということは、
あまり聞いたことは有りませんが、P-Codeコンパイルと
ネイティブコードコンパイルの違いでしょうか。
一度P-Codeコンパイルでやってみるのも手ですね。
通常はどの部分で重くなっているかは、自分で作ったコードなら
大体わかるものでしょう、その部分のコードを提示されるのが速いのでは。
>アプリからexeをキックすると
というのがちょっと気になります。何のアプリから呼び出しているのでしょうか。
投稿する前に確認したのですが、確認してる間に、
20秒差でガッさんと被った、今日は帰ろ。orz
>ねろさん
ororz<なんかこー・・・本当に何かすんませんですた;
>ガッさん
ガッのレスの方が内容はまったく同じで、短くて適切。orz
まだ早いのに寝ぼけてきた。
>ガッのレスの方が内容はまったく同じで、短くて適切。orz
ガッさんのレスの方が内容はまったく同じで、短くて適切。orz
sleepを入れたら、一気に下がりました。
すみませんでした。ありがとうございました。
ツイート | ![]() |