CN108255551B - 一种gui内存优化方法及系统 - Google Patents

一种gui内存优化方法及系统 Download PDF

Info

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
Application number
CN201711384724.0A
Other languages
English (en)
Other versions
CN108255551A (zh
Inventor
谭晓波
曹莉华
高晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Newglee Technology Co ltd
Original Assignee
Newglee Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Newglee Technology Co ltd filed Critical Newglee Technology Co ltd
Priority to CN201711384724.0A priority Critical patent/CN108255551B/zh
Publication of CN108255551A publication Critical patent/CN108255551A/zh
Application granted granted Critical
Publication of CN108255551B publication Critical patent/CN108255551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种GUI内存优化方法,其包括以下步骤:系统控制第一Buffer进行前台显示,第二Buffer进行后台更新;系统控制所述第二Buffer进行内存分割,将其分为第一缓冲模块和第二缓冲模块;系统发送待绘制界面元素至所述第二Buffer,所述第二Buffer将所述待绘制界面元素进行画面分割;系统控制所述第二Buffer的第一缓冲模块依次进行分割后的画面显示,并依次将所述各画面发送至所述第一Buffer;所述第一Buffer实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。采用该方案可以实现在有限的内存容量下,既不牺牲设备功能,也不降低图形用户界面质量,提高了用户体验,广泛应用于图形用户界面领域。

Description

一种GUI内存优化方法及系统
技术领域
本发明涉及图形用户界面领域,具体为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实时接收所述各分割画面,并显示至屏幕;待所述绘制界面的各分隔画面传输结束后,所述屏幕进行画面合成并显示。
CN201711384724.0A 2017-12-20 2017-12-20 一种gui内存优化方法及系统 Active CN108255551B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 嘉兴闻泰通讯科技有限公司 一种界面动态切换的手机及手机界面动态切换的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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) 智能电视背光调节方法、智能电视以及存储介质
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) 一种显示方法、装置及液晶电视
CN106528030B (zh) 一种拼接墙显示方法、装置及系统
US20160252730A1 (en) Image generating system, image generating method, and information storage medium
CN105741819A (zh) 一种图层处理方法及装置
CN104811785A (zh) 智能终端的显示图形用户界面的控制方法及装置
JP2012085166A (ja) 映像信号処理装置及び映像信号処理方法、並びにコンピューター・プログラム
CN109643462B (zh) 基于渲染引擎的实时图像处理方法以及显示设备
CN109389558A (zh) 一种消除图像边缘锯齿的方法及装置
CN114570020A (zh) 数据处理方法以及系统
CN108255551B (zh) 一种gui内存优化方法及系统
US10068549B2 (en) Cursor handling in a variable refresh rate environment
CN108184054A (zh) 一种用于智能终端拍摄图像的预处理方法及预处理装置
WO2024041246A1 (zh) 基于中心凹原则的图像处理系统、方法及存储介质
JP2000050315A (ja) 立体画像の階調表示制御方法および装置
KR101607431B1 (ko) 동작인식을 이용한 실시간 영상처리 장치 및 방법
WO2023043098A1 (en) Apparatus and method for scene reconstruction with plane and surface reconstruction

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