CN105528217A - 一种基于显示列表的局部刷新方法及装置 - Google Patents
一种基于显示列表的局部刷新方法及装置 Download PDFInfo
- Publication number
- CN105528217A CN105528217A CN201510983331.6A CN201510983331A CN105528217A CN 105528217 A CN105528217 A CN 105528217A CN 201510983331 A CN201510983331 A CN 201510983331A CN 105528217 A CN105528217 A CN 105528217A
- Authority
- CN
- China
- Prior art keywords
- district
- display object
- screen
- redraw
- redraws
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于显示列表的局部刷新方法及装置,涉及一种屏幕刷新技术,所述方法包括:根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区;检测屏幕上的每个显示对象是否发生变化;当检测到显示对象发生变化时,根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区;将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区。本发明通过对屏幕进行局部刷新,能够显著提高设备的计算性能,降低设备的耗电量。
Description
技术领域
本发明涉及屏幕刷新技术,特别涉及一种基于显示列表的局部刷新方法及装置。
背景技术
无论在应用软件还是游戏程序中,屏幕呈现一直是至关重要的一个环节,它允许计算机呈现图像给用户,以此作为交互操作的基础。与视频播放过程不同,视频播放通常只是一系列静态图片的顺序轮播,而软件或游戏中呈现的图像界面,通常是由计算机根据大量显示元素排列组合实时生成的。通常情况下,管理大量显示元素,并按正确顺序和位置显示这些显示元素,会消耗计算机大量的性能。
目前,大量编程语言都提供了各种管理显示元素的方法,其中AdobeFlashPlayer中的ActionScript3.0语言,提出了一种叫做“显示列表”的数据结构用于管理显示元素,基于显示列表的树状结构来操作显示元素,非常符合自然使用习惯,能够高效地组织大量显示元素。开发人员只需要编程让显示元素按照显示列表方式组织起来,AdobeFlashPlayer就能将其表示的界面呈现出来。开发者不停修改显示列表的元素位置或层次,屏幕呈现结果也会立即随之刷新。
以近年兴起的HTML5游戏和应用领域为例,HTML5游戏或应用框架都采用了AdobeFlashPlayer里的这种显示列表的屏幕呈现方式,并且都只是简单使用了“全屏刷新”的显示列表呈现方式。“全屏刷新”的显示列表呈现方式是按照每秒固定频率(例如60次)去清空整个屏幕,重新读取整个显示列表,按顺序将每个显示元素绘制到屏幕上。
通常情况下,整个显示列表中只有部分显示元素会发生改变,每次都刷新整个屏幕,会带来不必要的开销,直接导致游戏或应用的画面不流畅,同时也增加了设备耗电量。
发明内容
本发明的目的在于提供一种基于显示列表的局部刷新方法及装置,能更好地解决“全屏刷新”方式性能开销大的问题。
根据本发明的一个方面,提供了一种基于显示列表的局部刷新方法,包括:
根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区;
检测屏幕上的每个显示对象是否发生变化;
当检测到显示对象发生变化时,根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区;
将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区。
优选地,每个显示对象的属性包括自身变换信息和自身形状信息。
优选地,所述根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区的步骤包括:
根据每个显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到每个显示对象对应于屏幕的屏幕变换信息;
根据所述每个显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定所述每个显示对象在屏幕上的屏幕矩形。
优选地,所述根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区的步骤包括:
根据所述已发生变化的显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到所述已发生变化的显示对象对应于屏幕的屏幕变换信息;
根据所述已发生变化的显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定所述已发生变化的显示对象在屏幕上的屏幕矩形。
优选地,在将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区的步骤之后,还包括:
利用每个显示对象的属性,分别查找其屏幕矩形与所述第一重绘区和/或所述第二重绘区相交的显示对象,并重新绘制所找到的显示对象。
优选地,还包括:
在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积小于合并前两个重绘区的面积之和,则将所述两个重绘区合并,形成合并重绘区;
对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
优选地,还包括:
若在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积不小于合并前两个重绘区的面积之和,且重绘区的数量大于预设数量,则按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于所述预设数量;
对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
优选地,还包括:
判断未发生改变的显示对象的矩形区域是否与合并处理后得到的各个重绘区相交,若相交,则重绘所述相交的矩形区域对应的显示对象。
根据本发明的另一方面,提供了一种基于显示列表的局部刷新装置,包括:
检测模块,用于检测屏幕上的每个显示对象是否发生变化;
重绘区计算模块,用于根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区,并当检测到显示对象发生变化时,根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区;
重绘模块,用于将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区。
优选地,所述重绘区计算模块还用于在屏幕上包括第一重绘区和第二重绘区的重绘区中查找相交的重绘区,并将所找到的相交的重绘区进行合并处理,形成合并重绘区,以供所述重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
优选地,所述重绘区计算模块还用于在屏幕上的重绘区中未找到相交的重绘区,且重绘区的数量大于预设数量时,按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于所述预设数量,以便所述重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
与现有技术相比较,本发明的有益效果在于:
本发明通过对屏幕进行局部刷新,能够显著提高设备的计算性能,降低设备的耗电量。
附图说明
图1是本发明实施例提供的基于显示列表的局部刷新方法框图;
图2是本发明实施例提供的基于显示列表的局部刷新装置框图;
图3是本发明实施例提供的显示列表结构示意图;
图4是本发明实施例提供的确定显示对象在屏幕上的矩形区域的示意图;
图5是本发明实施例提供的获取重绘区的示意图;
图6是本发明实施例提供的合并重绘区的示意图;
图7是本发明实施例提供的局部刷新软件的解压示意图;
图8是本发明实施例提供的局部刷新软件的安全警告示意图;
图9是本发明实施例提供的局部刷新软件的安装界面示意图;
图10是本发明实施例提供的局部刷新软件的安装示意图
图11是本发明实施例提供的局部刷新软件的安装完成示意图;
图12是本发明实施例提供的引擎管理界面示意图;
图13是本发明实施例提供的创建项目的示意图;
图14是本发明实施例提供的index.html文件的修改示意图;
图15是本发明实施例提供的命令行串口输入示意图;
图16是本发明实施例提供的浏览器显示内容示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的基于显示列表的局部刷新方法框图,如图1所示,步骤包括:
步骤S101:根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区。
其中,每个显示对象的属性包括自身变换信息(即自身矩阵)和自身形状信息(即自身矩形)。
步骤S101包括:根据每个显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到每个显示对象对应于屏幕的屏幕变换信息,并根据每个显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定每个显示对象在屏幕上的屏幕矩形。
具体地说,将每个显示对象的自身矩阵及其所有父级显示对象的自身矩阵相乘,得到每个显示对象对应于屏幕的屏幕矩阵,即得到每个显示对象相对于屏幕的位置、透明度、缩放等变换信息。然后利用所得到每个显示对象相对于屏幕的位置、透明度、缩放等变换信息,对每个显示对象的自身矩形进行变换,得到每个显示对象在屏幕上的屏幕矩形,作为第一重绘区。
步骤S102:检测屏幕上的每个显示对象是否发生变化。
步骤S103:当检测到显示对象发生变化时,根据已发生变化的显示对象及其父级显示对象的属性,重新确定显示对象在屏幕上对应的屏幕矩形,作为第二重绘区。
步骤S103具体包括:根据已发生变化的显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到已发生变化的显示对象对应于屏幕的屏幕变换信息,并根据已发生变化的显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定已发生变化的显示对象在屏幕上的屏幕矩形。
第二重绘区的计算方式与第一重绘区的计算方式相同,在此不再赘述。
步骤S104:将第一重绘区和第二重绘区清空,并将已发生变化的显示对象重绘至第二重绘区。
具体操作时,可按照以下几种方式进行重绘操作:
方式1:将每个已发生变化的显示对象重绘至其第二重绘区。
例如,存在5个已发生变化的显示对象,分别计算这5个显示对象的第一重绘区和第二重绘区,并将这5个显示对象的分别重绘至各自的已清空的第二重绘区。
进一步地,对于方式1,对相应的重绘区重新绘制已发生改变的显示对象后,还需要利用每个未发生改变的显示对象的属性,分别查找其屏幕矩形与第一重绘区和/或第二重绘区相交的未发生改变的显示对象,并重新绘制所找到的显示对象。
例如,显示对象1发生改变,将显示对象1重绘至其第二重绘区后,找到未发生改变的显示对象2的屏幕矩阵与显示对象1的第一重绘区相交,此时,重绘显示对象2,即将显示对象2重绘至显示对象2的第二重绘区。
方式2:对相交的重绘区进行合并,然后进行重绘。
也就是说,在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积小于合并前两个重绘区的面积之和,则将所述两个重绘区合并,形成合并重绘区;然后对屏幕上的合并处理后得到的各个重绘区进行清空,并在合并重绘区中,重绘相应的显示对象。需要说明的是,可以优先合并重绘区相交面积最大的两个重绘区。
方式3:未相交的重绘区过多时,强制合并重绘区,然后进行重绘。
也就是说,若在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积不小于合并前两个重绘区的面积之和,且重绘区的数量大于预设数量(例如2个、3个、4个等),则按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于所述预设数量;然后对屏幕上的合并处理后得到的各个重绘区进行清空,并在合并重绘区中,重绘相应的显示对象。需要说明的是,可以优先合并面积增加量最小的两个重绘区。
进一步地,对于方式2和方式3,判断未发生改变的显示对象的矩形区域是否与合并处理后得到的各个重绘区相交,若相交,则重绘所述相交的矩形区域对应的显示对象。
例如,存在5个已发生变化的显示对象,分别计算这5个显示对象的第一重绘区和第二重绘区,得到10个重绘区。此时,按照上述方式2和/或方式3将这10个重绘区进行合并处理,得到3个合并重绘区,并清空3个合并重绘区,以便重新在3个合并重绘区重新绘制相应的已发生变化的显示对象。然后,判断未发生改变的显示对象的矩形区域是否与这3个合并重绘区相交,若未发生改变的显示对象6与至少一个合并重绘区相交,则重绘显示对象6。
相对于方式1,方式2和方式3能够有效降低重绘开销。
图2是本发明实施例提供的基于显示列表的局部刷新装置框图,如图2所示,包括检测模块、重绘区计算模块和重绘模块。
检测模块用于检测屏幕上的每个显示对象是否发生变化,例如,检测每个显示对象的属性是否变化。
重绘区计算模块用于根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区,并当检测到显示对象发生变化时,根据已发生变化的显示对象及其父级显示对象的属性,重新确定显示对象在屏幕上对应的屏幕矩形,作为第二重绘区。其中,每个显示对象的属性包括自身变换信息和自身形状信息。
重绘模块用于将第一重绘区和第二重绘区清空,并将已发生变化的显示对象重绘至第二重绘区。
进一步地,重绘区计算模块还可以在屏幕上包括第一重绘区和第二重绘区的重绘区中查找相交的重绘区,并将所找到的相交的重绘区进行合并处理,形成合并重绘区,以供重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在合并重绘区中,重绘相应的显示对象。
进一步地,重绘区计算模块还可以在屏幕上的重绘区中未找到相交的重绘区,且重绘区的数量大于预设数量时,按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于预设数量,以便重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在合并重绘区中,重绘相应的显示对象。
图3是本发明实施例提供的显示列表结构示意图,如图3所示,显示了一个简单的显示列表示例。显示列表是一个树状的结构,列表中的每个节点叫做显示对象。显示对象分为两类,一类是普通显示对象,另一类是容器显示对象。容器显示对象可以在内部再包含其他的显示对象(普通和/或容器)。也就是说,可以将容器显示对象类比为一个盒子,里面放入其他显示对象。当移动容器时,它内部的子项也会整体跟着移动,当缩放容器时,它内部的子项也会整体跟着缩放。
显示列表就是这样一层一层嵌套而成的数据结构。容器通常都只起到整体定位作用,并不呈现图像。而末端叶子节点的普通显示对象通常是图片,可以显示到屏幕上。一个图片节点的所有父级容器上的定位或缩放信息,最终都会应用到这个图片上,用来确定图片在屏幕上最终的显示位置和区域大小。
以HTML5领域现有的屏幕呈现方式为例,显示列表传统的全屏刷新模式工作原理:首先设定一个时钟频率,例如通常是每秒执行60次。每次都单独刷新一次屏幕。刷新过程就是直接清空整个屏幕,然后从显示列表的根节点开始遍历,按顺序找到每个可呈现的显示对象节点,按照它的坐标和大小绘制到屏幕上。这样开发者只需要改变显示对象的位置属性,等待下一次时钟周期到来,改变就会自动刷新到屏幕上。由于通常情况下,并不是每秒60次显示列表每次都会发生改变,或者发生改变时仅有一小部分改变。因此清空整个屏幕重绘的方式虽然实现简单,但是开销比较大。针对HTML5领域现有屏幕呈现方式存在的问题,本实施例提出一种基于显示列表的局部刷新算法,其只在显示列表里的显示元素发生改变时进行部分刷新,而不会每次都清空整个屏幕,实现计算性能的显著提高,同时降低设备耗电量。具体地说,首先设定一个时钟频率,定时每秒执行60次,但区别在于,不直接清空整个屏幕,而是先计算屏幕上发生改变的区域,本发明称之为重绘区,然后只清空指定的重绘区,并找出与这个重绘区相交的所有显示对象重绘一遍。如果显示列表本次并没有发生改变,那么将直接跳过本次绘制,不进行任何重绘操作。
因此,要实现局部刷新,首先要获取重绘区。图4是本发明实施例提供的确定显示对象在屏幕上的矩形区域的示意图,如图4所示,每个显示对象在屏幕上都对应一个矩形区域。通常显示对象自身都包含两个属性:自身矩阵(即自身变换信息)和自身矩形(即自身形状信息)。自身矩阵代表该显示对象在父级容器中的位置、缩放等变换信息,也就是开发者最通常操作的部分。自身矩形是固定测量出来的一个四边形,如果是图片,自身矩形等于该图片未缩放时的原始大小区域。自身矩形和自身矩阵叠加,会得到这个显示对象在其父级容器里变换后(例如位移和/或缩放)的矩形区域。为了统一比较,本实施例要获取每个显示对象在屏幕上的矩形,首先是要获得每个显示对象相对于屏幕的矩阵信息(即屏幕矩阵),屏幕矩阵等于自身矩阵和所有父级容器的矩阵相乘结果。最后用屏幕矩阵跟自身矩形叠加得到屏幕矩形。
获取到每个显示对象在屏幕上的矩形区域(即屏幕矩形)后,需要建立一个通知机制,即每当检测到一个显示对象的屏幕矩阵和/或自身矩形发生改变时,重新计算该显示对象的屏幕矩形。此时能够得到两个矩形,即该显示对象改变前在屏幕上的矩形(即第一重绘区)和改变后在屏幕上的矩形(即第二重绘区),这两个矩形都是要获取的重绘区。图5是本发明实施例提供的获取重绘区的示意图,如图5所示,图片C从屏幕的左边移动到了屏幕的右边,该操作会产生左右两个需要重绘的区域,即重绘区。将两个区域都清空,并根据图片C新的位置,将图片C绘制到新区域(即屏幕右边的重绘区)上,这样图片C就从原位置移动到了新位置。
图5是单个显示对象移动的情况,缩放的情况也可以此类推。但实际应用中,每次刷新时并不仅有一个显示对象发生改变,可能会产生无数个可能相交的重绘区域。最简单的方式是直接重绘这些显示对象,即找到变化后的屏幕矩形,分别执行清空屏幕矩形的操作,然后查找相交的对象重绘。显然,重绘区数量过大时,会造成巨大的开销,因此本实施例提供了一种优选的方式进行局部刷新,即对得到的重绘区进行合并。合并策略如下:
策略1:如果两个屏幕矩形合并后的总面积小于两个屏幕矩形各自的面积之和,则允许将这两个屏幕矩形合并,需要说明的是,本实施例优先合并相交面积最大的两个矩形。
策略2:若不满足策略1,且屏幕矩形的总数量大于预设数量,则进行强制合并,需要说明的是,本实施例优先合并面积增加量最小的两个屏幕矩形。
经过大量测试,本实施例优选预设数量为3个,也就是说,把合并到最后的重绘区的数量控制在三个以内时是最佳的平衡点,此时,既不会对后续重绘操作带来压力,也足够覆盖大部分的局部刷新情况。图6是本发明实施例提供的合并重绘区的示意图,如图6所示,屏幕上有大量的重绘区域,根据上述合并策略,能够得出最终的三个重绘区。其中,左下角的重绘区,其内部的两个屏幕矩形没有相交区域,也就是说它们合并后的屏幕矩形的面积大于各自的面积之和,本实施例为了将重绘区数量控制在三个及以内,使用了上述策略2将其合并。需要说明的是,当整个屏幕布满零碎的不相交的屏幕矩形时,上述策略将得到唯一的一个全屏矩形,刚好符合全屏刷新的需求,使得本发明同时适应局部刷新和全屏刷新的情况。
该算法的创新点在对大量重绘区的合并上,根据合并策略1和2,允许一定量的非重绘区在合并过程中纳入重绘区,并控制最终合并结果数量为3个及以内,从而有效降低了后续的重绘操作开销。
上述方法及装置可以以软件形式实现。首先从Egret网站下载专区下载最新的Egret一键安装包(windows版本)。其次进行引擎安装,具体地说,双击下载到的EgretEngine-v2.5.0.exe,程序将会自动解压,如图7所示;解压后,如果弹出图8所示安全警告,则点击运行,出现如图9所示的安装界面,点击右下角的自定义按钮可以打开自定义菜单,例如,在选择语言栏下选择安装的语言,在自定义菜单下的文件夹图标下自定义安装到的路径,通过勾选“添加到桌面快捷方式”将快捷方式图标添加到桌面,通过点击“用户协议”,查看用户协议等等,在阅读并同意用户协议之后即可以安装EgretEngine,如图10所示;引擎安装完成之后,可以看到如图11所示的立即运行按钮;点击立即运行按钮,即可看到如图12所示的EgretEngine的引擎管理界面,至此安装成功。然后创建项目,具体地说,在键盘按下win(有windows徽标的键)+r键,接着输入cmd,并按下回车,会弹出如图13所示的命令行窗口,并在命令行窗口输入egretcreateHello之后按回车,进入文件夹C:\Users\[你的用户名]\Hello\,右键用记事本或其他文本编辑器软件打开里面的index.html文件,找到如图14所示的内容,将其改成“true”并保存;回到命令行窗口,如图15所示,输入egretrunHello并回车,自动打开如图16所示的浏览器,其中的一行文字,会不停变化刷新,刷新的瞬间会出现一个方框,这个方框就是局部刷新方法计算出来的重绘区。
综上所述,本发明具有以下技术效果:
1、本发明能够全面提高HTML5游戏和应用开发领域的屏幕渲染性能;
2、本发明实现了全自动的局部刷新算法,无需开发者干预,仅在发生改变时进行部分刷新屏幕,能够有效节省设备电力,同时降低发热量。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种基于显示列表的局部刷新方法,其特征在于,包括:
根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区;
检测屏幕上的每个显示对象是否发生变化;
当检测到显示对象发生变化时,根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区;
将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区。
2.根据权利要求1所述的方法,其特征在于,每个显示对象的属性包括自身变换信息和自身形状信息。
3.根据权利要求2所述的方法,其特征在于,所述根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区的步骤包括:
根据每个显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到每个显示对象对应于屏幕的屏幕变换信息;
根据所述每个显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定所述每个显示对象在屏幕上的屏幕矩形。
4.根据权利要求3所述的方法,其特征在于,所述根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区的步骤包括:
根据所述已发生变化的显示对象的自身变换信息及其所有父级显示对象的自身变换信息,得到所述已发生变化的显示对象对应于屏幕的屏幕变换信息;
根据所述已发生变化的显示对象对应于屏幕的屏幕变换信息和自身形状信息,确定所述已发生变化的显示对象在屏幕上的屏幕矩形。
5.根据权利要求4所述的方法,其特征在于,在将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区的步骤之后,还包括:
利用每个显示对象的属性,分别查找其屏幕矩形与所述第一重绘区和/或所述第二重绘区相交的显示对象,并重新绘制所找到的显示对象。
6.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:
在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积小于合并前两个重绘区的面积之和,则将所述两个重绘区合并,形成合并重绘区;
对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
7.根据权利要求6所述的方法,其特征在于,还包括:
若在屏幕上的已发生变化的显示对象的第一重绘区和第二重绘区中,若两个重绘区合并后的面积不小于合并前两个重绘区的面积之和,且重绘区的数量大于预设数量,则按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于所述预设数量;
对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
8.一种基于显示列表的局部刷新装置,其特征在于,包括:
检测模块,用于检测屏幕上的每个显示对象是否发生变化;
重绘区计算模块,用于根据显示列表中的显示对象及父级显示对象的属性,确定每个显示对象在屏幕上的屏幕矩形,作为第一重绘区,并当检测到显示对象发生变化时,根据所述已发生变化的显示对象及其父级显示对象的属性,重新确定所述显示对象在屏幕上对应的屏幕矩形,作为第二重绘区;
重绘模块,用于将所述第一重绘区和所述第二重绘区清空,并将所述已发生变化的显示对象重绘至所述第二重绘区。
9.根据权利要求6所述的装置,其特征在于,所述重绘区计算模块还用于在屏幕上包括第一重绘区和第二重绘区的重绘区中查找相交的重绘区,并将所找到的相交的重绘区进行合并处理,形成合并重绘区,以供所述重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
10.根据权利要求9所述的装置,其特征在于,所述重绘区计算模块还用于在屏幕上的重绘区中未找到相交的重绘区,且重绘区的数量大于预设数量时,按照预设策略,将屏幕上的重绘区进行合并处理,直至合并处理后的重绘区数量不大于所述预设数量,以便所述重绘模块对屏幕上的合并处理后得到的各个重绘区进行清空,并在所述合并重绘区中,重绘相应的显示对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510983331.6A CN105528217A (zh) | 2015-12-24 | 2015-12-24 | 一种基于显示列表的局部刷新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510983331.6A CN105528217A (zh) | 2015-12-24 | 2015-12-24 | 一种基于显示列表的局部刷新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105528217A true CN105528217A (zh) | 2016-04-27 |
Family
ID=55770466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510983331.6A Pending CN105528217A (zh) | 2015-12-24 | 2015-12-24 | 一种基于显示列表的局部刷新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528217A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502659A (zh) * | 2016-10-14 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种移动设备网页单页面的布局方法及*** |
CN107343019A (zh) * | 2017-03-29 | 2017-11-10 | 宁波方太厨具有限公司 | 一种通信数据的动态刷新方法 |
CN108399090A (zh) * | 2018-02-08 | 2018-08-14 | 广东欧珀移动通信有限公司 | 可见性刷新方法、装置、存储介质及智能终端 |
WO2020050907A1 (en) * | 2018-09-07 | 2020-03-12 | Microsoft Technology Licensing, Llc | Rendering oversized glyphs to a monospace grid |
CN112199537A (zh) * | 2020-09-18 | 2021-01-08 | 杭州安恒信息技术股份有限公司 | 一种可视化图像的更新方法、装置、电子装置和存储介质 |
CN113096263A (zh) * | 2021-03-16 | 2021-07-09 | 普联技术有限公司 | 一种人脸打卡的展示方法、装置、设备及存储介质 |
CN113476839A (zh) * | 2021-07-23 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 游戏应用中的实体显示方法和装置、存储介质及电子设备 |
CN113900758A (zh) * | 2021-10-22 | 2022-01-07 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
WO2024031544A1 (zh) * | 2022-08-11 | 2024-02-15 | 京东方科技集团股份有限公司 | 显示装置、显示方法及终端 |
WO2024036572A1 (zh) * | 2022-08-18 | 2024-02-22 | 京东方科技集团股份有限公司 | 显示方法、显示装置、计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098296A1 (en) * | 2006-10-23 | 2008-04-24 | Christopher Brichford | Rendering hypertext markup language content |
CN101211462A (zh) * | 2007-12-21 | 2008-07-02 | 炬力集成电路设计有限公司 | 一种矢量图形加速方法及多媒体播放器 |
US20080291218A1 (en) * | 2006-01-21 | 2008-11-27 | Tencent Technology (Shenzhen) Company Limited | System And Method For Generating Interactive Video Images |
CN103268337A (zh) * | 2013-05-16 | 2013-08-28 | 北京奇虎科技有限公司 | 一种网页中视频的播放方法和装置 |
-
2015
- 2015-12-24 CN CN201510983331.6A patent/CN105528217A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080291218A1 (en) * | 2006-01-21 | 2008-11-27 | Tencent Technology (Shenzhen) Company Limited | System And Method For Generating Interactive Video Images |
US20080098296A1 (en) * | 2006-10-23 | 2008-04-24 | Christopher Brichford | Rendering hypertext markup language content |
CN101211462A (zh) * | 2007-12-21 | 2008-07-02 | 炬力集成电路设计有限公司 | 一种矢量图形加速方法及多媒体播放器 |
CN103268337A (zh) * | 2013-05-16 | 2013-08-28 | 北京奇虎科技有限公司 | 一种网页中视频的播放方法和装置 |
Non-Patent Citations (1)
Title |
---|
游戏开发:***: "脏矩形技术", 《HTTP://WWW.CNBLOGS.COM/GAMEDEVELOPER/ARCHIVE/2011/05/25/2056501.HTML》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502659B (zh) * | 2016-10-14 | 2019-05-17 | 武汉斗鱼网络科技有限公司 | 一种移动设备网页单页面的布局方法及*** |
CN106502659A (zh) * | 2016-10-14 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种移动设备网页单页面的布局方法及*** |
CN107343019A (zh) * | 2017-03-29 | 2017-11-10 | 宁波方太厨具有限公司 | 一种通信数据的动态刷新方法 |
CN107343019B (zh) * | 2017-03-29 | 2020-04-24 | 宁波方太厨具有限公司 | 一种通信数据的动态刷新方法 |
CN108399090B (zh) * | 2018-02-08 | 2021-04-27 | Oppo广东移动通信有限公司 | 可见性刷新方法、装置、存储介质及智能终端 |
CN108399090A (zh) * | 2018-02-08 | 2018-08-14 | 广东欧珀移动通信有限公司 | 可见性刷新方法、装置、存储介质及智能终端 |
WO2020050907A1 (en) * | 2018-09-07 | 2020-03-12 | Microsoft Technology Licensing, Llc | Rendering oversized glyphs to a monospace grid |
US10636387B2 (en) | 2018-09-07 | 2020-04-28 | Microsoft Technology Licensing, Llc | Rendering oversized glyphs to a monospace grid |
CN112199537A (zh) * | 2020-09-18 | 2021-01-08 | 杭州安恒信息技术股份有限公司 | 一种可视化图像的更新方法、装置、电子装置和存储介质 |
CN113096263A (zh) * | 2021-03-16 | 2021-07-09 | 普联技术有限公司 | 一种人脸打卡的展示方法、装置、设备及存储介质 |
CN113476839A (zh) * | 2021-07-23 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 游戏应用中的实体显示方法和装置、存储介质及电子设备 |
CN113476839B (zh) * | 2021-07-23 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 游戏应用中的实体显示方法和装置、存储介质及电子设备 |
CN113900758A (zh) * | 2021-10-22 | 2022-01-07 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
CN113900758B (zh) * | 2021-10-22 | 2023-09-12 | 广州博冠信息科技有限公司 | 内容显示方法、装置、计算机设备和计算机可读存储介质 |
WO2024031544A1 (zh) * | 2022-08-11 | 2024-02-15 | 京东方科技集团股份有限公司 | 显示装置、显示方法及终端 |
WO2024036572A1 (zh) * | 2022-08-18 | 2024-02-22 | 京东方科技集团股份有限公司 | 显示方法、显示装置、计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105528217A (zh) | 一种基于显示列表的局部刷新方法及装置 | |
US11720739B2 (en) | System and method for extended dynamic layout | |
US9389759B2 (en) | Environment for responsive graphical designs | |
JP5905541B2 (ja) | 階層的に編成されるコントロールギャラリ | |
CN104951364B (zh) | 一种基于Android平台的语言切换方法及*** | |
CN102073502B (zh) | 一种利用web原生布局进行页面渲染的方法及装置 | |
US20110283215A1 (en) | Integrated user interface controls for web dialogs | |
US20110258534A1 (en) | Declarative definition of complex user interface state changes | |
CN106570098A (zh) | 页面刷新的方法及装置 | |
US9946806B2 (en) | Exporting responsive designs from a graphical design tool | |
US10169307B2 (en) | Method and system for the use of adjustment handles to facilitate dynamic layout editing | |
US20170221242A1 (en) | Automatic overdraw reduction before rendering | |
CN103019557B (zh) | 页面切换方法和装置 | |
CN109782977B (zh) | 视图处理方法、电子设备及存储介质 | |
US20130238977A1 (en) | Method and system for master-page based integrated editing and dynamic layout activation | |
CN106294501A (zh) | 网页动画效果显示方法和装置 | |
CN110262749B (zh) | 一种网页操作方法、装置、容器、设备及介质 | |
US8381116B2 (en) | Display systems and methods for dynamically updating a graphical user interface | |
CN105630893A (zh) | 一种组图标题的显示方法和装置 | |
CN113093961B (zh) | 窗口切换方法、存储介质及相关设备 | |
KR101373694B1 (ko) | 웹 스크래핑을 이용한 마인드맵 생성 방법, 장치 및 컴퓨터로 판독 가능한 기록매체 | |
CN115640782A (zh) | 用于文档演示的方法、装置、设备和存储介质 | |
CN101546316A (zh) | 屏幕绘制方法和装置 | |
CN116521043B (zh) | 一种图纸快速响应的方法、***及计算机程序产品 | |
CN103165105A (zh) | 移动通信终端以及图形显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160427 |
|
WD01 | Invention patent application deemed withdrawn after publication |