2014-04-02 3 views
1

내 앱의 성능, 특히 비디오 프레임의 렌더링 시간을 알고 싶습니다. Eclipse에서 DDMS Perspective -> System Information -> Frame Render Time을 알고 있습니다. 그러나 다른 question에서 묻는 것처럼 앱이 실행되는 동안 '기기에서 업데이트'를 선택해도 렌더링 정보가 표시되지 않는 것 같습니다. 그러나Android 프레임의 측정 프레임 렌더링 시간

adb shell dumpsys gfxinfo <package-name> 

, 내가 그 명령을 실행하면, 그것은 바로 실행 완료하고 나는이처럼 보이는 출력을 얻을 : 몇 가지 조사 후

, 나는이 blogthis other one에서이 명령을 가로 질러왔다 부분 :

입니다

enter image description here

, 내가 프로파일 데이터의 한 줄 이상하지 않습니다 (종종 결과가 비어 있습니다). 그래프로 나타 내기 위해 하나 이상의 데이터 포인트를 얻으려면 어떻게해야합니까? 또는 응용 프로그램의 렌더링 성능을 평가하기 위해 다른 대안을 고려해야합니까?

답변

2

올바른 툴은 Systrace (basic docs, verbose docs)이다. 이를 지원하는 장치가 필요하며 좀 더 유용한 비트를 위해 루트가 필요할 것입니다.

무엇을 every thread is doing으로 볼 수 있으며 많은 그래픽 요소가 장착되어 있습니다. 나는 자체가 일반적으로 계측 된 비디오 코덱을 생각하지 않는다, 그래서 당신은 하드웨어 코덱의 디코딩 시간을 볼 수 없습니다,하지만 당신은 버퍼가 시스템을 통해 이동 볼 수 있습니다.

재미있는 것들 대부분은 mediaserver 또는 SurfaceFlinger에서 발생하므로 앱의 메소드 프로파일 링에 디코딩/렌더링 활동이 나타나지 않습니다.