Windows Phone 8용 Windows Phone 응용프로그램 분석

2014-06-18

Windows Phone 응용프로그램 분석 도구는 Windows Phone 앱의 품질과 성능을 평가하고 향상시키기 위한 모니터링 및 프로파일링 도구입니다. 이 도구를 통해 품질 보장을 나중에 고려하는 것이 아니라 개발 주기에 쉽게 포함할 수 있습니다. 이 항목에서는 응용프로그램 분석 도구에 대한 개요를 제공하고 Windows Phone 앱의 품질과 성능을 향상시킬 수 있는 방법에 대해 설명합니다.

응용프로그램 분석 도구에서는 다음 옵션을 제공합니다.

  • 앱 모니터링. 앱 모니터링 옵션을 통해 시작 시간 및 응답성과 같은 좋은 사용자 환경에 사용되는 앱의 가장 중요한 동작을 평가할 수 있습니다.

    앱 모니터링을 사용하려면, Windows Phone 8 단말기나 에뮬레이터에서 앱을 실행해야 합니다. 하지만, Windows Phone 8 이나 Windows Phone OS 7.1 을 대상으로 하는 앱을 모니터링할 수 있습니다. 앱 모니터링은 관리되는 앱에 대해서만 지원되며, Direct3D 앱은 모니터링할 수 없습니다.

    모니터링을 실행하고 결과를 검토하는 방법에 대한 자세한 내용은 Windows Phone 8용 앱 모니터링을 참조하세요.

  • 프로파일링. 프로파일링 옵션을 사용하여 앱의 실행 관련 또는 메모리 사용 측면을 평가할 수 있습니다.

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

    프로파일링을 실행하고 결과를 검토하는 방법에 대한 자세한 내용은 Windows Phone 8용 앱 프로파일링을 참조하세요. Direct3D 앱을 프로파일링하는 방법에 대한 자세한 내용은 Windows Phone 8용 Direct3D 앱 프로파일링을 참조하세요.

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

 

사용자가 즐기는 성공적인 Windows Phone 앱을 만들려면 시간을 들여 품질과 성능을 향상시켜야 합니다. 앱의 아이디어가 아무리 멋져도 앱이 느리거나 반응하지 않거나 주기적으로 충돌하면 사용자가 사용을 중지하고 부정적 리뷰를 제공할 것입니다.

멋진 사용자 환경을 만드는 것 외에도 Windows Phone 앱이 Windows Phone 스토어 에 게시되려면 특정 성능 요구 사항을 충족해야 합니다. 예를 들어 다음과 관련하여 인증 요구 사항이 있습니다.

  • 앱 시작 시간

  • 앱 응답성

  • 앱의 최대 메모리 사용

Windows Phone 스토어 테스트 키트 을 사용하여 이러한 일부 문제를 식별할 수 있습니다. 그러나 응용프로그램 분석 도구를 통해 앱에서 이러한 문제의 원인을 식별, 이해하고 문제를 해결할 수 있습니다.

이 섹션에 설명된 요구 사항 및 도구에 대한 자세한 내용은 다음 항목을 참조하세요.

응용프로그램 분석 도구를 사용하여 일반 사용자가 앱을 사용할 때 기능을 실행하는 동안 앱 품질 및 성능의 가장 중요한 측정값을 캡처할 수 있습니다.

응용프로그램 분석 도구는 Windows Phone SDK 의 일부로 설치되고 Visual Studio 에 완전히 통합됩니다. 응용프로그램 분석 도구를 실행할 때마다 해당 세션에 대한 성능 정보가 포함된 프로젝트 폴더에서 파일이 생성됩니다. 파일을 선택하면 파일 콘텐츠가 Visual Studio 내에 표시되고 추가 정보가 포함된 일련의 표와 그래프에 결과가 표시됩니다.

에뮬레이터 또는 휴대폰에서 앱을 실행하는 동안 앱 분석을 실행할 수 있습니다.

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

Application analysis options

일반적으로 세션 끝내기를 클릭하여 분석 세션을 중지합니다. 그러나 분석 세션은 다음 조건 중 하나에 해당하는 경우에도 중단됩니다.

  • 다른 앱으로 전환하고 앱이 비활성화되는 경우 분석이 일시 정지합니다.

  • 앱에 삭제 표식이 지정되면 분석이 중지합니다.

  • 어떤 방법으로든 앱을 종료하면 분석이 중지합니다.

응용프로그램 분석 도구는 앱 동작 및 성능의 다양한 측면을 분석하고 결과를 그래프 형식으로 표시합니다. 각 영역은 색상으로 구분되므로 그래프에서 쉽게 인식할 수 있습니다. 다음 그림에서는 그래프 예제를 보여줍니다.

The Windows Phone Profiler's "Graphs" area

다음 정보는 앱 모니터링 및 앱 프로파일링 후에 그래프로 표시됩니다.

외부 이벤트

UI 입력 또는 시뮬레이션된 네트워크 변경과 같은 사용자 이벤트입니다.

프레임 속도

타임라인의 해당 시점까지 응용프로그램이 완료한 화면 다시 그리기 수(초당 프레임 수)를 표시합니다. 이 정보는 앱이 어떤 방식으로든 표시를 업데이트한 타임라인 기간에만 사용할 수 있습니다. Windows Phone 앱은 초당 프레임 수가 평균 30에서 60 사이여야 합니다.

XNA Framework 응용프로그램에 대한 프레임 속도는 캡처되거나 표시되지 않습니다.

CPU 사용(%)

앱이 실행되는 동안 사용된 휴대폰 CPU의 비율을 표시합니다. 그래프에서 CPU 사용은 스레드 유형별로 표시됩니다. 다음 표에는 스레드 유형 목록이 나와 있습니다.

Thread

그래프 내의 색

참고

UI(사용자 인터페이스) 스레드

녹색

화면 업데이트 및 터치 입력을 나타냅니다. UI 스레드를 CPU 사용의 50% 미만으로 유지해야 합니다.

응용프로그램 스레드

자주

UI 스레드에 나타나지 않는 앱 활동을 나타냅니다. 컴퍼지션 스레드 또는 백그라운드 스레드일 수 있습니다.

시스템 스레드

회색

앱에 해당하지 않는 활동을 나타냅니다. 큰 시스템 스레드 비율은 시스템이 다른 백그라운드 작업으로 사용 중이고 앱 성능에 영향을 주고 있음을 나타냅니다.

유휴 스레드

흰색

사용 가능한 CPU 비율을 나타냅니다. 유휴 스레드 비율이 높을수록 앱 응답성이 향상될 수 있습니다.

응용프로그램 응답성

입력에 대한 앱 UI의 응답성을 나타냅니다.

네트워크 데이터 전송 MBps 또는 KBps

앱 모니터링은 네트워크 데이터 전송을 KBps(킬로바이트/초)로 표시하고 앱 프로파일링은 같은 값을 MBps(메가바이트/초)로 표시합니다.

배터리 소모(mAh)

앱이 실행되는 동안 대략적인 배터리 소모 속도입니다.

메모리 사용(MB)

앱에서 사용 중인 휴대폰 메모리 크기(MB)를 표시합니다.

다음 정보는 앱 프로파일링 후에만 그래프로 표시됩니다.

Storyboard

스토리 이벤트 발생을 나타내는 S 플래그를 타임라인에 표시합니다. 일반적으로 스토리보드 이벤트는 애니메이션 시작을 나타냅니다. 이 플래그에는 두 가지 종류가 있습니다.

  • 빨간색 플래그는 CPU 바인딩된 스토리보드를 나타냅니다.

  • 보라색 플래그는 CPU 바인딩되지 않은 스토리보드를 나타냅니다.

이미지 로드

이미지 자산이 휴대폰 메모리로 로드되는 시기를 나타내는 I 플래그를 타임라인에 표시합니다.

GC 이벤트

가비지 수집이 발생하는 시기를 나타내는 G 플래그를 타임라인에 표시합니다. 이 이벤트는 런타임이 최근 해제된 메모리 공간을 회수하는 경우에 대한 세부 정보를 제공합니다.

다음은 응용프로그램 분석 도구를 사용할 때 잘 알고 있어야 하는 주요 성능 용어 목록입니다. 도구의 열 머리글을 마우스로 가리키면 각 열에서 데이터를 설명하는 도구 설명을 볼 수 있습니다.

응용프로그램 응답성

사용자 입력 및 화면 업데이트에 응답하는 앱 UI 스레드 준비입니다.

정렬 횟수

선택한 기간 동안 표시된 시각적 요소의 위치를 지정하는 데 필요한 반복 횟수입니다.

정렬 시간

표시된 시각적 요소의 위치를 지정하는 데 걸린 시간(밀리초)입니다.

CPU 사용

타임라인의 해당 시점까지 사용된 사용 가능한 휴대폰 CPU 용량의 비율입니다. 이 정보는 그래프 표시에서 스레드별로 구분되며 세부 성능 분석 섹션에서 메서드 이름별로 구분될 수 있습니다.

더티

선택한 기간 중 표시된 시각적 요소가 오래된(렌더링 업데이트 대기 중) 시간입니다.

전용 샘플

표시된(대상) 메서드의 명령을 직접 실행하는 동안 수집된 총 샘플 수(또는 비율)입니다. 전용 샘플에는 대상 메서드에 의해 호출된 함수를 실행할 때 수집되는 샘플은 포함되지 않습니다.

채우기 비율

화면에서 사용할 수 있는 총 픽셀 수에 대한 프레임에 대해 구성된 총 픽셀 수의 비율입니다.

프레임 속도

타임라인의 해당 시점까지 렌더링된 업데이트 수(초당 프레임 수)를 표시합니다.

포괄 샘플

표시된(대상) 메서드를 실행하는 동안 수집된 총 샘플 수(또는 비율)입니다. 여기에는 메서드 코드를 직접 실행할 때 수집된 샘플과 대상 메서드에 의해 호출된 자식 메서드를 실행할 때 수집된 샘플이 포함됩니다.

측정 횟수

선택한 기간 동안 표시된 시각적 요소의 크기를 지정하는 데 필요한 반복 횟수입니다.

측정 시간(제외)

표시된 시각적 요소의 크기 및 위치를 지정하는 데 걸린 시간(밀리초)입니다. 이 측정에는 시각적 요소 계층 구조(트리)에서 표시된 요소의 자식인 요소의 크기를 지정하는 데 걸린 시간이 포함되지 않습니다.

측정 시간(포함)

표시된 시각적 요소의 크기를 지정하는 데 걸린 시간(밀리초)입니다. 이 측정에는 시각적 요소 계층 구조(트리)에서 표시된 요소의 자식인 요소의 크기를 지정하는 데 걸린 시간이 포함됩니다.

메모리 사용

타임라인의 해당 시점까지 앱이 사용 중인 휴대폰 메모리의 개인 작업 집합입니다.

성능 경고

가능한 성능 문제에 대한 알림입니다. 경고는 세부 성능 분석 섹션에 표시됩니다.

샘플링

앱이 샘플링된 작업과 코드 경로를 실행하는 데 소비하는 시간을 측정하여 앱에서 대부분의 사용자 모드 작업을 수행하는 기능을 표시하는 통계 프로파일링 메서드입니다.

질감 수

프레임에 대해 휴대폰 메모리로 로드된 질감 수입니다.

질감 업데이트 횟수

선택한 기간 동안 업데이트되는 질감 수입니다.

총 그리기 시간(제외)

표시된 시각적 요소를 렌더링하는 데 필요한 시간(밀리초)입니다. 이 측정에는 시각적 요소 계층 구조(트리)에서 표시된 요소의 자식인 요소를 렌더링하는 데 걸린 시간이 포함되지 않습니다.

총 그리기 시간(포함)

표시된 시각적 요소를 렌더링하는 데 필요한 시간(밀리초)입니다. 이 측정에는 시각적 요소 계층 구조(트리)에서 표시된 요소의 자식인 요소를 렌더링하는 데 걸린 시간이 포함됩니다.

표시:
© 2014 Microsoft