예전에 xaml 파일에 상용 컨트롤을 사용하다가 프리즈 현상을 겪었던 것 같기는 한데 기억이 가물가물하네요.
여러 가능성을 열어 두고, 다양한 시도를 해 보시면 이슈가 해결되지 않을까 싶어 공유 드려요.
영향 받는 확장 점검
확장 전체를 disable 한 상태에서 하나씩 enable하여 영향이 있는 확장을 걸러내 보시기 바랍니다.
Visual studio 최적화 권장 사항 적용
Visual Studio의 성능을 최적화 하기 위한 가이드를 확인하여 옵션을 적용해 봅니다.
디자인 타임 최적화
하나의 xaml 파일에 많은 컨트롤과 함께 데이터가 바인딩 되어 있으면 xaml designer에 부담을 줘 느려지거나 프리즈 현상을 겪을 수 있습니다.
큰 xaml 파일을 유저 컨트롤로 나누어 정의하고, 디자인 타임 바인딩 데이터를 최소화 하도록 설정합니다.
xaml designer 성능 추적
perfview를 활용하여 생성된 etl 로그 파일을 통해 visual studio의 성능을 진단하거나 Microsoft Q&A에 제보해보시면 답변을 얻으실 수 있지 않을까 싶네요.
perfview 다운로드
perfview 사용 영상
etl 파일 로깅하기
- visual studio를 실행하고, xaml 디자이너가 실행된 상태여야 합니다.
- PerfView를 실행합니다.
- PerfView의 Start Collection 버튼으로 로깅을 시작합니다.
- Visual studio 멈춤 현상을 재현합니다.
- PerfView의 Stop Collection 버튼으로 로깅을 종료하면 .etl 파일이 생성됩니다.
- .etl 파일을 Collect → Merge 명령으로 병합합니다.