◀ANSI版開発トップへ
  • 2409 起動時間
    • 2410 Re: 起動時間
      • 2433 Re2: 起動時間
    • 2413 RE: 起動時間
      • 2414 Re2: 起動時間
  • [2409] 起動時間 げんた 2002年10月16日 01:05

    ちょっと起動時間の内訳を調べてみました.

    http://sakura-editor.sourceforge.net/snapshot/startup_time.txt

    これをみると,
    ・常駐プロセスの起動時間: 0.77 sec
    ・その後の初期化処理: 0.98 sec
    くらいかかっています.(時間はPCの性能によって変わります)

    イメージリストの作成に300msec程度かかっており,しかもこれが常駐プロセスとエディタ本体の両方で行われるので結構な割合を占めていることがわかりました.Windows 95でアイコンでなくなっちゃったこともありますので,Imagelistはやめた方がいいのかも.がっかり.

    以前のように単一のbitmapで保持して部分を切り出して渡す方法を検討してみます.

    本日の1.3.5.3でCRunningTimerを少し直した上で,時間計測用コードをあちこちに入れてあります.
    • [2410] Re: 起動時間 げんた 2002年10月16日 15:48

      >イメージリストの作成に300msec程度かかっており
      時間がかかっているのはイメージリストの作成ではなく,MemoryDCを使ったイメージの切り出しのようでした.イメージのコピーを行わずに昔のような横長のBitmapを読み込ませたら30msecくらいしかかかりませんでした.

      しかし全て横一直線に並べると横6144dot必要なのでメンテナンスが非常に行いにくい.現状のビットマップを横一直線に並べ替えるプログラム無いかしら.
      • [2433] Re2: 起動時間 げんた 2002年10月23日 13:10

        >時間がかかっているのはMemoryDCを使ったイメージの切り出し
        横一列に並び替えて一括して登録した場合は十分に高速だったので,どうもSetObject()が遅かったようです.

        しかし,横一列に並び替えるのがうまく動かなかったという2年前の今日のコメントが入っているので,ひょっとしてOSに依存するのかも.

        あと,my_icons.bmpがある方が処理時間が100msecほど短かったです.リソースの取り出しも時間がかかるみたい.
    • [2413] RE: 起動時間 やざき 2002年10月17日 02:03


      >本日の1.3.5.3でCRunningTimerを少し直した上で,時間計測用コードをあちこちに入れてあります.

      DEBUG時にもCRunningTimerを殺しておくオプションを用意していただきたく!!
      日常的にDEBUGビルドを使っていたので、ショックを受けておりますです。しくしく。
      • [2414] Re2: 起動時間 げんた 2002年10月17日 09:08

        >日常的にDEBUGビルドを使っていたので、ショックを受けておりますです。しくしく。
        失礼しました.そんな方がいらっしゃるとは.

        CRunningTimer.hのクラス定義の下にある MY_TRACETIMEとMY_RUNNINGTIMERの定義を切り換えるところを
        #ifdef _DEBUG
        から
        #if defined(_DEBUG) && defined(TIME_MEASURE)
        とすれば,TIME_MEASUREが定義されていない場合にはRunningTimerを無効にできます.