surfaceflinger

    -1热度

    1回答

    我正在调试内存损坏问题,我想检查SF是否访问无效内存或不,但我不知道如何使用命令行启动SF。请帮忙。

    1热度

    1回答

    我能够运行systrace,但我无法看到SurfaceFlinger的痕迹。 GPU,bufferQueues等 我给下面的命令: systrace.py --time = 10 -o mynewtrace.html SCHED GFX视图WM HAL视频workq 及其只给输出为CPU0,工作队列, irqs,kworker等 任何特定的示踪剂,我们必须在编译内核时启用?我错过了什么吗? 谢谢!

    0热度

    1回答

    我想在特定的android智能手机屏幕的一部分放置硬件键盘(就像Galaxy S7边缘键盘盖)。所以我需要android系统总是只使用未被键盘占用的屏幕部分,即使在全屏视频回放等等。但是一个服务需要能够处理由该屏幕占用的区域的触摸事件键盘。这不需要在启动时工作。 解决方案可能使用股票android(具有root访问权限)或修改后的LineageOS。 我倾向于认为没有股票android的解决方案。

    2热度

    1回答

    我试图确定(在1毫秒内)何时在Android上发生特定的屏幕翻转。每当画面翻转时,编舞者都会触发,但无法确定实际显示的画面。根据https://source.android.com/devices/graphics/architecture.html,在这个过程中有几个层次:用户登陆缓冲区,它翻转到三重缓冲队列,翻转到表面抛掷,然后翻转到硬件。这些层中的每一层都可能会丢弃一帧,但此时我只确定如何监

    0热度

    1回答

    我一直在阅读这个URL来理解表面抛掷物。 https://source.android.com/devices/graphics/arch-sf-hwc 其中,下面的框,我无法理解。如果有人用一个例子来解释,那将会很棒。 当屏幕上没有任何东西 发生变化时,覆盖层可能不如GL组合效率高。当覆盖 内容具有透明像素且重叠图层混合在一起时,这尤其如此。在这种情况下,HWC可以选择为某些或所有图层请求GLE

    5热度

    1回答

    我正在调查我的Android应用程序中的帧丢失。它们不规则,平均每秒发生一次。我已经将渲染器与一个非常简单的着色器配对,我相信帧渲染时间很短。 当我运行systrace时,我可以看到看起来像丢失的帧,但原因似乎是HW_VSYNC_0信号偶尔无法翻转(即半个周期内停留在0或1处)。我的理解(从this answer)是这个时钟来自显示硬件,因此应该是常规的。 无论VSYNC-sf信号如何,尽管偶尔也

    8热度

    2回答

    我的应用每帧更改一些非常简单的视图(旋转,平移)的属性。根据Android性能文章的建议,我使用systrace来检查是否丢帧。 真的出乎意料的事情出现了。当设备静止不动时(即使我触摸屏幕),CPU使用率更高,systrace上的警报出现,GPU渲染分析器的红色部分更长。当我旋转或震动设备时,一切都很顺利。 以下是结果的链接。 Shake是当我旋转设备真的很快,no_shake是当它坐在我的桌子上

    0热度

    1回答

    我想了解Android渲染代码更好一点。所以我在Layer :: drawWithOpenGL()函数中添加了一些日志,它是SurfaceFlinger的一部分。但它似乎永远不会被调用。有人可以阐明为什么会出现这种情况吗? 谢谢。

    0热度

    1回答

    我已阅读DispSync等的源代码,但它太复杂了。 我所学到的是“FrameCallback”由APP_VSYNC事件触发,它可能与HW_VSYNC有时间偏移。那么,我怎么知道HW_VSYNC的准确时间呢? 如果FrameCallback的时间参数告诉APP_VSYNC时间,我可以在哪里获得HW_VSYNC和APP_VSYNC之间的偏移值,以便计算硬件vsync时间?

    0热度

    1回答

    我已经在Android 4.2.2上移植了远程帧缓冲区接收C代码,它以RGB565格式从主机接收帧缓冲区。能够根据标准android示例框架/ native/services/surfaceflinger/tests/resize/resize.cpp呈现接收到的帧缓冲区。以下是使用的代码片段 sp<Surface> surface = client->createSurface(String8(