Windows Phone용 앱 프로파일링

2013-10-15

적용 대상: Windows Phone 8 | Windows Phone OS 7.1

 

Windows Phone 응용프로그램 분석에는 일반 사용자가 사용하는 대로 기능을 실행하는 동안 앱의 성능을 프로파일링하는 옵션이 포함됩니다.

앱 프로파일링의 목적은 앱 성능에 대해 이해하도록 돕고 성능 향상을 위해 작업 가능한 피드백을 제공하는 것입니다. 이 정보를 통해 앱이 일반 사용자에게 제공되기 오래 전에 앱을 향상시키고 안정성과 일관된 성능으로 다른 앱과 차별화할 수 있습니다. 앱 프로파일링 기능의 목적은 성능 측면에서 관련된 모든 주요 메트릭을 캡처하는 것입니다. 처리 원칙을 준수하면 나중에 덧붙이는 것이 아니라 앱을 개발하는 동안 품질 및 성능을 확보할 수 있습니다.

이 항목에서는 관리되는 앱에 대한 앱 프로파일링 세션의 워크플로에 대해 설명합니다. 네이티브 앱 프로파일링에 대한 자세한 내용은 Windows Phone 8용 Direct3D 앱 프로파일링을 참조하세요.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone 8 이나 Windows Phone OS 7.1 을 대상으로 하는 앱을 프로파일링할 수 있습니다.

앱 프로파일링을 시작하려면

  1. Visual Studio 에서 Windows Phone 프로젝트를 엽니다.

  2. 프로젝트를 빌드합니다.

    프로파일링 결과를 최적화하기 위해 릴리스 빌드를 만듭니다. 자세한 내용은 Visual Studio를 사용하여 Windows Phone 앱을 빌드 및 배포하는 방법를 참조하세요.

  3. 앱 분석은 다음 방법 중 하나를 사용하여 실행할 수 있습니다.

    • Alt + F1을 누릅니다.

    • 디버그 메뉴에서 Windows Phone 응용프로그램 분석 시작을 선택합니다.

    팁팁:

    Windows Phone 응용프로그램 분석 시작을 선택하고 성능 분석 시작을 선택하지 않아야 합니다.

    Visual Studio 의 새 탭에 빈 성능 로그(.sap 파일)가 열립니다. .sap 파일의 이름은 프로젝트 이름과 날짜 및 시간 스탬프의 조합을 사용하여 자동으로 지정됩니다. 프로젝트의 모든 로그 파일은 삭제할 때까지 프로젝트 폴더에 저장됩니다.

    처음에 성능 로그에는 분석할 성능 옵션을 선택할 수 있는 설정이 표시됩니다.

    다음 그림에서는 Windows Phone 성능 분석을 실행할 때 프로파일링에 사용 가능한 옵션을 보여줍니다.

    Application analysis options for profiling
  4. 프로파일링에서 다음 옵션 중 하나를 선택합니다.

    • 실행 옵션을 선택하여 코드에서 시각적 항목 및 메서드 호출을 그리는 성능을 분석합니다.

    • 메모리 옵션을 선택하여 앱의 질감 사용 및 개체 할당을 분석합니다.

    Direct3D 앱의 경우 실행 옵션만 사용할 수 있습니다.

    앱에 메모리 문제가 있는 경우가 아니면 일반적으로 실행을 프로파일링합니다.

  5. 선택적으로 고급 설정을 확장하여 프로파일링 옵션을 검토하거나 변경합니다. 이러한 설정은 실행 프로파일링 고급 설정메모리 프로파일링 고급 설정에 설명되어 있습니다.

  6. 그런 다음 세션 시작을 클릭합니다.

    선택한 에뮬레이터 또는 단말기에서 앱 실행이 시작됩니다.

  7. 앱을 탐색하고 일반 사용자가 사용하는 것처럼 앱을 사용합니다. 불규칙적인 스크롤 또는 응답하지 않는 사용자 인터페이스와 같은 성능 문제가 이전에 앱에서 관찰된 경우 프로파일링 세션 중에 앱의 해당 기능을 사용해야 합니다. 나중에 분석 타임라인에서 앱의 문제 영역을 찾을 수 있도록 타이머를 사용하여 이러한 영역을 실행하는 시간을 기록할 수 있습니다.

    다음 이미지는 진행 중인 프로파일링 세션을 보여 줍니다.

    The Windows Phone Profiler, "In Progress"

실행 프로파일링 고급 설정

설정

설정 그룹

각 그리기 작업에 대한 요소 비용 수집

Visual Profiling

각 시각적 요소의 레이아웃 및 렌더링에 걸린 시간을 수집하고 보고합니다.

이 옵션은 기본적으로 선택되어 있습니다.

캐시 세부 정보 수집

Visual Profiling

컴퍼지션 성능을 분석하기 위해 드릴다운 세부 정보를 수집하고 보고합니다.

이 옵션은 기본적으로 선택되어 있지 않습니다.

미디어(이미지 및 동영상) 이벤트 수집

Visual Profiling

미디어 요소 로드에 걸린 시간을 수집하고 보고합니다.

이 옵션은 기본적으로 선택되어 있지 않습니다.

N밀리초에 한 번 depth 깊이에 대한 호출 스택 수집

코드 샘플링

코드 프로파일러는 샘플링 프로파일러입니다. 이 프로파일러는 지정된 간격(약 N밀리초마다)으로 컴퓨터 프로세서를 중단하고 함수 호출 스택을 depth 스택 프레임 수준에 기록합니다.

이 옵션은 기본적으로 선택되어 있습니다.

depth에 사용할 수 있는 값은 다음과 같습니다.

  • 1

  • 2

  • 3

  • 전체

depth의 기본값은 전체입니다. N의 기본값은 10밀리초입니다.

세부 성능 카운터 수집

코드 샘플링

특정 런타임 활동을 측정하는 간단한 카운터를 수집합니다(예: 수행된 interop 호출 수 또는 컴파일된 함수 수).

중요중요:
이 기능은 구현되지 않습니다.

이 옵션은 기본적으로 선택되어 있지 않습니다.

다음 스크린샷은 실행 프로파일링의 고급 설정을 보여 줍니다.

Advanced settings for execution profiling

메모리 프로파일링 고급 설정

설정

설명

N 깊이에 대한 메모리 할당 스택 수집

메모리 프로파일러는 생성된 관리되는 개체의 모든 할당에 대한 호출 스택을 기록합니다. 또한 함수 호출 스택을 N 스택 프레임 수준에 기록합니다.

이 옵션은 기본적으로 선택되어 있습니다. N의 기본값은 4입니다.

매 전체 GC 이후 또는 매 N개 GC 이후 개체 참조 수집

메모리 프로파일러는 다음 조건 중 하나에 해당하는 경우에만 개체 그래프를 계산합니다.

  • 전체 가비지 수집 후(힙의 콘텐츠가 상대적으로 안정적일 때)

  • N회 이상 가비지 수집 후(침입 빈도가 낮을 때)

이 옵션은 기본적으로 선택되어 있습니다. N의 기본값은 5입니다.

다음 스크린샷은 실행 프로파일링의 고급 설정을 보여 줍니다.

Advanced settings for memory profiling

앱 프로파일링을 중지하려면

  • 적합한 활동 샘플링을 수집한 후 세션 끝내기를 클릭합니다.

    참고참고:

    프로파일링 중지를 클릭하여 항상 프로파일링 세션을 중지합니다. 단말기나 에뮬레이터의 연결을 끊어 프로파일링 세션을 중지하면 샘플링 오류가 발생할 수 있습니다.

모니터링 세션을 중지하면 도구는 수집한 데이터를 복사하고, 구문 분석하고, 분석합니다. 그런 다음 결과를 표시합니다.

프로파일링 결과를 검토 및 분석하려면

  1. 프로파일링 세션을 완료했으면 프로파일링 결과 파일이 이미 Visual Studio 에서 열려 있습니다. 그렇지 않으면 솔루션 탐색기에서 성능 로그(.sap) 파일을 두 번 클릭하여 Visual Studio 에서 엽니다.

    프로파일링 세션에 대한 결과 그래프가 Visual Studio 에서 열립니다. 프로파일링 결과에는 그래프 및 성능 경고가 포함됩니다. 그래프 행 및 그래프와 경고에 사용되는 용어에 대한 자세한 내용은 Windows Phone 응용프로그램 분석을 참조하세요. 결과에는 다음 섹션이 포함됩니다.

    실행 프로파일링 그래프

    실행 프로파일링 결과 페이지에는 다음 그래프 행이 표시됩니다.

    • 외부 이벤트

    • 프레임 속도

    • CPU 사용(%)

    • 응용프로그램 응답성

    • 네트워크 데이터 전송 MBps

    • 배터리 소모(mAh)

    • 메모리 사용(MB)

    • Storyboard

    • 이미지 로드

    • GC 이벤트

    메모리 프로파일링 그래프

    메모리 프로파일링 결과 페이지에는 다음 그래프 행이 표시됩니다.

    • 메모리 사용(MB)

    • 이미지 로드

    • GC 이벤트

  2. 이 그래프를 검토하여 프로파일링 세션 중 앱의 프레임 속도, CPU 사용, 메모리 사용, 스토리보드, 이미지 로드 및 가비지 수집 이벤트를 관찰합니다.

  3. 앱의 특정 문제를 파악하려면 타임라인에서 한 영역을 선택합니다. 그래프의 일부분을 선택하면 세부 분석 섹션이 나타납니다. 이 섹션에서는 선택한 기간 동안의 성능에 대한 성능 경고를 세부 정보와 함께 표 형태로 제공합니다.

    성능 경고 테이블에는 다음 아이콘으로 식별되는 세 가지 유형의 항목이 표시됩니다.

    • Information icon 정보 항목

    • Warning icon 경고 항목

    • Profiler error icon 오류 항목

    관찰 요약 열에는 문제에 대한 정보가 포함되어 있습니다. 성능 경고 메뉴 오른쪽에 있는 메뉴 옵션을 확장하여 특정 성능 문제의 세부 정보를 조사할 수도 있습니다.

    다음 이미지는 선택한 그래프 섹션과 세부 성능 분석 섹션의 결과 디스플레이를 보여 줍니다.

    Windows Phone Profiler, with highlighted timeline
  4. Information icon 정보, Warning icon 경고Profiler error icon 오류 항목에 대해 관찰 요약 열의 지침에 따라 정보, 경고 또는 오류 항목의 출처를 추가로 조사합니다. 이러한 지침은 성능 경고 탐색 도구 모음에서 선택하고 결과 보기에 필요한 정보를 찾는 데 도움이 됩니다. 탐색 도구 모음에서 성능 경고를 클릭하면 추가 보기를 숨기고 성능 분석 요약으로 돌아갈 수 있습니다.

    일반적인 성능 문제에 대한 자세한 내용은 Windows Phone 응용프로그램 분석을 사용하여 일반적인 성능 문제를 식별 및 해결하는 방법을 참조하세요.

    다음 이미지에서는 CPU 사용 보기를 표시하도록 확장된 탐색 도구 모음을 보여 줍니다.

    Performance Warnings navigation toolbar, expanded

    다음 이미지에서는 프레임 보기를 표시하도록 확장된 탐색 도구 모음을 보여 줍니다.

    The Windows Phone Profiler's "Breadcrumb" menu

표시:
© 2014 Microsoft