CN108255551B - 一种gui内存优化方法及*** - Google Patents
一种gui内存优化方法及*** Download PDFInfo
- Publication number
- CN108255551B CN108255551B CN201711384724.0A CN201711384724A CN108255551B CN 108255551 B CN108255551 B CN 108255551B CN 201711384724 A CN201711384724 A CN 201711384724A CN 108255551 B CN108255551 B CN 108255551B
- Authority
- CN
- China
- Prior art keywords
- buffer
- picture
- module
- divided
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种GUI内存优化方法,其包括以下步骤:***控制第一Buffer进行前台显示,第二Buffer进行后台更新;***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;所述第一Buffer实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。采用该方案可以实现在有限的内存容量下,既不牺牲设备功能,也不降低图形用户界面质量,提高了用户体验,广泛应用于图形用户界面领域。
Description
技术领域
本发明涉及图形用户界面领域,具体为GUI内存优化方法及***。
背景技术
目前各种嵌入式设备进入到日常生活中。为提高用户体验,图形用户界面越来越复杂和绚丽,但这造成图形用户界面使用的内存急剧增大,然而大部分嵌入式设备内存容量都有限,图形用户界面是内存使用大户,有时在内存紧张的情况下为了保证用户体验,不得不牺牲一些功能,或者保证功能的情况下,牺牲图形用户界面质量,降低用户体验。
综上,该技术有必要进行改进。
发明内容
为了解决上述技术问题,本发明的目的是提供一种GUI内存优化方法及***。
本发明所采用的技术方案是:
本发明提供一种GUI内存优化方法,其包括以下步骤:
***控制第一Buffer进行前台显示,第二Buffer进行后台更新;
***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
所述第一Buffer实时接收所述各分割画面,并显示至屏幕;
待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
作为该技术方案的改进,所述第二Buffer的第二缓冲模块用于满足用户的其他应用需求。
作为该技术方案的改进,所述将所述待绘制界面元素进行画面分割,其中所述画面的分割大小满足不大于所述第一缓冲模块的大小。
作为该技术方案的改进,所述画面分割包括画面上下分割和/或画面左右分割。
进一步地,所述画面分割为4份。
另一方面,本发明还提供一种GUI内存优化***,其包括:
内存分割模块,用于执行步骤***控制第一Buffer进行前台显示,第二Buffer进行后台更新;***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
画面分割模块,用于执行步骤***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
画面显示模块,用于执行步骤***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
画面合成模块,用于执行步骤所述第一Buffer实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
本发明的有益效果是:本发明提供的GUI内存优化方法及***,通过利用双Buffer进行控制,针对后台显示Buffer进行内存分割,只用一部分容量进行画面缓冲,且当画面大小大于该缓冲模块大小时,将画面进行分割,分次进行画面传输,并最终进行画面合成,而该Buffer的其余内存供用户进行其他应用。采用该方案可以实现在有限的内存容量下,既不牺牲设备功能,也不降低图形用户界面质量,提高了用户体验。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明第一实施例的示意图;
图2是本发明第二实施例的示意图;
图3是本发明第三实施例的示意图;
图4是本发明第四实施例的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明提供一种GUI内存优化方法,其包括以下步骤:
***控制第一Buffer进行前台显示,第二Buffer进行后台更新;
***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
所述第一Buffer实时接收所述各分割画面,并显示至屏幕;
待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
作为该技术方案的改进,所述第二Buffer的第二缓冲模块用于满足用户的其他应用需求。
作为该技术方案的改进,所述将所述待绘制界面元素进行画面分割,其中所述画面的分割大小满足不大于所述第一缓冲模块的大小。
作为该技术方案的改进,所述画面分割包括画面上下分割和/或画面左右分割。
目前流行的双Buffer的GUI设计技术,一个Buffer在前台显示,另一个Buffer可同时在后台更新,两个Buffer交替显示,使用双Buffer是为了提高GUI流畅度,防止图形更新时带来闪烁。以一个720P分辨率的32位色GUI为例,其使用内存为:1280x 720x 4x2=7372800Bytes,约7Mbytes。
其首先绘制界面元素到后台Buffer,然后更新后台Buffer到屏幕。
参照图1至图3,其为本方案一实施例的优化后的结构。作为一实施例,调整后台Buffer的容量到原来容量的1/5或更小等等均可,使其变成一个临时绘制Buffer,剩下的4/5容量即为节约下来的内存,同样以一个720P分辨率的32位色GUI为例,本方案使用内存为:1280x 720x 4x 1.2=4423680Bytes,约4.2MBytes,较现有方案节约内存2.8MBytes。
本方案将绘制界面元素分割为三部分,首先绘制界面元素的第一部分,然后绘制界面元素的第二部分,最后绘制界面元素的第三部分。
本方案通过利用双Buffer进行图像界面显示,其中***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块(临时Buffer)和第二缓冲模块,其中第一缓冲模块(临时Buffer)用于进行画面显示,第二缓冲模块用于满足用户的其他应用需求。
***发送待绘制界面元素至所述第二Buffer,第二Buffer将所述待绘制界面元素进行画面分割;其中所述画面的分割大小满足不大于所述第一缓冲模块的大小,其可以小于或者与其大小相同等均可,将画面按照上下分割,然后***控制第二Buffer的第一缓冲模块(临时Buffer)依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;所述第一Buffer将各分割画面实时显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。本方案进行的时间较为迅速,不影响画面显示。
本方案的整体思路是以时间换空间的方法减少内存占用,如果单个GUI元素大小超过临时Buffer大小,它将被分割成多次贴图,然后在显示Buffer中合成为一个完整元素。现在的嵌入式***一般都带2D绘图引擎,使用Blit进行拷贝,用户基本感觉不到画面闪烁。对于比临时Buffer小的元素,可以一次拷贝完成,不受影响,所以该方案对用户体验影响比较小。
参照图4,本发明还提供一种GUI内存优化***,其包括:
内存分割模块,用于执行步骤***控制第一Buffer进行前台显示,第二Buffer进行后台更新;***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
画面分割模块,用于执行步骤***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
画面显示模块,用于执行步骤***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
画面合成模块,用于执行步骤所述第一Buffer实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
本发明提供的GUI内存优化方法及***,通过利用双Buffer进行控制,采用其中一个进行内存分割,只用一部分进行画面缓冲,且当画面大小大于该缓冲模块大小时,将画面进行分割,分次进行画面传输,并最终进行画面合成,而该Buffer的其余内存供用户进行其他应用。采用该方案可以实现在有限的内存容量下,既不牺牲设备功能,也不降低图形用户界面质量,提高了用户体验。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (6)
1.一种GUI内存优化方法,其特征在于,其包括以下步骤:
***控制第一Buffer进行前台显示,第二Buffer进行后台更新;
***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
所述第一Buffer实时接收所述各分割画面,并显示至屏幕;
待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
2.根据权利要求1所述的GUI内存优化方法,其特征在于:所述第二Buffer的第二缓冲模块用于满足用户的其他应用需求。
3.根据权利要求1所述的GUI内存优化方法,其特征在于:所述将所述待绘制界面元素进行画面分割,其中所述画面的分割大小满足不大于所述第一缓冲模块的大小。
4.根据权利要求3所述的GUI内存优化方法,其特征在于:所述画面分割包括画面上下分割和/或画面左右分割。
5.根据权利要求1所述的GUI内存优化方法,其特征在于:所述画面分割为4份。
6.一种GUI内存优化***,其特征在于,其包括:
内存分割模块,用于执行步骤***控制第一Buffer进行前台显示,第二Buffer进行后台更新;***控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;
画面分割模块,用于执行步骤***发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;
画面显示模块,用于执行步骤***控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;
画面合成模块,用于执行步骤所述第一Buffer实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711384724.0A CN108255551B (zh) | 2017-12-20 | 2017-12-20 | 一种gui内存优化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711384724.0A CN108255551B (zh) | 2017-12-20 | 2017-12-20 | 一种gui内存优化方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255551A CN108255551A (zh) | 2018-07-06 |
CN108255551B true CN108255551B (zh) | 2021-05-28 |
Family
ID=62723351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711384724.0A Active CN108255551B (zh) | 2017-12-20 | 2017-12-20 | 一种gui内存优化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255551B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308531A (zh) * | 2004-03-17 | 2008-11-19 | 株式会社日立制作所 | 存储管理方法以及存储管理*** |
CN102012924A (zh) * | 2010-11-29 | 2011-04-13 | 深圳市融创天下科技发展有限公司 | 一种地图显示的方法、***和移动终端 |
CN103605497A (zh) * | 2013-11-29 | 2014-02-26 | 柳州职业技术学院 | 一种二值图像连通域标记快速识别方法 |
CN104267918A (zh) * | 2014-09-17 | 2015-01-07 | 深圳市九洲电器有限公司 | 一种图片显示方法及*** |
CN106502613A (zh) * | 2016-10-25 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种加载图片的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007086432A (ja) * | 2005-09-22 | 2007-04-05 | Sony Corp | 表示制御装置、および表示制御方法 |
CN101227680A (zh) * | 2008-02-01 | 2008-07-23 | 嘉兴闻泰通讯科技有限公司 | 一种界面动态切换的手机及手机界面动态切换的方法 |
-
2017
- 2017-12-20 CN CN201711384724.0A patent/CN108255551B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308531A (zh) * | 2004-03-17 | 2008-11-19 | 株式会社日立制作所 | 存储管理方法以及存储管理*** |
CN102012924A (zh) * | 2010-11-29 | 2011-04-13 | 深圳市融创天下科技发展有限公司 | 一种地图显示的方法、***和移动终端 |
CN103605497A (zh) * | 2013-11-29 | 2014-02-26 | 柳州职业技术学院 | 一种二值图像连通域标记快速识别方法 |
CN104267918A (zh) * | 2014-09-17 | 2015-01-07 | 深圳市九洲电器有限公司 | 一种图片显示方法及*** |
CN106502613A (zh) * | 2016-10-25 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种加载图片的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108255551A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10403237B2 (en) | Processing method and device for multi-screen splicing display | |
US9786255B2 (en) | Dynamic frame repetition in a variable refresh rate system | |
US10978027B2 (en) | Electronic display partial image frame update systems and methods | |
US9041773B2 (en) | Conversion of 2-dimensional image data into 3-dimensional image data | |
CN108156533B (zh) | 智能电视背光调节方法、智能电视以及存储介质 | |
KR20130138143A (ko) | 디스플레이 미러링을 위한 시스템 및 방법 | |
CN113299245B (zh) | 显示设备局部背光调节方法、装置、显示设备及存储介质 | |
US6844879B2 (en) | Drawing apparatus | |
US8511829B2 (en) | Image processing apparatus, projection display apparatus, video display system, image processing method, and computer readable storage medium | |
US20080074432A1 (en) | Method for acquiring a computer screen image | |
CN105872419A (zh) | 一种显示方法、装置及液晶电视 | |
US20160252730A1 (en) | Image generating system, image generating method, and information storage medium | |
CN109643462B (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
CN106528030B (zh) | 一种拼接墙显示方法、装置及*** | |
WO2022146023A1 (en) | System and method for synthetic depth-of-field effect rendering for videos | |
CN104811785A (zh) | 智能终端的显示图形用户界面的控制方法及装置 | |
CN109389558A (zh) | 一种消除图像边缘锯齿的方法及装置 | |
JP2012085166A (ja) | 映像信号処理装置及び映像信号処理方法、並びにコンピューター・プログラム | |
US10068549B2 (en) | Cursor handling in a variable refresh rate environment | |
CN114570020A (zh) | 数据处理方法以及*** | |
CN108255551B (zh) | 一种gui内存优化方法及*** | |
CN108184054A (zh) | 一种用于智能终端拍摄图像的预处理方法及预处理装置 | |
CN113434060A (zh) | 光标显示方法、装置、电子设备和存储介质 | |
CN113495665A (zh) | 图像显示方法、装置、电子设备及计算机可读存储介质 | |
WO2024041246A1 (zh) | 基于中心凹原则的图像处理***、方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |