c语言void dump啥意思,如何理解dumpsys SurfaceFlinger

好吧,我有足够的想通了,回答我的问题,但如果任何人有任何额外的输入,请让他们在注释。还有一些额外的东西我会在下面注明,但仍不清楚。

首先,下面的链接有助于解释关于图像渲染和合成是如何发生的通过SurfaceFlinger的几件事情: http://source.android.com/devices/graphics.html

如果您在链接注意到,有两种方法图像发送到显示器。一种是在将图像发送给显示器之前用GPU处理图像,另一种是使用显示器的硬件覆盖层绕过GPU并将图像直接发送到显示器。后一种方法表现更好,但限制在一定数量的图层/叠加层(通常为4)。如果你有更多的图层,必须由GPU来处理。

在我的问题中心的dumpsys SurfaceFlinger的一部分显示了在调用dumpsys的时候有多少图层,以及如果这些图层是由硬件编辑器(HWC)或GPU(GLES )。这解释了HWC和GLES的含义。此外,numHwLayers是显示器支持多少覆盖(通常为4)。

此外,还有“源作物”和“框架”坐标。源作物是将要显示的图像的一部分。例如,如果它是跨越多个显示屏幕的壁纸(想想当你在屏幕上滑动时在主屏幕上看到的内容),那么在给定时刻,您只需要显示该较大壁纸图像的一小部分。这意味着源作物只是告诉你目前你正在使用的整个图像的哪一部分。它的框架部分是源图像的那一部分将实际显示在屏幕上的位置。

为dumpsys SurfaceFlinger的命令的这部分代码位于: \ \框架本地\ SERVICES \ SurfaceFlinger的\ DisplayHardware \ HWComposer.cpp

它在调用的函数 “HWComposer ::倾销”

上面的答案我的原始问题,但下面是我注意到的一些额外的东西:

它看起来有比HWC和GLES更多的组成类型。在上面提到的代码中,我看到了“背景”和“FB目标”复合类型。当您在adb中输入“dumpsys SurfaceFlinger”时,FB TARGET似乎总是存在。我认为FB Target只是完整图像将被写入的帧缓冲区(有人请确认这一点)。即使设备在睡觉,你也会看到这个FB目标。我不明白的是,这是什么背景类型?我甚至无法猜测那一个。如果你知道这是什么,请留下评论。

谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值