什么"显示透支计数器"真的意思是为什么Admob如此增加它?

时间:2014-04-28 08:46:15

标签: android admob gpu-overdraw

背景

在Android上,有一种方法可以找到GPU过度绘制,以衡量您的应用在GPU上的效果。

从Kitkat开始,有新的方法:

enter image description here

“显示透支区域”显示每幅图画的糟糕程度(从无,蓝色,绿色,黄色到红色)。

第二个(“显示Deutoranomaly的区域”)是相同的,但对于有色盲的人。

问题

我找不到关于最后一个“show overdraw counter”的任何文档。

我已经尝试启用它,并且对于屏幕上的某些地方,我看到一个计数器在某些情况下会更改其数量。与其他选择相比,它也会使设备放慢速度。

另外,我在my own app上运行了它,即使listView表现得非常好,因为Admob它显示了一个非常高的红色值(大约5-6)。我不知道为什么会这样,因为它只是一个listView和一个在linearLayout中的adView ......

问题

这个计数器是什么意思?

为什么Admob会如此增加?这是件坏事吗?我该怎么办呢?

删除Admob会将值减少到合适的值(大约1-2,取决于所使用的主题),或者至少是我所假设的。


编辑:我在this video找到了一个很好的解释。他们说有类似的东西:

  

对于每个窗口都有一个计数器,告诉你多少次   你已经绘制了屏幕和颜色,告诉你你是否已经完成它   好(绿色=好,红色=坏)。这个数字有一个“。”因为它是   平均数。

但我仍然不明白为什么Admob Adview让它变得如此糟糕


编辑:我在Admob Google网上论坛(here)上得到了答案,说我应该在Adview上停用GPU,以避免额外的透支:

  

我明白了。所以问题似乎与硬件加速有关 - 如果你   关闭AdView上的硬件加速,这不会发生:

     

adView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);

它有效,但我不明白这怎么可能是件好事。我的意思是,现在CPU负责视图,对吧?

0 个答案:

没有答案