CN105022655A - 浏览器使用纹理的方法和装置 - Google Patents
浏览器使用纹理的方法和装置 Download PDFInfo
- Publication number
- CN105022655A CN105022655A CN201410155960.5A CN201410155960A CN105022655A CN 105022655 A CN105022655 A CN 105022655A CN 201410155960 A CN201410155960 A CN 201410155960A CN 105022655 A CN105022655 A CN 105022655A
- Authority
- CN
- China
- Prior art keywords
- texture
- texture block
- block
- pond
- counting
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器使用纹理的方法和装置。其中,浏览器使用纹理的方法包括:建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容;从纹理池中获取可用纹理块;以及在获取到的可用纹理块上绘制页面内容。通过本发明,解决了现有技术中的页面缓存方案容易导致页面显示空白的问题,进而达到了提高页面缓存效率和缓存流畅度的效果。
Description
技术领域
本发明涉及浏览器领域,具体而言,涉及一种浏览器使用纹理的方法和装置。
背景技术
在浏览器的页面显示方面,页面内容的绘制速度是核心需求,页面滚动的过程实际上就是不断地绘制新的内容到屏幕上,纹理作为有限的内存资源,是页面绘制时使用的基本介质单元,是页面内容的承载介质,最终被传输到显示屏幕上。使用纹理前,定义好纹理的大小,比如256*256像素,定义好大小的纹理就是纹理块,多个纹理块放在一起就组成纹理池。页面渲染到屏幕的过程就是先把页面内容先绘制到纹理块上,再把这些纹理块上屏,所谓上屏是指把纹理块数据传输到图形处理器(GraphicProcessing Unit,简称GPU)屏幕缓冲区的过程,这一过程完成之后图像就会显示出来。其中,页面内容缓存绘制到纹理块是一个耗时的操作,而纹理块上屏是很快完成的。
现有技术中进行页面内容绘制过程中的缓存方案主要是按页面可见区域缓存,具体为:缓存页面当前可见区域周围几屏高度的内容,当页面滚动超出这个缓存区域时,由于要显示新的内容,就需要淘汰(即,释放)缓存区域内的某些纹理块,然后重新生成页面内容到这些纹理块中去,并将纹理块贴到相应的位置,这是一种按照缓存区域纹理资源重用的过程。
上述进行页面内容缓存的方案,在页面快速滚动时,可能会出现页面的绘制速度跟不上,并且当前的可见区域已经不在之前缓存区域范围内。出现这种状况时,屏幕就会因为新的页面内容没有绘制好而出现空白,不仅造成了不好的用户体验,并且在终端可用内存资源还有很多的状况下,这就是一种资源的浪费。而且对于已经绘制过的页面内容在上下滚屏过程中存在需要重新绘制的可能,此时页面可能由于绘制延迟出现空白,造成不良用户体验。
针对相关技术中的页面缓存方案容易导致页面显示空白的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例的主要目的在于提供一种浏览器使用纹理的方法和装置,以解决现有技术中的页面缓存方案容易导致页面显示空白的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种浏览器使用纹理的方法。
根据本发明实施例的浏览器使用纹理的方法包括:建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容;从纹理池中获取可用纹理块;以及在获取到的可用纹理块上绘制页面内容。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种浏览器使用纹理的装置。
根据本发明实施例的浏览器使用纹理的装置包括:建立单元,用于建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容;获取单元,用于从纹理池中获取可用纹理块;以及绘制单元,用于在获取到的可用纹理块上绘制页面内容。
在本发明实施例中,采用建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容;从纹理池中获取可用纹理块;以及在获取到的可用纹理块上绘制页面内容。通过基于所能使用的纹理总内存大小的上限建立纹理池,进而从纹理池中获取可用纹理块,并在获取到的可用纹理块上绘制页面内容,实现了基于终端设备的本身的内存能量进行页面的缓存,相比现有技术中按照“页面可见区域周围几屏高度”这样的物理面积进行页面缓存的方式而言,基于终端设备的本身的内存能量进行页面缓存的方式能够尽量多的缓存页面内容,实现了提高对页面内容进行绘制的能力和速度,避免出现绘制延迟,解决了现有技术中的页面缓存方案容易导致页面显示空白的问题,进而达到了提高页面缓存效率和缓存流畅度的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的浏览器使用纹理的方法的流程图;
图2是根据本发明优选实施例的浏览器使用纹理的方法的流程图;
图3是根据本发明实施例的浏览器使用纹理的装置的示意图;以及
图4是根据本发明优选实施例的浏览器使用纹理的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对本发明实施例中所应用的技术术语做解释:
浏览器:PC/移动终端设备上的web/wap浏览工具。
纹理:页面绘制时使用的基本介质单元,是页面绘制内容的载体,最终被传输到显示屏幕上。
纹理池:使用纹理前,定义好纹理的大小,比如256*256像素,定义好大小的纹理就是纹理块,多个纹理块放在一起就组成纹理池。
上屏:是指把纹理块数据传输到GPU屏幕缓冲区的过程,完成之后图像就会显示出来。
可见区域:页面在浏览器上的可见部分,通常为浏览器窗口的大小。
缓存区域:页面内容绘制的区域,在可见区域上下左右范围内会浏览器预先绘制好页面内容。
RAM:随机存取存储器,高速存取,读写时间相等,且与地址无关,如计算机内存等。
后台页面:当浏览器打个多个浏览窗口时,处于不可见状态的窗口上面的页面,其中,一个窗口对应一个页面。
当前页面:当浏览器打个多个浏览窗口时,正处于可见状态的窗口上的页面。
实施例1
根据本发明实施例,可以提供了一种可以用于实施本申请装置实施例的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种浏览器使用纹理的方法,图1是根据本发明实施例的浏览器使用纹理的方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S106:
S102:建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容,具体地,浏览器中纹理池所能使用的纹理总内存大小的上限可以是对终端设备剩余内存的一个预估,具体可根据终端设备自身的参数来确定,比如根据终端设备RAM大小以及实际可用的RAM大小等参数确定。纹理池是纹理块的集合,多个纹理块放在一起构成纹理池,纹理块是指页面绘制时使用的基本介质单元,是页面内容的承载介质,用于承载页面内容。
S104:从纹理池中获取可用纹理块。
S106:在获取到的可用纹理块上绘制页面内容,以进行页面缓存,其中,将绘制有页面内容的纹理块最终被传输到显示屏幕上即可实现页面的显示。
本发明实施例所提供的浏览器使用纹理的方法,通过基于浏览器所能使用的纹理总内存大小的上限建立纹理池,进而从纹理池中获取可用纹理块,并在获取到的可用纹理块上绘制页面内容,实现了基于终端设备的本身的内存能量进行页面的缓存,相比现有技术中按照“页面可见区域周围几屏高度”这样的物理面积进行页面缓存的方式而言,基于终端设备的本身的内存能量进行页面缓存的方式能够尽量多的缓存页面内容,实现了提高对页面内容进行绘制的能力和速度,避免出现绘制延迟,解决了现有技术中的页面缓存方案容易导致页面显示空白的问题,进而达到了提高页面缓存效率和缓存流畅度的效果。
图2是根据本发明优选实施例的浏览器使用纹理的方法的流程图,如图2所示,在本发明优选实施例中,步骤S104中从纹理池中获取可用纹理块主要包括如下步骤S201至步骤S202:
S201:判断纹理池中是否存在处于空闲状态的纹理块,即,当需要进行新页面内容缓存时,先判断纹理池中是否存在处于空闲状态的纹理块。
S202:在判断出纹理池中存在处于空闲状态的纹理块的情况下,从处于空闲状态的纹理块中获取可用纹理块,具体地,可以提取出一个纹理块作为可用纹理块,如果处于空闲状态的纹理块的数量为多个,也可以提取出多个处于空闲状态的纹理块作为可用纹理块。
如果纹理池中还存在处于空闲状态的纹理块的话,说明纹理块所占用的内容还未达到浏览器所能使用的纹理总内存大小的上限,此种情况下,通过从处于空闲状态的纹理块中提取可用纹理块,而不是淘汰当前页面的纹理块,实现了在上下滚动页面过程中,向下滚动之后在向上滚动的话,不会因已绘制过的页面内容被丢失而需要重新绘制,这样,只需在第一次向下滚动页面的时候,绘制相关内容到纹理块上,而再向上滚动时,则无需重新绘制,上下滚动过程中所需时间会很少,页面内容的显示几乎与滚动同步,进一步提高了页面缓存效率。
其中,在本发明实施例中,对于处于后端的页面,可以只缓存可见区域的纹理块,即,可以只将可见区域的内容绘制到纹理块上,承载其他区域内容的纹理块均可以被释放到纹理块组成的纹理池中。
进一步地,在判断出纹理池中不存在处于空闲状态的纹理块的情况下,步骤S104中从纹理池中获取可用纹理块还包括步骤S203和步骤S204:
S203:判断第一纹理块中是否存在处于非可见区域的纹理块,其中,第一纹理块为纹理池中绘制有后台页面内容的纹理块,即,判断对应后台页面的纹理块中是否存在处于非可见区域的纹理块,非可见区域是相当可见区域而言,可见区域是指终端设备浏览器上的可见部分,通常为浏览器窗口的大小,相应地,除去显示在浏览器上的部分,页面的剩余部分则为非可见区域。
S204:在判断出第一纹理块中存在处于非可见区域的纹理块的情况下,从第一纹理块中处于非可见区域的纹理块中获取可用纹理块,即,从后台页面的非可见区域的纹理块中获取可用纹理块,其中,可以选用非可见区域的纹理块中最早绘制页面内容的纹理块,具体地,本发明优选实施例的页面缓存方法还包括:将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,绘制计数的初始值为预设值,每绘制一次页面内容,将绘制计数加一,通过赋值绘制计数至绘制页面内容所使用的纹理块,即可通过以下方式从第一纹理块中处于非可见区域的纹理块中提取出可用纹理块:首先,获取处于非可见区域的纹理块中绘制计数的数值最小的纹理块;然后,确定获取到的绘制计数的数值最小的纹理块为可用纹理块。
更进一步地,在判断出第一纹理块中不存在处于非可见区域的纹理块的情况下,步骤S104中从纹理池中获取可用纹理块还包括步骤S205至步骤S208:
S205:获取纹理池所占用内存的总大小。
S206:判断纹理池所占用内存的总大小是否达到浏览器所能使用的纹理总内存大小的上限。
S207:在判断出纹理池所占用内存的总大小未达到浏览器所能使用的纹理总内存大小的上限的情况下,纹理池向操作系统申请纹理块,即,从可使用内存中申请一部分一部分内存建立新的纹理块。
S208:确定申请的纹理块为可用纹理块,即,确定新申请建立的纹理块即为可用纹理块。
再进一步地,在判断出纹理池所占用内存的总大小达到浏览器所能使用的纹理总内存大小的上限的情况下,步骤S104中从纹理池中获取可用纹理块还包括步骤S209至步骤S211:S209:判断是否存在第二纹理块,其中,第二纹理块为绘制有当前页面内容非缓存区域的纹理块;S210a:在判断出存在第二纹理块的情况下,从第二纹理块中取得可用纹理块,具体地,获取第二纹理块中绘制计数的数值最小的纹理块,或S210b:在判断出不存在第二纹理块的情况下,获取第一纹理块中绘制计数的数值最小的纹理块;S211:确定获取到的绘制计数的数值最小的纹理块为可用纹理块。
在本发明优选实施例所提供的浏览器使用纹理的方法中,对于所有页面的绘制,通过添加一个绘制计数的概念,每次绘制一次页面,计数加1,这个计数将被赋予到这次所绘制的纹理块上去,同一次绘制的纹理块拥有相同的计数。纹理块计数越大,表明是最近使用的块,它被淘汰的优先级最低。当可用内存资源(可用纹理块所消耗的内存)达到预估的上限时,纹理池将淘汰计数最小的(即最久使用的)纹理块以生成新的页面内容。
通过以上描述可以看出,本发明优选实施例所提供的浏览器使用纹理的方法,实现了多个页面共享纹理块,并且分配给当期页面纹理块资源的优先级最高,实现了在浏览器打开多个页面的情况下,在保证其他页面基本需要的情况下,优先满足当期页面的绘制资源需要,加大了当前页面的绘制缓存,进一步提升了用户浏览过程中的体验度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述浏览器使用纹理的方法的浏览器使用纹理的装置,该浏览器使用纹理的装置主要用于执行本发明实施例上述内容所提供的浏览器使用纹理的方法,以下对本发明实施例所提供的浏览器使用纹理的装置做具体介绍:
图3是根据本发明实施例的浏览器使用纹理的装置的示意图,如图3所示,该浏览器使用纹理的装置主要包括建立单元10、获取单元20和绘制单元30,其中:
建立单元10用于建立纹理池,并确定纹理池所能使用的纹理总内存大小的上限,其中,纹理用于承载浏览器的页面内容,具体地,浏览器所能使用的纹理总内存大小的上限可以是对终端设备剩余内存的一个预估,具体可根据终端设备自身的参数来确定,比如根据终端设备RAM大小以及实际可用的RAM大小等参数确定,纹理池是纹理块的集合,多个纹理块放在一起构成纹理池,纹理块是指页面绘制时使用的基本介质单元,是页面内容的承载介质,用于承载页面内容。
获取单元20用于从纹理池中获取可用纹理块。
绘制单元30用于在获取到的可用纹理块上绘制页面内容,以进行页面缓存,其中,将绘制有页面内容的纹理块最终被传输到显示屏幕上即可实现页面的显示。
本发明实施例所提供的浏览器使用纹理的装置,通过基于浏览器所能使用的纹理总内存大小的上限建立纹理池,进而从纹理池中获取可用纹理块,并在获取到的可用纹理块上绘制页面内容,实现了基于终端设备的本身的内存能量进行页面的缓存,相比现有技术中按照“页面可见区域周围几屏高度”这样的物理面积进行页面缓存的方式而言,基于终端设备的本身的内存能量进行页面缓存的方式能够尽量多的缓存页面内容,实现了提高对页面内容进行绘制的能力和速度,避免出现绘制延迟,解决了现有技术中的页面缓存方案容易导致页面显示空白的问题,进而达到了提高页面缓存效率和缓存流畅度的效果。
图4是根据本发明优选实施例的浏览器使用纹理的装置的示意图,如图4所示,在本发明优选实施例中,获取单元20主要包括第一判断模块21和第一获取模块22,其中:
第一判断模块21用于判断纹理池中是否存在处于空闲状态的纹理块即,当需要进行新页面内容缓存时,第一判断模块21先判断纹理池中是否存在处于空闲状态的纹理块。
第一获取模块22用于在第一判断模块21判断出纹理池中存在处于空闲状态的纹理块的情况下,从处于空闲状态的纹理块中获取可用纹理块,具体地,可以提取出一个纹理块作为可用纹理块,如果处于空闲状态的纹理块的数量为多个,也可以提取出多个处于空闲状态的纹理块作为可用纹理块。
如果纹理池中还存在处于空闲状态的纹理块的话,说明纹理块所占用的内容还未达到浏览器所能使用的纹理总内存大小的上限,此种情况下,通过从处于空闲状态的纹理块中提取可用纹理块,而不是淘汰当前页面的纹理块,实现了在上下滚动页面过程中,向下滚动之后在向上滚动的话,不会因已绘制过的页面内容被丢失而需要重新绘制,这样,只需在第一次向下滚动页面的时候,绘制相关内容到纹理块上,而再向上滚动时,则无需重新绘制,上下滚动过程中所需时间会很少,页面内容的显示几乎与滚动同步,进一步提高了页面缓存效率。
其中,在本发明实施例中,对于处于后端的页面,可以只缓存可见区域的纹理块,即,可以只将可见区域的内容绘制到纹理块上,承载其他区域内容的纹理块均可以被释放到纹理块组成的纹理池中。
进一步地,获取单元20还包括第二判断模块23和第二获取模块24,其中:
第二判断模块23用于在第一判断模块21判断出纹理池中不存在处于空闲状态的纹理块的情况下,判断第一纹理块中是否存在处于非可见区域的纹理块,其中,第一纹理块为纹理池中绘制有后台页面内容的纹理块,即,判断对应后台页面的纹理块中是否存在处于非可见区域的纹理块,非可见区域是相当可见区域而言,可见区域是指终端设备浏览器上的可见部分,通常为浏览器窗口的大小,相应地,除去显示在浏览器上的部分,页面的剩余部分则为非可见区域。
第二获取模块24用于在第二判断模块23判断出第一纹理块中存在处于非可见区域的纹理块的情况下,从第一纹理块中处于非可见区域的纹理块中获取可用纹理块。即,从后台页面的非可见区域的纹理块中获取可用纹理块,其中,可以选用非可见区域的纹理块中最早绘制页面内容的纹理块,具体地,本发明优选实施例的浏览器使用纹理的装置还包括:赋值单元,该赋值单元主要用于将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,绘制计数的初始值为预设值,每绘制一次页面内容,将绘制计数加一,通过赋值绘制计数至绘制页面内容所使用的纹理块,第二获取模块24即可利用第一获取子模块和第一确定子模块通过以下方式从第一纹理块中处于非可见区域的纹理块中提取出可用纹理块:首先,第一获取子模块获取处于非可见区域的纹理块中绘制计数的数值最小的纹理块;然后,第一确定子模块确定获取到的绘制计数的数值最小的纹理块为可用纹理块。
更进一步地,获取单元20还包括第三获取模块25、第三判断模块26、申请模块27和第一确定模块28,其中:
在第二判断模块23判断出第一纹理块中不存在处于非可见区域的纹理块的情况下,第三获取模块25用于获取纹理池所占用内存的总大小。
第三判断模块26用于判断纹理池所占用内存的总大小是否达到浏览器所能使用的纹理总内存大小的上限。
申请模块27用于在第三判断模块26判断出纹理池所占用内存的总大小未达到浏览器所能使用的纹理总内存大小的上限的情况下,纹理池向操作系统申请纹理块,即,从可使用内存中申请一部分一部分内存建立新的纹理块。
第一确定模块28用于确定申请的纹理块为可用纹理块,即,确定新申请建立的纹理块即为可用纹理块。
再进一步地,获取单元20还包括第四判断模块29、第四获取模块210和第二确定模块211,其中,在第三判断模块26判断出纹理池所占用内存的总大小达到浏览器所能使用的纹理总内存大小的上限的情况下,第四判断模块29判断是否存在第二纹理块,其中,第二纹理块为绘制有当前页面内容非缓存区域的纹理块。如果第四判断模块29判断出存在第二纹理块,则第四获取模块210用于获取第二纹理块中绘制计数的数值最小的纹理块,如果第四判断模块29判断出不存在第二纹理块,则第四获取模块210用于获取第一纹理块中绘制计数的数值最小的纹理块;第二确定模块211用于确定获取到的绘制计数的数值最小的纹理块为可用纹理块。
在本发明优选实施例所提供的浏览器使用纹理的装置中,对于所有页面的绘制,通过添加一个绘制计数的概念,每次绘制一次页面,计数加1,这个计数将被赋予到这次所绘制的纹理块上去,同一次绘制的纹理块拥有相同的计数。纹理块计数越大,表明是最近使用的块,它被淘汰的优先级最低。当可用内存资源(可用纹理块所消耗的内存)达到预估的上限时,纹理池将淘汰计数最小的(即最久使用的)纹理块以生成新的页面内容。
本发明优选实施例所提供的浏览器使用纹理的装置,实现了多个页面共享纹理块,并且分配给当期页面纹理块资源的优先级最高,实现了在浏览器打开多个页面的情况下,在保证其他页面基本需要的情况下,优先满足当期页面的绘制资源需要,加大了当前页面的绘制缓存,进一步提升了用户浏览过程中的体验度。
从以上的描述中,可以看出,本发明实现了尽量发挥设备终端本身的内存能力,提高了浏览器的绘制能力和效率,并且优先满足当期页面的绘制资源需要,加大了当前页面的绘制缓存,进一步提升了用户浏览过程中的体验度。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种浏览器使用纹理的方法,其特征在于,包括:
建立纹理池,并确定所述纹理池所能使用的纹理总内存大小的上限,其中,所述纹理用于承载所述浏览器的页面内容;
从所述纹理池中获取可用纹理块;以及
在获取到的所述可用纹理块上绘制页面内容。
2.根据权利要求1所述的浏览器使用纹理的方法,其特征在于,从所述纹理池中获取可用纹理块包括:
判断所述纹理池中是否存在处于空闲状态的纹理块;以及
在判断出所述纹理池中存在处于空闲状态的纹理块的情况下,从处于空闲状态的纹理块中获取所述可用纹理块。
3.根据权利要求2所述的浏览器使用纹理的方法,其特征在于,在判断出所述纹理池中不存在处于空闲状态的纹理块的情况下,从所述纹理池中获取可用纹理块还包括:
判断第一纹理块中是否存在处于非可见区域的纹理块,其中,所述第一纹理块为所述纹理池中绘制有后台页面内容的纹理块;以及
在判断出所述第一纹理块中存在处于非可见区域的纹理块的情况下,从所述第一纹理块中处于非可见区域的纹理块中获取所述可用纹理块。
4.根据权利要求3所述的浏览器使用纹理的方法,其特征在于:
所述浏览器使用纹理的方法还包括:将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,所述绘制计数的初始值为预设值,每绘制一次页面内容,将所述绘制计数加一,
从所述第一纹理块中处于非可见区域的纹理块中获取所述可用纹理块包括:获取处于非可见区域的纹理块中所述绘制计数的数值最小的纹理块;以及确定获取到的所述绘制计数的数值最小的纹理块为所述可用纹理块。
5.根据权利要求3所述的浏览器使用纹理的方法,其特征在于,在判断出所述第一纹理块中不存在处于非可见区域的纹理块的情况下,从所述纹理池中获取可用纹理块还包括:
获取所述纹理池所占用内存的总大小;
判断所述纹理池所占用内存的总大小是否达到所述纹理总内存大小的上限;
在判断出所述纹理池所占用内存的总大小未达到所述纹理总内存大小的上限的情况下,所述纹理池向操作系统申请纹理块;以及
确定申请的纹理块为所述可用纹理块。
6.根据权利要求5所述的浏览器使用纹理的方法,其特征在于:
所述浏览器使用纹理的方法还包括:将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,所述绘制计数的初始值为预设值,每绘制一次页面内容,将所述绘制计数加一,
在判断出所述纹理池所占用内存的总大小达到纹理总内存大小的上限的情况下,从所述纹理池中获取可用纹理块还包括:
判断是否存在第二纹理块,其中,所述第二纹理块为绘制有当前页面内容非缓存区域的纹理块;
在判断出存在所述第二纹理块的情况下,获取所述第二纹理块中所述绘制计数的数值最小的纹理块,或在判断出不存在所述第二纹理块的情况下,获取所述第一纹理块中所述绘制计数的数值最小的纹理块;以及
确定获取到的所述绘制计数的数值最小的纹理块为所述可用纹理块。
7.一种浏览器使用纹理的装置,其特征在于,包括:
建立单元,用于建立纹理池,并确定所述纹理池所能使用的纹理总内存大小的上限,其中,所述纹理用于承载所述浏览器的页面内容;
获取单元,用于从所述纹理池中获取可用纹理块;以及
绘制单元,用于在获取到的所述可用纹理块上绘制页面内容。
8.根据权利要求7所述的浏览器使用纹理的装置,其特征在于,所述获取单元包括:
第一判断模块,用于判断所述纹理池中是否存在处于空闲状态的纹理块;以及
第一获取模块,用于在判断出所述纹理池中存在处于空闲状态的纹理块的情况下,从处于空闲状态的纹理块中获取所述可用纹理块。
9.根据权利要求8所述的浏览器使用纹理的装置,其特征在于,所述获取单元还包括:
第二判断模块,用于在所述第一判断模块判断出所述纹理池中不存在处于空闲状态的纹理块的情况下,判断第一纹理块中是否存在处于非可见区域的纹理块,其中,所述第一纹理块为所述纹理池中绘制有后台页面内容的纹理块;以及
第二获取模块,用于在所述第二判断模块判断出所述第一纹理块中存在处于非可见区域的纹理块的情况下,从所述第一纹理块中处于非可见区域的纹理块中获取所述可用纹理块。
10.根据权利要求9所述的浏览器使用纹理的装置,其特征在于:
所述浏览器使用纹理的装置还包括:赋值单元,用于将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,所述绘制计数的初始值为预设值,每绘制一次页面内容,将所述绘制计数加一,
所述第二获取模块包括:第一获取子模块,用于获取处于非可见区域的纹理块中所述绘制计数的数值最小的纹理块;以及第一确定子模块,用于确定获取到的所述绘制计数的数值最小的纹理块为所述可用纹理块。
11.根据权利要求9所述的浏览器使用纹理的装置,其特征在于,所述获取单元还包括:
第三获取模块,用于获取所述纹理池所占用内存的总大小;
第三判断模块,用于判断所述纹理池所占用内存的总大小是否达到所述纹理总内存大小的上限;
申请模块,用于在所述第三判断模块判断出所述纹理池所占用内存的总大小未达到所述纹理总内存大小的上限的情况下,所述纹理池向操作系统申请纹理块;以及
第一确定模块,用于确定申请的纹理块为所述可用纹理块。
12.根据权利要求11所述的浏览器使用纹理的装置,其特征在于:
所述浏览器使用纹理的装置还包括:赋值单元,用于将绘制计数赋值给绘制页面内容时所使用的纹理块,其中,所述绘制计数的初始值为预设值,每绘制一次页面内容,将所述绘制计数加一,
所述获取单元还包括:第四判断模块,用于判断是否存在第二纹理块,其中,所述第二纹理块为绘制有当前页面内容非缓存区域的纹理块;第四获取模块,用于在所述第四判断模块判断出存在所述第二纹理块的情况下,获取所述第二纹理块中所述绘制计数的数值最小的纹理块,或在所述第四判断模块判断出不存在所述第二纹理块的情况下,获取所述第一纹理块中所述绘制计数的数值最小的纹理块;以及第二确定模块,用于确定获取到的所述绘制计数的数值最小的纹理块为所述可用纹理块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155960.5A CN105022655B (zh) | 2014-04-17 | 2014-04-17 | 浏览器使用纹理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155960.5A CN105022655B (zh) | 2014-04-17 | 2014-04-17 | 浏览器使用纹理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105022655A true CN105022655A (zh) | 2015-11-04 |
CN105022655B CN105022655B (zh) | 2019-05-24 |
Family
ID=54412645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410155960.5A Active CN105022655B (zh) | 2014-04-17 | 2014-04-17 | 浏览器使用纹理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105022655B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664486A (zh) * | 2017-03-28 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种网页纹理内存管理方法及装置 |
CN109845284A (zh) * | 2016-10-12 | 2019-06-04 | Lg 电子株式会社 | 显示装置及其操作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
-
2014
- 2014-04-17 CN CN201410155960.5A patent/CN105022655B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794567A (zh) * | 2010-02-10 | 2010-08-04 | 中兴通讯股份有限公司 | 图片加载的方法及终端 |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
Non-Patent Citations (1)
Title |
---|
BOOK: "CCTextureCache", 《HTTP://BOOK.51CTO.COM/ART/201305/394926.HTM》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109845284A (zh) * | 2016-10-12 | 2019-06-04 | Lg 电子株式会社 | 显示装置及其操作方法 |
US11010037B2 (en) | 2016-10-12 | 2021-05-18 | Lg Electronics Inc. | Display device and operating method thereof |
CN109845284B (zh) * | 2016-10-12 | 2021-06-25 | Lg 电子株式会社 | 显示装置及其操作方法 |
CN108664486A (zh) * | 2017-03-28 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种网页纹理内存管理方法及装置 |
CN108664486B (zh) * | 2017-03-28 | 2022-12-09 | 深圳市雅阅科技有限公司 | 一种网页纹理内存管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105022655B (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309563B (zh) | 已显示页面的切换方法及装置 | |
CN105630478A (zh) | 一种实现页面切换的方法和装置 | |
CN111950056B (zh) | 建筑信息化模型bim展示方法及相关设备 | |
JP5973363B2 (ja) | メッセージングアプリケーションベースの広告提供方法及び広告提供システム | |
CN104571877A (zh) | 一种页面的显示处理方法及装置 | |
CN107959965B (zh) | 应用程序的降帧方法、装置、移动终端及可读存储介质 | |
CN106886544A (zh) | 一种数据处理方法及装置 | |
CN103744932A (zh) | 一种页面处理方法及装置 | |
CN105808307B (zh) | 一种页面显示方法和装置 | |
CN104283765A (zh) | 一种消息显示方法、装置及终端设备 | |
CN107517312A (zh) | 一种壁纸切换方法、装置及终端设备 | |
CN107864384A (zh) | 重定向云桌面上互联网视频播放的方法及装置 | |
CN111127469A (zh) | 缩略图显示方法、装置、存储介质以及终端 | |
US9754391B2 (en) | Webpage display method and apparatus | |
CN104951287A (zh) | 一种生成网页的方法及装置 | |
CN103955330A (zh) | 一种信息显示方法及装置 | |
CN103400284A (zh) | 广告呈现方法和装置 | |
CN101986289B (zh) | 一种提高浏览器页面渲染速度的方法和装置 | |
CN105022655A (zh) | 浏览器使用纹理的方法和装置 | |
CN107704598A (zh) | 瀑布流式网页加载方法、装置、终端与计算机可读存储介质 | |
CN108874875A (zh) | 网页内容异步加载方法、装置、可读存储介质和终端 | |
AU2016205616A1 (en) | Method of displaying content and electronic device implementing same | |
CN104572981A (zh) | 一种网页页面缓存处理方法和移动终端设备 | |
CN107193956A (zh) | 页面处理方法及装置 | |
CN107562324A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |