私は自分のソフトウェアの速度を調べて、速度を上げることができる線をあちこちで細かくしようとしています。私は一般的な最適化の助けを必要としません。呼び出しの量を考慮しても、非常に長い時間がかかるように見えるバックグラウンドのアンマネージコードの特定の行を見つけました。これは次の行です。
system.windows.forms.unsafenativemethods.getwindowtext(handleRef hWnd, StringBuilder lpstring, int nMaxCount)
誰か知っていますか:
それをスピードアップする方法/役に立たない場合はバイパスする/より良いものと交換する方法。
具体的には、これが呼び出される原因となるコード内の何かを記述した場所です。例が多いほど、この例の方が優れています。Googleでいくつかの関連トピックを見つけました。ただし、これらはそれぞれ、1つのスレッドが別のスレッドに何かを要求し、他のスレッドが切り離されたときに発生するエラーなどの特定の問題に関連しています。このリンクは役に立ちますが、静かに頭を悩ませることはできません。ありとあらゆる助けをいただければ幸いです。
ありがとう!
よく使用しているようですがControl.Text
、これはの呼び出し元である可能性が最も高いようですGetWindowText
。
シミュレーションが進行するたびにシミュレーションの結果でUIを更新する場合は、更新をレート制限するだけで(たとえば、1秒間に5回更新するだけで)、パフォーマンスを大幅に向上できる可能性があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加