네트워크 드라이브에서 실행되는 .NET Windows Form 앱의 시작 시간을 줄입니다.

StackOverflow https://stackoverflow.com/questions/104815

  •  01-07-2019
  •  | 
  •  

문제

네트워크 드라이브에서 실행되는 간단한 .NET 2.0 Windows 양식 앱이 있습니다(예:\MyServer\MyShare\app.exe).이는 매우 기본적이며 최소한의 .NET 라이브러리만 로드합니다.그러나 로드하는 데 여전히 ~6~10초가 걸립니다.사람들은 앱이 너무 작아서 로드하는 데 시간이 너무 오래 걸리면 뭔가 잘못되었다고 생각합니다.

시작 속도를 향상시키기 위한 제안 사항이 있습니까?

도움이 되었습니까?

해결책

시험해 보세요 Sysinternals 프로세스 탐색기."JIT의 % 시간" 열이 있습니다.그 숫자가 크면 실행할 수 있습니다 엔겐 귀하의 신청서에.그렇지 않은 경우 네트워크 연결 속도가 느린 것일 수 있습니다.CodeGuru에는 다음과 같은 튜토리얼이 있습니다. ngen의 사용법.

다른 팁

로드 시간을 단축하려면 작은 시작 애플리케이션을 컴파일하고 해당 애플리케이션이 런타임 시 bin 폴더 외부의 라이브러리에서 어셈블리를 로드하도록 할 수 있습니다.

http://support.microsoft.com/kb/837908

NGEN 타당성을 평가하기 위한 JIT 시간을 결정하는 것은 확실히 좋은 출발점입니다.또한 다른 진입점을 사용하여 어셈블리를 로드함으로써 로드 시간을 조작하려는 사람들의 의견에 동의합니다.종종 그것은 속도의 모습 ~ 대 실제 속도 이는 사용자 경험을 향상시킵니다.

앱이 로컬 컴퓨터에 배포되도록 Clickonce를 설정합니다.

Microsoft Office(및 Adobe 제 생각에는 Adobe)처럼 속임수를 써서 앱을 로드한 다음 즉시 언로드하도록 지시하는 앱을 시작 그룹에 추가할 수 있습니다.이렇게 하면 사용자가 앱을 시작하려고 할 때 DLL이 메모리에 미리 캐시됩니다.잡기만:네트워크 파일에서 이런 방식으로 작동하는지 확실하지 않습니다. 그렇지 않은 경우 이것이 느린 시작의 원인일 수 있습니다. 로컬 머신).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top