none
comctrl32.dllへのアクセス回数 RRS feed

  • 質問

  • Visual Studio2005、.NetFrameWork2.0、64ビットで開発をしております。

    開発しているプログラムにはVisual Basic6.0からバージョンアップしたプロジェクト(A)と

    VisualStudio2005で新規に開発したプロジェクト(B)が存在します。

    双方とも同じサードパーティ製コントロールを使用しています。

    AとBは画面構成も似ており、コントロール数や内部ロジックも似たような処理をしています。

    2本のAPの初期起動(InitializeCompornentの実行時間)で A=20秒 B=6秒といった差があります。

    質問①:AとBの違いを調査し、Aはアプリケーションフレームワークを有効にする、がFalseになっていました。

              これをTrueにする事でAの速度が10秒ほどに改善されました。

              この調査の際、Processmonitorというツールで以下の事が分かりました。Aにおいて、

           あ)アプリケーションフレームワークを有効にする=FALSEの状態だとComctrl32.dllに13万回ほどのアクセスがある。

           い)アプリケーションフレームワークを有効にする=Trueの状態だと、18回のアクセスのみとなる。

          あ)でこれほど多くのアクセスが行われていた理由は何でしょうか?

               また(い)で減少した理由は何でしょうか?

    質問②:Aは数年前に作成したプログラムに変更を加えております。アプリケーションフレームワークを有効にする=Trueとした場合、

             Falseであった場合と異なる動作をする点、注意点などありますか?※できればTrueに変更したいのです。

    質問③:またAは64ビット対応で作成しておりましたが、32ビット(X86で関連dllから再コンパイル)すると、

             起動速度が5秒に改善されました。

         32ビット/64ビットで注意すべき点などありますでしょうか?

         

    2013年3月4日 9:20