[发明专利]一种合成内存管理方法及系统有效
申请号: | 201410836471.6 | 申请日: | 2014-12-23 |
公开(公告)号: | CN105786479B | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 季卫华 | 申请(专利权)人: | 联芯科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合成 内存 管理 方法 系统 | ||
本发明提供一种合成内存管理方法及系统,应用于Android平台,包括:在EGL中添加eglSwapBuffersVIV接口;在SurfaceFlinger中进行2D合成时,调用所述eglSwapBuffersVIV接口;在SurfaceFlinger中进行3D合成时,调用eglSwapBuffers接口。本发明在进行不同的合成时调用了不同的接口,避免了来回切换时候的图像错乱问题。
技术领域
本发明涉及通讯技术领域,特别涉及一种合成内存管理方法及系统。
背景技术
智能手机终端领域,需要根据窗口的位置、大小、层叠顺序,把多个窗口的内容合成为一幅图像,保存到帧缓冲区,送给LCD显示。这个合成工作通常是靠GPU(图像处理器)完成的,但是为了降低功耗,提高续航时间,会加入2D芯片。大多数时候不需要3D芯片合成,就可让GPU休息,改让2D芯片加速器完成合成工作。这样就涉及到2D和3D合成切换时对帧缓冲区的管理问题。
请参考图1,其是Android原生平台的合成序列图。如图1所示,SurfaceFlinger是整个Android显示系统的管理核心,控制各个窗口的叠加,调用GPU或2D加速器进行合成。EGL是OpenGL ES中与窗口操作相关的一套标准API。BufferQueue是缓存队列,为了画面流畅,通常含有三帧缓存。HWComposer是硬件合成器,其实就是对2D加速器的封装。framebuffer_device_t是帧缓冲区设备,负责把帧缓冲区送入LCD显示。
从图1的时序图可以看出,SurfaceFlinger在准备好要合成的各个窗口后,就调用EGL标准接口eglSwapBuffers。在这个接口中,首先调用BufferQueue的dequeueBuffer函数获得一片帧缓冲区,然后启动GPU把各个窗口的内容合成到这片帧缓冲区上,接着调用BufferQueue的queueBuffer函数。BufferQueue就会调用HWComposer的fbPost函数,把这片合成好的帧缓冲区交给HWComposer,作为2D加速器的目标缓冲区。最后,SurfaceFlinger调用HWComposer的commit函数,HWComposer就会调用framebuffer_device_t的接口fb_post,把目标缓冲区交给framebuffer_device_t送入LCD显示。
以上是针对3D合成的,而对于2D合成,SurfaceFlinger不会调用EGL标准接口eglSwapBuffers,而是直接调用HWComposer的commit函数。HWComposer会启动2D加速器进行合成,最后也会调用framebuffer_device_t的接口fb_post,把合成好的目标缓冲区交给framebuffer_device_t送入LCD显示。
但是,通过上述方法进行合成,存在以下缺陷:
1)当3D合成切换到2D合成后,帧缓冲区不再轮转。也就是说,2D加速器正在合成的目标缓冲区就是LCD正在显示的帧缓冲区,这会导致图像错乱。
2)如果让2D加速器独自管理帧缓冲区,实现帧缓冲区的轮转,是可以保证2D合成时目标缓冲区不是LCD正在显示的帧缓冲区。但是,当2D合成切换回3D合成时,GPU并不知道帧缓冲区发生了轮转,所以3D合成的目标缓冲区可能正是LCD正在显示的帧缓冲区。不过,这只发生在切换的过程中,当EGL轮转完一遍帧缓冲区后,就进入了正常状态。但是,短暂的花屏也会影响用户体验。
发明内容
本发明的目的在于提供一种合成内存管理方法及系统,以解决现有合成内存方法管理不善而带来的图像错乱的问题。
为解决上述技术问题,本发明提供一种合成内存管理方法,应用于Android平台,包括:
在EGL中添加一第一接口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联芯科技有限公司,未经联芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410836471.6/2.html,转载请声明来源钻瓜专利网。