240 发简信
IP属地:台北
  • 120
    应用与系统稳定性第三篇---FD泄露问题漫谈

    在正式解释什么是fd泄露的时候,先看看三份log,是否有眼熟而不知所措感觉?结合公司同事的深入研究,总结了多种实际案例,才有了这篇文章,以后FD泄露问题在也不慌了。 log ...

  • 120
    Android P 图形显示系统(十一) BufferQueue(二)

    BufferQueue 我们再来看一下我们的应用代码,下面是绘制Buffer的代码。我们这里只绘制了一次,但是在Andoroid的系统中,界面的不断更新的,也就是说,这里的绘...

  • 感谢楼主大大。能否也可以以一个app的一个window启动与显示为例,打通整个显示过程呢。

    Android P 图形显示系统(五) 上层Client和SurfaceFlinger的交互

    [TOC] 上层Client和SurfaceFlinger的交互 为了很好的切入主题,我们这里基于Native的Framework进行应用的开发呢,不是指的NDK应用。我们直...

  • 感谢月风大佬。
    能否写一篇文章,从应用显示一个window出发,从java到native到hal再回来,统一的讲一遍呢。比如下面我自己打印的dequeuebuffer的栈,原本以为是从app这边native发起的,结果确实从RenderThread接到的message,并且从libhwui.so--libEGL.so--libGLES_mali.so--libgui.so,这又是为什么呢。
    01-01 00:03:04.798 3917 3981 D Surface : Surface::dequeueBuffer fenceFd -1
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #00 pc 000592c1 /system/lib/libgui.so (android::Surface::dequeueBuffer(ANativeWindowBuffer**, int*)+96)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #01 pc 0000f59c /vendor/lib/egl/libGLES_mali.so (__egl_platform_dequeue_buffer+304)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #02 pc 000694b4 /vendor/lib/egl/libGLES_mali.so (_egl_query_surface+692)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #03 pc 00065068 /vendor/lib/egl/libGLES_mali.so (eglQuerySurface+88)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #04 pc 0000cc8d /system/lib/libEGL.so (eglQuerySurface+156)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #05 pc 003762d7 /system/lib/libhwui.so (android::uirenderer::renderthread::EglManager::beginFrame(void*)+46)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #06 pc 00371e89 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::getFrame()+8)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #07 pc 0009a77f /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+62)
    01-01 00:03:04.960 3917 3981 D Surface::dequeueBuffer: #08 pc 003758eb /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+942)

    Android P 图形显示系统(十二) BufferQueue(三)

    Buffer状态 对于生产者这边,BufferQueue的流程基本讲完了。简单说来,首先提需求,告诉BufferQueue需要什么样的Buffer,大小,格式,usage等等...

  • Android P 图形显示系统(十二) BufferQueue(三)

    Buffer状态 对于生产者这边,BufferQueue的流程基本讲完了。简单说来,首先提需求,告诉BufferQueue需要什么样的Buffer,大小,格式,usage等等...

  • 120
    Android P 图形显示系统(十) BufferQueue(一)

    [TOC] BufferQueue 前面结合应用中WindowSurfaceWrapper的,讲解了应用怎么和SurfaceFlinger建立连接,进行交互的。 Buffer...

  • 赞,感谢楼主的付出,对P版本code的分析更是救急了。

    Android P 图形显示系统(十) BufferQueue(一)

    [TOC] BufferQueue 前面结合应用中WindowSurfaceWrapper的,讲解了应用怎么和SurfaceFlinger建立连接,进行交互的。 Buffer...

  • 120
    Android P 图像显示系统(二)GraphicBuffer和Gralloc分析

    [TOC] GraphicBuffer和Gralloc分析 BufferQueue中的Buffer对象,我们用的都是GraphicBuffer,那么GraphicBuffer...