连云港建设部网站深圳企业网站制作公司
本发明涉及一种基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,属于计算机领域。
背景技术:
MiniGUI(嵌入式图形界面支持系统)可以作为Linux系统的组件为相关产品提供简单的交互界面,但不支持GPU(图形处理器)加速,因此,通常使用MiniGUI进行交互的产品无法使用GPU绘制显示。当前,随着计算机视觉的快速发展,GPU越来越多的被应用在多种产品上,为了提供一种轻量级的交互界面(降低产品成本)又能使用GPU的绘制功能(增加产品功能),需要将MiniGUI和GPU在Linux系统上进行密切配合,最终达到MiniGUI绘制的内容和GPU绘制的内容同时显示的效果。
技术实现要素:
针对现有技术的不足,本发明的技术方案提供了种基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,用于实现在使用MiniGUI的方案中支持GPU绘制,并将MiniGUI绘制的内容和GPU绘制的内容同时显示。
本发明的技术方案包括一种基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,其特征在于,该方法包括:A.调用MiniGUI绘制接口将需要绘制的目标内容绘制到对应帧缓存1的缓存区域1;B.使用GPU将需要绘制的目标内容绘制到对应帧缓存2的缓存区域2;C.当GPU绘制完成后,对第一缓存区域及第二缓存区域的图像数据进行图像混合操作,将混合操作生成的最终图像数据存放于显示缓存;D.使用显示装置的显示引擎对最终图像数据进行接收并显示。
根据所述的基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,所述的步骤A还包括:其中第一缓存区域为与显示装置分辨率一致的一个缓存区。
根据所述的基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,所述的步骤B还包括:其中第而(二)缓存区域为与显示装置分辨率一致的两个缓存区。
根据所述的基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法,所述的步骤C还包括:其中混合操作可以通过显示装置的硬件图层完成,还可以通过自定义设置一混合处理模块用于执行混合处理。
本发明的有益效果为:在MiniGUI做交互界面的同时可以用GPU做复杂的图像绘制并同时显示。
附图说明
图1所示为根据本发明实施方式的总体流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的一种基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法适用于为交互界面的产品,比如通讯、医疗、工控、电子、机顶盒、车载、多媒体等领域的产品。
图1所示为根据本发明实施方式的总体流程图。其具体如下所示:
(1)MiniGUI的绘制接口将需要绘制的内容绘制到fb0(第一帧缓存区域),对应到连续buffer0,buffer0(第一缓存区)是一块与显示屏幕分辨率大小相同的buffer。
(2)GPU将绘制内容绘制到fb1(第二帧缓存区域),对应到连续buffer1(第二缓存区),buffer1由两块与显示屏幕分辨率大小相同的buffer组成。
(3)当GPU绘制完成需要显示的时候,会通过alpha blending(混合操作)将buffer0和buffer1进行混合操作,混合的结果存放在display buffer(显示缓存)中,用于送给LCD显示。
(4)alpha blending可以通过软件实现,也可以通过硬件模块完成,一般使用显示模块的硬件图层alpha blending完成,以保证blending的效率。
MiniGUI:嵌入式图形界面支持系统。
GPU:Graphics Processing Unit, 图形处理器。
Buffer:内存缓存。
Fb:Framebuffer:帧缓存,用来缓存显示的数据。Linux系统上的设备驱动。
Alpha blending:alpha混合操作,一种图像处理技术。
本发明的技术方案还可以将MiniGUI替换为GPU,由GPU完全接管图像绘制。
本发明的技术方案还可以将MiniGUI的绘制由GPU实现,由GPU完全接管图像绘制。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。