방법을 모니터링 안드로이드 FPS

1.gpu 렌더링 모드 분석    

      열기 개발자 모드를 선택 GPU 렌더링 모드 분석. 화면 바에서 볼 수있는, 많은 시간이 소요되는, 시간이 소요되는 서로 다른 색상의 각 프레임 대표는 단계를 판단 할 수있는 문제가, 도면에 여러 단계를 나타냅니다. 그린 라인은 일어나지 않을 것입니다 비 16.67ms 프레임 손실 전에 ​​시간이 오래 걸립니다, 16.67ms이 기준을 횡단 나타냅니다.

                       

2.adb 쉘 dumpsys gfxinfo에서 <PACKAGE_NAME>

     dumpsys이 gfxinfo에서 ADB 쉘을 실행하려면 명령 줄은 통계 데이터 응용 프로그램을 대가로 열리지 만 프레임의 총 수는 손실됩니다 동안 각 프레임에 대한 전체 통계, 특정 시간이 소요되는 각 단계를 포함하지 않는, 프레임 하락 비 시간 소모적 프레임 라인 90, 라인 95, 라인 99.

       접미사 첨가 framestats는 최신의 스테이지 (120), 첫 번째 행은 profileData 플래그, IntendedVsync, VSYNC, OldestInputEvent 등을 포함한 특정의 출력을 참조하여 분할 될 수 얻을 수 가공 https://developer.android.com을 / 교육 / 테스트 / 성능 # FS 혜택 - 데이터 포맷은 해당 안드로이드 공식 웹 사이트의 특정 내용을 볼 수 있습니다.

     접미사를 추가하면 데이터가 삭제되기 전에 시점으로 재설정 다음 조사 결과 리셋에서 재설정 할 수 있습니다.

3.Choreographer.postFrameCallBack

     Choreographer是android UI线程绘制的节拍器,是一个threadlocal变量,UI线程里的Choreographer可以认为是一个单例,接收vsync信号进行界面的渲染,可以通过对choreographer设置FrameCallback回调获得每一帧的与上一帧的时长,但不含每一个阶段的时间,并且界面不发生改变时vsync信号也会传递,会导致获得的FPS偏高,本文介绍的其他三种方法则没有这个确定。

4.Window.OnFrameMetricsAvailableListener

      OnFrameMetricsAvailableListener是Android在api 24版本加入的强大新功能,通过设置OnFrameMetricsAvailableListener回调可以获得每一帧每一个阶段的耗时,以及总的耗时,并且可以获得当前帧是否是第一次绘制,android官方认为第一帧由于存在大量初始化的代码,其第一帧的数据不应记在FPS内。

发布了3 篇原创文章 · 获赞 0 · 访问量 3104

추천

출처blog.csdn.net/aliucheng729/article/details/104095100