android gpu呈现模式分析(文章写得娄,仅仅用于自己记忆)

在adnroid手机上开启这个功能?

打开“开发者选项”->“GPU呈现模式分析”->“在屏幕上显示为条形图”

$ adb shell dumpsys gfxinfo com.jv.falcon.pro

在产生的日志中,你会发现一个标题为: Profile data in ms. 这一节包含为每个窗口所属应用产生的3列表格。 为了使用这些数据, 简单的复制表格到你喜欢的电子表格软件中就会生成一个堆叠柱状图表。下面的图是我的测量结果 (原始表格数据 可以在线查看.)

android gpu呈现模式分析(文章写得娄,仅仅用于自己记忆)_第1张图片

每列给出渲染每帧大概需要多长时间:
  1. Draw是消耗在构建java显示列表的时间。 它显示出运行方法用的时间诸如View.onDraw(Canvas).
  2. Process是消耗在Android的2D渲染器执行显示列表的时间。你的视图层次越多,要执行的绘图命令就越多。
  3. Execute是消耗在排列每个发送过来的帧的顺序的时间.这部分的图通常是很小的。

注意:使顺利在60帧,每帧必须小于16毫秒完成。

关于Execute:如果执行耗费了过长的时间,这意味着你是跑在前面的图形管线。 android在运行时可以有3个缓冲区.如果你需要另一个应用程序将阻塞直到其中的一个缓冲区释放出来。两个原因会发生这种情况。第一,你的应用在Dalvik中快速绘制但在GPU显示列表时候消耗了大量时间。第二,你的应用程序花了很长的时间来执行第几帧;一旦管线满了他将无法赶上,除非动画完成。


你可能感兴趣的:(android)