다음을 통해 공유


스토어 앱의 에너지 사용 분석

Windows 및 Windows Phone에 적용

Visual Studio 에너지 소비 프로파일러 사용하여 장착된 배터리로 전체 또는 일부 시간 동안 실행하는 저전압 태블릿 장치에서 Windows 스토어 앱의 전력 및 에너지 소비량을 분석할 수 있습니다. 배터리로 작동하는 장치에서 너무 많은 에너지를 사용하는 앱은 고객 불만족으로 이어져 결국 고객이 해당 앱을 제거할 수 있습니다. 에너지 사용을 최적화하면 고객의 앱 채택 및 사용 비율이 높아질 수 있습니다.

내용

에너지 소비 프로파일러 소개, 작동 방법 및 측정 대상

사용자 표시로 시나리오 식별

프로파일링할 환경 구성

앱에 대한 에너지 프로필 데이터 수집

설치된 응용 프로그램에 대한 에너지 프로필 데이터 수집

에너지 프로필 데이터 분석

에너지 사용 최적화

기타 리소스

에너지 소비 프로파일러 소개, 작동 방법 및 측정 대상

에너지 소비 프로파일러는 프로파일링 세션 동안 장치의 디스플레이, CPU 및 네트워크 연결 작업을 캡처합니다. 그런 다음 이러한 활동에 사용되는 전력 과 프로파일링 세션 동안 총 에너지양의 측정 값을 생성합니다.

참고

에너지 프로파일러는 응용 프로그램이 실행될 수 있는 저전력 태블릿을 나타내는 표준 참조 장치 하드웨어의 소프트웨어 모델을 사용해서 전력 및 에너지 사용을 예측합니다.최상의 예측을 제공하기 위해서는 저전력 태블릿 장치에서 프로필 데이터를 수집하는 것이 좋습니다.

모델은 수많은 저전압 장치에 대해 양호한 예측 값을 제공하지만 프로파일링하는 장치의 실제 값은 다를 수 있습니다.값을 사용해서 다른 리소스 사용과 밀접하게 관련이 있고 올바른 최적화 후보가 될 수 있는 디스플레이, CPU 및 네트워크 작업을 찾습니다.

에너지 소비 프로파일러에서 전력 및 에너지의 정의는 다음과 같습니다.

  • 전력은 일정 시간 동안 작업을 수행하는 데 사용된 힘의 비율을 측정합니다. 전자 공학에서 전력의 표준 단위는 와트(watt)이고, 1V(볼트)의 전압으로 1A(암페어)의 전류가 흐를 때 수행한 일의 비율로 정의됩니다. 전원 사용 그래프에서 단위가 mW(밀리와트)로 표시되고 1mW는 1W의 1/1000(10 -3)에 해당합니다.

    전력은 비율이기 때문에 방향(일정 시간 동안 작업이 증가 또는 감소할 수 있음)과 속도(작업이 증가 또는 감소하는 양)가 있습니다.

  • 에너지는 양 또는 포텐셜, 배터리의 전력량 또는 일정 시간에 걸쳐 소요된 총 전력량의 형태로 총 전력량을 측정합니다. 에너지의 단위는 와트시이고 1W의 전력을 1시간 동안 계속해서 사용했을 때의 전력량을 나타냅니다. 에너지 요약에서 단위가 mW-h(밀리와트시)로 표시됩니다.

에너지 양, 사용한 전원, 사용한 전체 에너지

예를 들어, 태블릿의 완전히 충전된 배터리에는 저장된 에너지가 상당히 많습니다. 네트워크를 통해 통신하거나 값을 계산하거나 그래픽을 표시하는 등 작업을 수행하는 데 에너지가 사용됨에 따라 배터리의 전력이 서로 다른 비율로 소비됩니다. 언제든지 소비된 총 전력량은 에너지로 측정됩니다.

사용자 표시로 시나리오 식별

프로파일링 데이터에 사용자 표시를 추가하여 타임라인 눈금자의 영역을 식별할 수 있습니다.

타임라인의 사용자 표시

이 표시는 메서드 실행 시 타임라인에 주황색 삼각형으로 표시됩니다. 표시 위로 마우스를 가져가면 메시지 및 시간이 도구 설명으로 표시됩니다. 두 개 이상의 사용자 표시가 서로 가까이 있으면 표시가 병합되고 도구 설명 데이터가 결합됩니다. 타임라인을 확대하면 표시가 분리되어 표시됩니다.

C#, Visual Basic, C++ 코드에 표시 추가

C#, Visual Basic, C++ 코드에 사용자 표시를 추가하려면 먼저 Windows.Foundation.Diagnostics LoggingChannel 개체를 만듭니다. 그런 다음 표시할 코드 지점에서 LoggingChannel.LogMessage 메서드에 호출을 삽입합니다. 호출에서 LoggingLevel.Information을 사용합니다.

메서드가 실행되면 메시지와 함께 프로파일링 데이터에 사용자 표시가 추가됩니다.

참고

  • Windows.Foundation.Diagnostics LoggingChannel은 Windows.Foundation.IClosable 인터페이스(C# 및 VB에서 System.IDisposable로 프로젝션됨)를 구현합니다. 운영 체제 리소스가 누수되지 않도록 하려면 로깅 채널이 완료될 때 LoggingChannel.CloseClose()(C# 및 VB에서는 Dispose())를 호출합니다.

  • 열린 각 로깅 채널의 이름은 고유해야 합니다.삭제되지 않은 채널과 이름이 같은 새 로깅 채널을 만들려고 시도하면 예외가 발생합니다.

예제를 보려면 Windows SDK 샘플 LoggingSession 샘플을 참조하세요.

JavaScript 코드에 표시 추가

사용자 표시를 추가하려면 표시할 코드의 지점에 다음 코드를 추가합니다.

if (performance && performance.mark) {
    performance.mark(markDescription);
}

markDescription은 사용자 표시 도구 설명에 표시할 메시지가 포함되는 문자열입니다.

프로파일링할 환경 구성

올바른 측정을 위해서는 배터리 전원으로 작동 중인 저전압 장치에서 응용 프로그램의 에너지 사용량을 프로파일링해야 합니다. 대부분의 이러한 장치에서 Visual Studio가 작동하지 않으므로 Visual Studio 컴퓨터를 Visual Studio 원격 도구를 사용하는 장치에 연결해야 합니다. 원격 장치에 연결하려면 Visual Studio 프로젝트와 원격 장치를 모두 구성해야 합니다. 자세한 내용은 Visual Studio를 사용하여 원격 컴퓨터에서 Windows 스토어 앱 실행를 참조하십시오.

  • Windows 스토어 시뮬레이터 또는 Visual Studio 컴퓨터에서 에너지 프로파일링이 권장되지 않습니다.실제 장치의 프로파일링은 훨씬 실질적인 데이터를 제공합니다.

  • 배터리 전원으로 작동하는 동안에는 대상 장치에서 프로파일링해야 합니다.

  • 같은 리소스(네트워크, CPU 또는 디스플레이)를 사용할 수 있는 다른 앱을 닫으십시오.

앱에 대한 에너지 프로필 데이터 수집

  1. 디버그 메뉴에서 성능 및 진단을 선택합니다.

    진단 허브에서 에너지 소비 선택

  2. 에너지 소비를 선택한 다음 시작을 선택합니다.

    참고

    에너지 소비 프로파일러를 시작하면 VsEtwCollector.exe 실행 권한을 요청하는 사용자 계정 컨트롤 창이 표시될 수 있습니다.를 선택합니다.

  3. 앱을 실행하여 데이터를 수집합니다.

  4. 프로파일링을 중지하려면 Visual Studio로 다시 전환하고(Alt + Tab) 진단 허브 페이지에서 수집 중지를 선택합니다.

    데이터 수집 중지

    Visual Studio에서는 수집된 데이터를 분석하고 결과를 표시합니다.

설치된 응용 프로그램에 대한 에너지 프로필 데이터 수집

에너지 소비 도구는 Visual Studio 솔루션에서 실행되거나 Windows 스토어에서 설치되는 Window Store 8.1 응용 프로그램에서만 실행할 수 있습니다. 솔루션이 Visual Studio로 열려 있는 경우 기본 대상은 시작 프로젝트입니다. 설치된 응용 프로그램의 대상을 지정하려면

  1. 대상 변경을 선택한 후 설치된 응용 프로그램을 선택합니다.

  2. 설치된 응용 프로그램 패키지 선택 목록에서 대상을 선택합니다.

  3. 진단 허브 페이지에서 에너지 소비를 선택합니다.

  4. 시작을 선택하여 프로파일링을 시작합니다.

프로파일링을 중지하려면 Visual Studio로 다시 전환하고(Alt + Tab) 진단 허브 페이지에서 수집 중지를 선택합니다.

에너지 프로필 데이터 분석

에너지 프로필 데이터가 Visual Studio 문서 창에 표시됩니다.

에너지 프로파일러 보고서 페이지

1단계

보고서 파일의 이름은 ReportYYYYMMDD-HHMM.diagsession입니다. 보고서를 저장할 경우 이름을 변경할 수 있습니다.

2단계

타임라인에는 프로파일링 세션 길이, 응용 프로그램 수명 주기 시작 이벤트 및 사용자 표시가 표시됩니다.

3단계

파란색 막대를 끌어 타임라인의 부분의 선택하여 보고서를 타임라인의 일부분으로 제한할 수 있습니다.

4단계

전원 사용 그래프는 프로파일링 세션 동안 장치 리소스로 발생하는 전원 출력의 변화를 나타내는 다중선형 차트입니다. 에너지 소비 프로파일러는 CPU, 네트워크 작업 및 화면 디스플레이에서 사용하는 전력을 추적합니다.

5단계

리소스(설정/해제) 그래프는 네트워크 에너지 소비에 대한 자세한 정보를 제공합니다. 네트워크 막대는 네트워크 연결이 열렸을 때의 시간을 나타냅니다. 데이터 전송 하위 막대는 앱에서 네트워크를 통해 데이터를 수신하거나 송신하는 시간을 나타냅니다.

6단계

에너지 사용 요약에서는 선택한 타임라인에서 CPU, 네트워크 작업 및 화면 디스플레이 사용에 비례하는 총 에너지양을 보여 줍니다.

에너지 프로필 데이터를 분석하려면

리소스 전력이 가장 많이 사용되는 부분을 찾습니다. 최대 사용 부분을 앱의 기능과 연결합니다. 그런 다음 타임라인의 타임라인 컨트롤 막대를 사용하여 해당 영역을 확대합니다. 네트워크 사용에 초점을 두는 경우 리소스(설정/해제) 그래프에서 네트워크 노드를 확장하여 앱이 연결을 통해 데이터를 수신하거나 전송하는 시간에 대해 네트워크 연결이 열리는 시간을 비교합니다. 네트워크가 불필요하게 열려 있는 시간을 줄이는 것은 매우 효과적인 최적화 방법입니다.

에너지 사용 최적화

데이터 전송과 더불어 네트워크 연결은 연결을 초기화하고 유지하고 종료하는 데 에너지를 소비합니다. 일부 네트워크는 데이터를 전송하거나 받은 후 일정 시간 동안 연결을 유지하여 한 번의 연결로 전송된 데이터보다 더 많은 양을 수용합니다. 리소스(설정/해제) 창을 사용하여 앱이 연결과 상호 작용하는 방법을 검사할 수 있습니다.

리소스(설정/해제) 창

네트워크데이터 전송 막대에서 일련의 작은 데이터 패킷을 가끔 전송하기 위해 오랜 시간 동안 연결이 열려 있다고 표시되는 경우, 데이터를 한번에 전송하도록 일괄 처리하여 네트워크가 열려 있는 시간을 줄이고 에너지 소비도 절약할 수 있습니다.

에너지 소비 요약 창

디스플레이의 에너지 비용에 대한 제어 권한이 적습니다. 대부분의 화면에서는 어두운 색보다 밝은 색을 표시하는 데 더 많은 에너지가 필요하기 때문에 어두운 화면을 사용하는 것이 비용을 줄일 수 있는 한 가지 방법입니다.

기타 리소스