[发明专利]一种图形绘制的方法、装置、电子设备及存储介质有效
| 申请号: | 201810129527.2 | 申请日: | 2018-02-08 |
| 公开(公告)号: | CN110134370B | 公开(公告)日: | 2023-09-12 |
| 发明(设计)人: | 王洪虎;高翔;朱琛;曹惠雄 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/34;G06T1/60 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 图形 绘制 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种图形绘制的方法和装置,应用于电子设备,所述电子设备包括用于屏幕显示图形的屏幕缓冲区,以及,显卡与CPU均能访问的共享缓冲区,所述方法包括:所述CPU在所述共享缓冲区中进行图形绘制;所述CPU从共享缓冲区中拷贝已绘制的图形,并提交至所述屏幕缓冲区;所述显卡读取所述屏幕缓冲区中的图形,在所述电子设备的屏幕上进行显示。应用本发明实施例可以减少图形拷贝过程,从而减少由于拷贝带来额外性能开销的问题,达到提高图形绘制性能的效果。
技术领域
本发明涉及数据处理技术领域,特别是涉及一种图形绘制的方法、一种图形绘制的装置、一种电子设备以及一种存储介质。
背景技术
Qt是一个跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI(Graphical User Interface,图形用户界面)程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(MOC,Meta Object Compiler))以及一些宏,易于扩展,允许组件编程等等。
Qt的绘制过程是:首先Qt在系统内存中分配一个缓冲区,再由CPU在缓冲区中绘制图形,然后CPU将图形拷贝到显存(显卡缓冲区),最后由显卡将显存中的图形提交到屏幕缓冲区,由显示控制器显示到屏幕上。从上述过程可知,绘制完成到显示到屏幕的过程中,还存在将数据拷贝到显存以及从显存提取数据的这些过程,这会增加额外的开销。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种图形绘制的方法、相应的一种图形绘制的装置、一种电子设备以及一种存储介质。
为了解决上述问题,本发明实施例公开了一种图形绘制的方法,应用于电子设备,所述电子设备包括用于屏幕显示图形的屏幕缓冲区,以及,显卡与CPU均能访问的共享缓冲区,所述方法包括:
所述CPU在所述共享缓冲区中进行图形绘制;
所述CPU从共享缓冲区中拷贝已绘制的图形,并提交至所述屏幕缓冲区;
所述显卡读取所述屏幕缓冲区中的图形,在所述电子设备的屏幕上进行显示。
可选地,所述电子设备具有内存,在所述CPU共享缓冲区中进行图形绘制的步骤之前,还包括:
所述CPU调用所述显卡所提供的共享显存分配函数;
所述CPU采用所述共享显存分配函数在所述内存中分配共享缓冲区;
所述CPU获取所述共享缓冲区相应的缓冲区地址,并将所述缓冲区地址提交至所述显卡。
可选地,所述CPU在所述共享缓冲区中进行图形绘制的步骤包括:
所述CPU读取缓冲区地址;
所述CPU在所述缓冲区地址对应共享缓冲区中进行图形绘制。
可选地,所述CPU从共享缓冲区中拷贝已绘制的图形,并发送至所述屏幕缓冲区的步骤包括:
所述CPU控制所述显卡读取所述共享缓冲区中已绘制的图形;
所述CPU控制所述显卡将所述已绘制的图形发送至所述屏幕缓冲区中。
本发明实施例还公开了一种图形绘制的装置,应用于电子设备,所述电子设备包括用于屏幕显示图形的屏幕缓冲区,以及,显卡与CPU均能访问的共享缓冲区,所述装置包括:
图形绘制模块,用于所述CPU在所述共享缓冲区中进行图形绘制;
图形拷贝模块,用于所述CPU从共享缓冲区中拷贝已绘制的图形,并提交至所述屏幕缓冲区;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810129527.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:随机数发生器、随机数发生方法及芯片
- 下一篇:一种跨平台应用软件开发架构系统





