Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Total frames" and "Janky frames" in dumpsys gfxinfo report

I am calculating my Application performance using dumpsys gfxinfo command. After making performance improvement changes in my App code, I observed that Total number of frames and Janky frames count got drastically reduced.

What does decrease in "Total frames" count and "Janky Frames" count signify ? Is it good indicator of performance ?

Attached Performance reports.

After Performance improvements

################################
Total frames rendered: 1542

Janky frames: 584 (37.87%)

90th percentile: 81ms

95th percentile: 93ms

99th percentile: 129ms

Number Missed Vsync: 268

Number High input latency: 61

Number Slow UI thread: 471

Number Slow bitmap uploads: 15

Number Slow issue draw commands: 511

Total ViewRootImpl: 1

Total Views:        434

Total DisplayList:  505.57 kB
####################################

Before Performance improvements

###############################
Total frames rendered: 5185

Janky frames: 3229 (62.28%)

90th percentile: 101ms

95th percentile: 109ms

99th percentile: 121ms

Number Missed Vsync: 2487

Number High input latency: 65

Number Slow UI thread: 2088

Number Slow bitmap uploads: 75

Number Slow issue draw commands: 2967

Total ViewRootImpl: 1

Total Views:        435

Total DisplayList:  506.74 kB
######################################
like image 381
Shanker Avatar asked Jul 21 '17 11:07

Shanker


2 Answers

"Total Frames" : Number of frames created to render . "Janky Frames" : Number of dropped frames. "Actual Frames rendered" : Total Frames - Janky Frames.

Even though increase in total Frames and decrease in Janky
Frames is good indicator of performance, thats not enough. Actual Number of frames rendered on screen in one second is the calculation which decides Performance health. More the number of frames rendered in one second means good performance.

like image 157
Shanker Avatar answered Sep 21 '22 04:09

Shanker


Before use "dumpsys gfxinfo", you would use "adb shell dumpsys gfxinfo reset" to reset the framemetrics data in the system. Then do some operation on the screens you improved. Then use "dumpsys gfxinfo" .

Total frames rendered: The number of frame rendered from "reset" to "dumpsys gfxinfo". Janky frames: is the number of the frames that takes long than 16 ms, not the number of dropped frames.

The Janky Frame Rate is a very good data you can compare when improving the performance. In your case, you reduced the janky frame rate, 62.28% to 37.87%, which is very good.

like image 28
hotpro Avatar answered Sep 20 '22 04:09

hotpro