• 締切済み

VB6をWIN2000で使うと異常に遅い!

はじめまして。 標題の件ですが、 いままで、WIN98SE(PEN3 600MHz)でまともに動作していたソフト(VB6で作成) をWIN2000(PEN3 1GHz)で動作させると異常に遅くなりました。 演算時間が数倍程度になっています。 それほど複雑とはいえない演算をしながら逐一グラフに描いていくようなソフトです。 それまで、ループ内では適当なタイミングでDoEventsを通るように記述しないとロック状態になっていましたが、 WIN2000ではDoEventsなど必要ないようです(あたり前?) つまり、OSが、CPUのすべてのパワーをこのソフトに対して与えてくれないダケなんだろうと想像します。 とにかくこのソフトへのCPUパワーを最大限振って、OSが別スレッドに移行しないようにすればよいと思うのですが、よい方法はないでしょうか? よろしくお願いします。

みんなの回答

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.1

本当にOS以外の環境が同じなんですか? Win98では常駐プロセスがなかったけど、win2kでは常駐プロセスが起動している ためあなたのPGの実行速度が遅いとか、そんなことないですよね?

関連するQ&A

  • Winのゲームをmacで

    macユーザー(800MHz G4) ですが間違えて Win用のゲームを買ってしまいました。 どうにかしてできるようにする方法ありますか? ソフトの推奨環境はこんな感じです。 OS       Win XP/Me/2000/98 CPU      Pen III 500MHz メモリ    128MHz 空き量    2GB サウンド   DirectX 7.0 グラフィック ビデオRAM 4MB CD ROM    24倍速 DirectX    DirectX 8.0 よろしくです。。

    • 締切済み
    • Mac
  • VB6のプログラムをWIN7で使いたい

    OSをXpからWIN7に移行しなければならなくなり、環境移行のテストをしています。 VB6で組まれた業務用プログラムがあり、現在Xpで動作しています。 このプログラム自体はWIN97の時代に作成されたものです。 簡単に説明しますと、データがAccessのデータベースにあり、それを使って技術計算をするプログラムです。 WIN97に入れると、セットアップは成功するのですが、Accessとデータをやり取りする部分でエラーが起きているようです。 そもそも、VB6自体がWIN7にはセットアップできないようで、再コンパイルできません(再コンパイルで動くかどうかも不明ですが)。 WIN7上で動かす良い方法がないでしょうか。

  • VB6でスケジュールを組みたいのですが

    一定の時刻に一定の操作をさせるプログラムを作りました。一応動くようですが不安です。邪道でしょうか。VB6、OSはXPです。 無限ループ: While Time <> "12:30:00" And Time <> "15:30:00" DoEvents Wend If Time = "12:30:00" Then 仕事A ElseIf Time = "15:30:00" Then 仕事B End If GoTo 無限ループ:

  • Win98でできるフィルタリングの方法を教えてください。

    子供が有害サイトを見ないようにする方法もしくはソフトがありましたら教えてください。 スペックは低くくて、OSはWin98、CPUはセレロン333MHzです。

  • イベントの取りこぼしについて

    教えて下さい。 VBで構築したアプリケーションにおいて、無限ループ内で処理を判断し、実行するようなプログラム構築にしています。この無限ループ内に「DoEvents」をセットしています。これによりOSに溜まっている、各イベントを処理していると思うのですが、処理するイベントに取りこぼしは発生しないのでしょうか? 現在、A/Dボードを実装しており、2ms周期でVBのイベントが発生するようなソフトになっています。「DoEvents」実行時に、OS側が処理に要する時間は、キューに溜まっているイベント数×1回のイベント処理時間で単純に導けるものでしょうか? また、CPUのスペックを2倍にすると、単純に処理時間は半分と計算できるものでしょうか?

  • Win7がサクサク動くスペック

    Win7がサクサク動くスペックはどの辺りでしょうか? 現在、Xpを使用しており、Core2Duo T7250 メモリ2G で非常に快適に動作しております。 Win7でこれくらい快適に動作するには、やはり4コア4スレッドのCPUでないと苦しいでしょうか?

  • DVD再生

    DVDを再生しようと思うのですが、CPUパワーが低いのか、Media Playerでは動作が重く困っています。 DVD再生ソフトで動作の軽さの面でおすすめのソフトが有りましたら、教えてもらいたいです。 OSはXPです。 フリーウェアなのと、フルスクリーン、ループ再生くらいはできることが希望です。 よろしくお願いします。

  • パネルPCでVB6アプリ動作中にCPU100%が周期的に発生

    初めて質問いたします。 VBによるタッチパネルで動作するソフトを開発しています。 連続動作時(4日間)に、急にCPU使用率が周期的に100%になりました。 特にループ等の処理などで負荷をかけていません。 通常時のCPU使用率はタスクマネージャを開いた状態で、0~4%程度であります。 どうやら、30秒周期で行っているシリアル通信のログをテキストボックスへ表示する際にCPU使用率が100%となっていたみたいです。 ログをテキストボックスへSeltextで追加していて3000行以上になっていたのが怪しいと思ったので、再度通信の周期を5秒にして現在2日間ほど連続的に動作させていますが、再現しません。 同じような現象を見たことがある方いませんでしょうか? 動作環境 OS:windows XPE 開発環境 VB6

  • VB5にてコンパイルしたプログラムをWin98にて実行すると極端に遅くなるのを何とかしたい

    長文で申し訳ないのですが、かなり困っており、Microsoftにもインシデントを 発行して調査依頼しております。その部分を抜粋して掲載します。 何でもいいので何か教えて頂けると幸いです <プログラム概要> 大量CSVデータ(複数ファイル合計約100MB)を配列に読み込み、その配列を使用してプログラムを 動作させるが、テキストデータ読み込み時に途中から急激に速度が低下する。 Win2kやWinXPマシンでは問題なく動作し、約数2分半で読み込み処理が終了するが、 Win98マシンでは読み込み処理が終了するまでに2時間半を要する。(Pen(4) 実メモリ256MB) <プログラム詳細>   ReDim gtypCDRコメント(30000)   intFileNumber = FreeFile ' ***ファイルOPEN***** Open CstrCsvPass & gstrファイルCD & CstrCDRコメント For Input As #intFileNumber lngDataCnt = 0 Do While Not EOF(intFileNumber) With gtypCDRコメント(lngDataCnt) Input #intFileNumber, .gstr健診種別, .gstrセットコード, _ .gstr短文, .gstr略文, .gstr長文1, .gstr長文2, .gstr長文3 lngDataCnt = lngDataCnt + 1 End With DoEvents Loop ' ***ファイル閉じる****   Close #intFileNumbe <質問内容> 上記現象は、大量データをメモリに格納するWin9×系OSとWinNT系OSの仕組みの違いに よるものではないかと推測しているが、ユーザへの説明上、OSにより上記の動作が異なる 理由をご回答頂ければ幸いです。 また、VB5プログラムをWin9×系OS上にて動作させる際に、上記配列の宣言 方法では読み込みデータサイズの推奨上限値がどの位になるのか、また別の メモリ格納方法であれば更に大きなサイズのデータをメモリに格納できるなど、 回避策は存在するのかご回答頂ければ幸いです。

  • VB6(SP5) 無限ループ

    VB6(SP5)で、プログラミングをしております。 コマンドボタンをクリックすると、別のフォームを開く仕様にしております。 下記のプログラミングです。 ブレイクポイントで、テキストボックスにフォーカスが戻る事は、確認しております。 が、再び、同じフォームが開きます。要するに無限ループになってしまって いるのです。しかも、開発マシン(Win2000)では、再現しません。 実際のあるマシン(Win98SE)のみ再現します。(全てではありません) 助言の程、よろしくお願い致します。 Private Sub CB_Code_Click() Form1.iDoF = True Form1.Show Do While Form1.iDoF = True DoEvents Loop Set Form1 = Nothing Form_Activate DoEvents Text1.SetFocus End Sub