首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于Linux嵌入式系统的多窗口实现方法、装置及介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:珠海全志科技股份有限公司

摘要:本发明涉及一种基于Linux嵌入式系统的多窗口实现方法、装置及介质的技术方案,包括:重构,对Linux嵌入式系统的显示标准结构体进行重构;初始化,加载重构的OpenGL程序函数库,并执行初始化;多窗口实现,通过所述重构的OpenGL程序函数库中的多个函数,执行多窗口的窗口创建、帧缓存对象的创建、帧缓存对象的交换、窗口显示及窗口显示位置调整;同步线程处理,通过Vsync处理线程执行送显线程同步处理,以及,通过送显线程执行渲染线程的同步信号管理及帧缓存对象的管理。本发明的有益效果为:在不改变GPU厂商提供的OpenGLES库和OpenGLES应用的基础上,设计一套实现多窗口多进程多线程渲染的方法,提升了fbdev下的OpenGLES的渲染体验和灵活性。

主权项:1.一种基于Linux嵌入式系统的多窗口实现方法,其特征在于,该方法包括:重构,对Linux嵌入式系统的显示标准结构体进行重构,经过重构的标准结构体用于对EGL接口变量、线程变量及GPU线程管理变量进行描述;初始化,加载重构的OpenGL程序函数库和对外API函数库,并执行初始化;多窗口实现,通过所述重构的OpenGL程序函数库中的多个函数,执行多窗口的窗口创建、帧缓存对象的创建、帧缓存对象的交换、窗口显示及窗口显示位置调整;同步线程处理,通过Vsync处理线程执行送显线程同步处理,以及,通过送显线程执行渲染线程的同步信号管理及帧缓存对象的管理;所述重构包括:对OpenGLESEGL的API函数进行重构,其中所述EGL接口变量包括离屏缓冲区变量及显示资源变量,离屏缓冲区变量及显示资源变量分别用于表示外部EGLSurface及EGLDisplay的数据类型,所述线程变量用于表示每个线程拥有的变量,所述GPU线程管理变量用于表示原生GPU厂商的OpenGLESEGL原生变量;所述初始化包括:启动渲染程序执行数据加载,包括对原生OpenGLESEGL的库装载,并通过所述重构对标准OpenGLESEGLAPI函数进行函数重构;启动Vsync处理线程,对窗口的生产者与消费者进行同步;所述多窗口实现包括:所述窗口创建通过eglCreateWindowSurface函数创建离屏渲染对象,初始化所述离屏缓冲区变量及初始化消费者硬件层,以及,在同一进程或多个进程创建至少一个窗口,且多个窗口之间不互相影响;所述帧缓存对象的创建通过eglMakeCurrent函数申请与帧缓存对象数量的缓存,并创建对应数量的帧缓存对象,对对应的所述离屏缓冲区变量进行初始化,并创建线程变量用于保存必要的线程变量数据;所述帧缓存对象的交换通过eglSwapBuffers交换所述离屏缓冲区变量中的帧缓存对象,将渲染操作绘制到帧缓存对象中,并创建sync信号,提交到送显线程,获取并绑定新的帧缓存对象;所述窗口显示通过glBindFramebuffer函数对应用程序绑定帧缓存对象依次执行获取线程前后文变量、获取离屏缓冲窗口、获取写入函数的帧缓存对象、执行绑定;所述窗口显示位置调整通过eglSetSurfaceExt函数将不同的窗口放置到消费者的不同通道和层中;所述多窗口实现还包括:通过eglGetDisplay指定窗口显示于对应的屏幕,若屏幕为第一次获取,将会创建对应屏幕的送显线程。

全文数据:

权利要求:

百度查询: 珠海全志科技股份有限公司 基于Linux嵌入式系统的多窗口实现方法、装置及介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。