一种提高图形绘制效率的方法及装置制造方法及图纸

技术编号:12478552 阅读:73 留言:0更新日期:2015-12-10 15:03
本发明专利技术实施例公开了一种提高图形绘制效率的方法及装置,所述方法包括:获取当前帧图形上各节点的显示属性;检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况;只有在检测到各节点的显示属性发生了变化时,才根据各节点的显示属性对所述图形进行重绘,以及,对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘。本实施例中的这种图形绘制方式不但能够减少重绘的次数,更能够减少检测节点显示属性是否发生变化的次数,从而真正提高图形绘制效率,降低不必要的CPU资源等的消耗。

【技术实现步骤摘要】
一种提高图形绘制效率的方法及装置
本专利技术涉及图像处理
,尤其是涉及一种提高图形绘制效率的方法及装置。
技术介绍
为了在终端设备显示动态的画面,绘图程序通常会以一定的频率或者说是帧率不断的对图形进行重绘,即将旧的图形擦除并绘制出新的图形,以保证图形的切换能被实时的显示出来,从而形成流畅的动态画面效果。以基于HTML5的游戏为例,目前常见的方式是通过Canvas(画布)容器每秒钟对图形重绘X次来确保游戏画面的流畅,其中X通常大于30小于60。专利技术人在实现本专利技术的过程中发现,现有技术这种图形重绘方式适用于画面不断变化的场景,例如动作类游戏中。但对于画面变化不频繁的场景,例如一些棋牌游戏,很多时候重绘后的画面与没重绘前是一样的,若也采用这种重绘方式,会带来不必要的CPU资源等的消耗。
技术实现思路
为克服现有技术中存在的问题,本专利技术提供一种提高图形绘制效率的方法及装置,以降低不必要的CPU资源等消耗。根据本公开实施例的第一方面,提供了一种提高图形绘制效率的方法,所述方法包括:获取当前帧图形上各节点的显示属性;检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况;只有在检测到各节点的显示属性发生了变化时,才根据各节点的显示属性对所述图形进行重绘,以及,对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘。可选的,所述方法还包括:在所述对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘的步骤之后,返回所述获取当前帧图形上各节点的显示属性的步骤。可选的,所述方法还包括:若对于连续的第二预定数目的帧,每次检测到的各节点的显示属性均未发生变化,则在随后的指定时长内,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘;返回所述获取当前帧图形上各节点的显示属性的步骤。可选的,所述节点的显示属性包括以下元素中的一种或多种:节点的x坐标、节点的y坐标、节点的宽度、节点的高度、节点的旋转角度、节点的倾斜角度、节点的透明度、节点的可见性以及节点的颜色;所述各节点的显示属性发生了变化,包括:任一节点的任一元素发生了变化。可选的,所述方法还包括:在所述检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况的步骤之后,在检测到各节点的显示属性均未发生变化时,则不执行所述根据所述各节点的显示属性对所述图形进行重绘的步骤,而是返回所述获取当前帧图形上各节点的显示属性的步骤。根据本公开实施例的第二方面,提供了一种提高图形绘制效率的装置,所述装置包括:显示属性获取单元,用于获取当前帧图形上各节点的显示属性;变化检测单元,用于检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况;重绘控制单元,用于只有在所述变化检测单元检测到各节点的显示属性发生了变化时,才触发重绘单元,以及,对于随后的第一预定数目的帧,每次触发了显示属性获取单元后直接触发重绘单元;重绘单元,用于根据各节点的显示属性对所述图形进行重绘。可选的,所述装置还包括:循环控制单元,用于在所述重绘控制单元执行完毕之后,重新触发所述显示属性获取单元。可选的,所述重绘控制单元还用于:若对于连续的第二预定数目的帧,每次检测到的各节点的显示属性均未发生变化,则在随后的指定时长内,每次触发了所述显示属性获取单元后直接触发所述重绘单元;然后再触发一次所述显示属性获取单元。可选的,所述节点的显示属性包括以下元素中的一种或多种:节点的x坐标、节点的y坐标、节点的宽度、节点的高度、节点的旋转角度、节点的倾斜角度、节点的透明度、节点的可见性以及节点的颜色;所述各节点的显示属性发生了变化,包括:任一节点的任一元素发生了变化。可选的,所述重绘控制单元还用于:在所述变化检测单元检测到各节点的显示属性均未发生变化时,则不触发所述重绘单元以不执行根据所述各节点的显示属性对所述图形进行重绘的操作,而是触发所述显示属性获取单元以获取当前帧图形上各节点的显示属性。本专利技术实施例提供的技术方案可以包括以下有益效果:本专利技术实施例中,在进行重绘前,不但先对是否有图形节点的显示属性发生了变化进行检测,只有当发现有变化时才进行重绘操作,而且更为重要的是,为了减少上述检测的次数,会对随后的一系列帧都默认进行直接的重绘。本专利技术实施例中的这种图形绘制方式不但能够减少重绘的次数,更能够减少检测节点显示属性是否发生变化的次数,从而真正提高图形绘制效率,降低不必要的CPU资源等的消耗。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是根据一示例性实施例示出的一种提高图形绘制效率的方法的流程图;图2是根据一示例性实施例示出的一种提高图形绘制效率的方法的流程图;图3是根据一示例性实施例示出的一种提高图形绘制效率的方法的流程图;图4是根据一示例性实施例示出的一种提高图形绘制效率的方法的流程图;图5是根据一示例性实施例示出的一种提高图形绘制效率的装置的框图;图6是根据一示例性实施例示出的一种提高图形绘制效率的装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种提高图形绘制效率的方法的流程图。该方法可用于终端设备中,如手机、平板电脑、PC(个人电脑)等。参见图1所示,该方法可以包括以下步骤:S101、获取当前帧图形上各节点的显示属性。绘图程序,例如基于HTML5的游戏引擎,通常是基于图形上的节点来进行绘图的。图形可对应一棵渲染树,这棵渲染树有一个根以及众多枝叶,根及枝叶都可统称为图形节点,简称节点。图形节点具有显示属性,在本实施例或本专利技术其他某些实施例中,节点的显示属性可以包括以下元素中的一种或多种:节点的x坐标、节点的y坐标、节点的宽度、节点的高度、节点的旋转角度、节点的倾斜角度、节点的透明度、节点的可见性以及节点的颜色。图形节点的显示属性可以被其他应用程序所更改,从而使图形发生变化。绘图程序通过遍历各图形节点并在遍历中执行更新显示属性的操作,可以获取到每个节点在当前帧时的显示属性。S102、检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况。在本实施例中,获取到当前帧时图形上各节点的显示属性后,并不直接根据显示属性对图形进行重绘,而是先检测各节点的显示属性与前一帧时相比的变化情况,然后再决定是否重绘。在本实施例或本专利技术其他某些实施例中,所述各节点的显示属性发生了变化,可以包括:任一节点的任一元素发生了变化。也即只要检测到任一节点的任一元素发生了变化,即可得到各节点的显示属性发生了变化这一结论。相反的,若检测到任一节点的任一元素都未发生变化,则可得到各节点的显示属性均未发生变化这一结论。S103、只有在检测到各节点的显示属性发生了变化时,才根本文档来自技高网...
一种提高图形绘制效率的方法及装置

【技术保护点】
一种提高图形绘制效率的方法,其特征在于,所述方法包括:获取当前帧图形上各节点的显示属性;检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况;只有在检测到各节点的显示属性发生了变化时,才根据各节点的显示属性对所述图形进行重绘,以及,对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘。

【技术特征摘要】
1.一种提高图形绘制效率的方法,其特征在于,所述方法包括:获取当前帧图形上各节点的显示属性;检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况;只有在检测到各节点的显示属性发生了变化时,才根据各节点的显示属性对所述图形进行重绘,对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘,若对于连续的第二预定数目的帧,每次检测到的各节点的显示属性均未发生变化,则在随后的指定时长内,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘,以及返回所述获取当前帧图形上各节点的显示属性的步骤。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述对于随后的第一预定数目的帧,每次获取到各节点的显示属性后根据获取的各节点的显示属性直接对所述图形进行重绘的步骤之后,返回所述获取当前帧图形上各节点的显示属性的步骤。3.根据权利要求1所述的方法,其特征在于,所述节点的显示属性包括以下元素中的一种或多种:节点的x坐标、节点的y坐标、节点的宽度、节点的高度、节点的旋转角度、节点的倾斜角度、节点的透明度、节点的可见性以及节点的颜色;所述各节点的显示属性发生了变化,包括:任一节点的任一元素发生了变化。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述检测各节点的显示属性与前一帧时各节点的显示属性相比的变化情况的步骤之后,在检测到各节点的显示属性均未发生变化时,则不执行所述根据所述各节点的显示属性对所述图形进行重绘的步骤,而是返回所述获...

【专利技术属性】
技术研发人员:常小军
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1