0

私はEQATECを使用していて、それが大好きです。ただし、実行可能ファイルのディレクトリにないため、、、System.Net.dllなどの.NETシステムDLLのプロファイルも取得できないようです。Microsoft.Xna.Framework.dll

それを行う方法はありますか?

今のところ、メソッド自体に多くの時間がかかると言われています。これは、外部システムのDLL呼び出しであるため誤りですが、この情報は表示されません。

4

2 に答える 2

1

現在、メソッド自体に多くの時間がかかることがわかります。これは、常に時間がかかるのは外部システムの DLL 呼び出しであるため、誤りですが、この情報は表示されません。

それで大丈夫です。

あるシステム ルーチンがプログラム カウンターを大量に所有していることがわかっている場合、それはどのように役立ちますか? コード内で何が許可されているかを把握する必要があります。

例: メモリ割り当ては、多くの場合かなりの時間を要するシステム関数です。それは、より高速なメモリ アロケータが必要だということですか? newいいえ、それはより少ないsを実行する必要があることを意味します。

コード内で、実時間 (自己と呼び出し先の合計) が全体の時間の大きな割合を占めるルーチン (またはさらに良い)を探す必要があります。(高い呼び出し回数や高いミリ秒を探してはいけません。高いパーセンテージを探してください。)

なんで?それは、それが担当する全体の時間の一部だからです。ルーチンやラインに時間がかからないようにすることができれば、全体の時間はその割合で減少します。通常、これを行う方法は、従属呼び出しを少なくするか、まったく行わないようにすることです。

たとえば、プログラムに 10 秒かかり、実行するコード行がありnew、その包括的パーセントが 20% である場合 (つまり、そのコード行とその外側のルーチンが 20% の時間スタック上にある場合)、その行を実行する回数を大幅に減らすか、まったく実行しないと、2 秒節約できます。

于 2012-07-04T02:53:47.353 に答える
1

既知の制限の下で、EQATEC ユーザー ガイドから:

  • 現在、定義されたメソッドのみがプロファイリングされており、参照されているメソッドはプロファイリングされていません。したがって、アプリケーション自体が定義するすべてのメソッドはプロファイルされますが、System.* などはプロファイルされません。
于 2012-07-03T19:51:43.653 に答える