응용 프로그램 시작 이후 다음 메소드가 실행 된 횟수를 계산하고 싶습니다. 어떻게해야합니까?Count 함수 호출
System.Drawing.Graphics.FromHdcInternal(IntPtr hdc)
System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)
응용 프로그램 시작 이후 다음 메소드가 실행 된 횟수를 계산하고 싶습니다. 어떻게해야합니까?Count 함수 호출
System.Drawing.Graphics.FromHdcInternal(IntPtr hdc)
System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)
표준 방식의 가장 쉬운 방법은 단순히 프로파일 러 응용 프로그램을 사용하는 것입니다. 개인적으로 나는 jetBrains dotTrace과 좋은 경험을 가지고 있지만 더 많은 것이 있습니다.
기본적으로 프로파일 러가 앱을 시작하게하고 코드에서 모든 메소드 호출을 추적합니다. 그런 다음 해당 메소드를 실행하는 데 소요 된 시간과 호출 된 횟수를 표시합니다.
실제로 이것이 성능인지 알기를 원하는 이유를 가정 할 때 프로파일 러를 살펴 보는 것이 좋습니다. 병목 현상이 발생한 위치를 교육적으로 추측하여 코드를 최적화 할 수는 있지만 프로파일 러를 사용하면 실제로 측정 할 수 있습니다. 그리고 우리 모두 알고, 두 번 측정, 한 번 자르십시오 ;-)
나는 두 가지 방법을 생각할 수 있습니다. 하나는 가장 단순한 프로파일 러를 사용하는 것입니다.
다른 하나는 함수를 호출하여 함수를 계산하는 것입니다. 찾기 및 바꾸기가 나머지 작업을 수행합니다.
private int invokeCount = 0;
public static Graphics FromHdcInternalWrapped(IntPtr hdc)
{
invokeCount++;
return Graphics.FromHdcInternal(hdc);
}
개인적으로 저는 프로파일 러를 계속 사용합니다.
AQtime 어렵지 않습니다.
프로파일 러를 사용하십시오. – dandan78