CN108664486A - 一种网页纹理内存管理方法及装置 - Google Patents
一种网页纹理内存管理方法及装置 Download PDFInfo
- Publication number
- CN108664486A CN108664486A CN201710193112.7A CN201710193112A CN108664486A CN 108664486 A CN108664486 A CN 108664486A CN 201710193112 A CN201710193112 A CN 201710193112A CN 108664486 A CN108664486 A CN 108664486A
- Authority
- CN
- China
- Prior art keywords
- texture
- former
- setting regions
- update
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种网页纹理内存管理方法,包括:当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;从所述待回收纹理队列中获取所述原纹理;将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。本发明实施例还公开了一种网页纹理内存管理装置。采用本发明实施例,可以降低页面快速滑动时显示残缺页面的占比。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种网页纹理内存管理方法及装置。
背景技术
现代浏览器为了更快的显示网页内容,基本上都采用硬件合成技术。将一张网页划分为多个小方块,每一个小方块的内容通过GPU(Graphic Processing Unit,图形处理器)生成纹理,每块纹理之间相对独立,当页面内容有更新时,只需更新该页面内容的区域对应的纹理即可,其他的纹理不需要重新生成。每块纹理占用一定的内存,为了保持高效的网页显示效率,同时不能让浏览器占用过多的内存,需要对网页中的纹理进行有效的管理。
在现有技术方案中,如图1所示,为了确保浏览器不占用过多的内存,chromium将当前不再使用的且距离当前视口较远的纹理放入待回收纹理队列中。待回收纹理队列中的纹理随时可能被删除,当浏览器总的纹理内存占用超过预先设定的阈值时,会释放待回收纹理队列中的纹理,直到总的纹理内存小于阈值。又如图2所示,当需要创建新的纹理时,先到待回收纹理队列查看是否有同样尺寸和格式的纹理,如果有则直接复用,省去创建纹理的耗时,同时将此纹理从待回收纹理队列中移除。但是,如图3所示,在页面来回快速滚动的场景下,由于设定区域的纹理从待回收纹理队列中被删除,并且更新纹理并还未及时被创建,因此,在浏览器的页面快速滑动到设定区域时,就会显示残缺部分。
发明内容
本发明实施例提供一种网页纹理内存管理方法及装置。可以解决现有技术方案中页面快速滑动过程中显示残缺区域的问题。
本发明第一方面提供了一种网页纹理内存管理方法,包括:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
其中,所述将所述原纹理标识为正在使用状态之后,还包括:
当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
其中,所述当所述更新纹理创建后更新所述设定区域包括:
在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
其中,所述当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建之前,还包括:
获取当前可视区域的位置以及所述将要更新的页面的滚动距离;
根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
其中,所述从所述待回收纹理队列中获取所述原纹理包括:
检查所述设定区域的页面内容是否发生变化;
若检查到所述设定区域的页面内容未发生变化,则从所述待回收纹理队列中获取所述原纹理。
其中,所述当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态之后,还包括:
若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
相应地,本发明第二方面提供了一种网页纹理内存管理装置,包括:
页面监控模块,用于当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
纹理确定模块,用于当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
纹理获取模块,用于从所述待回收纹理队列中获取所述原纹理;
纹理标识模块,用于将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
区域更新模块,用于当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
其中,所述区域更新模块,还用于当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
其中,所述区域更新模块,还用于在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
其中,所述页面监控模块,还用于获取当前可视区域的位置以及所述将要更新的页面的滚动距离;根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
其中,所述纹理确定模块,还用于检查所述设定区域的页面内容是否发生变化;若检查到所述设定区域的页面内容未发生变化,则从所述待回收纹理队列中获取所述原纹理。
其中,所述装置还包括:
纹理回收模块,用于若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
相应地,本发明第三方面提供了一种网页纹理内存管理装置,所述装置包括接口电路、存储器以及处理器,其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执行以下操作:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
实施本发明实施例,首先当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;然后当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中,从所述待回收纹理队列中获取所述原纹理;其次将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;最后当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。通过在显示设定区域的页面内容之前,将原纹理标识为正在使用状态从而防止原纹理被释放,进而可以在原纹理绘制页面内容,减少显示残缺区域的占比。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术方案提供的一种页面纹理管理方法的流程示意图;
图2是现有技术方案提供的一种页面区域显示方法的流程示意图;
图3是现有技术方案提供的一种残缺区域的显示示意图;
图4是本发明实施例提出的一种网页纹理内存管理方法的流程示意图;
图5是本发明实施例提供的一种网页纹理内存管理的示意图;
图6是本发明另一实施例提出的一种网页纹理内存管理方法的流程示意图;
图7是本发明实施例提出的一种网页纹理内存管理装置的结构示意图;
图8是本发明另一实施例提出的一种网页纹理内存管理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图4,图4是本发明实施例提供的一种网页纹理内存管理方法的流程示意图。如图所示,本方法可以应用于浏览器X5内核,本发明实施例中的方法包括:
S401,当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建。
具体实现中,可以首先获取当前可视区域的位置以及所述将要更新的页面的滚动距离;根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。在确定设定区域之后,确定设定区域的更新纹理是否已经被创建,如果设定区域的更新纹理已经被创建,则在将要更新的页面滑动到设定区域时,直接在创建的更新纹理上绘制设定区域的内容,不会显示残缺区域。如果设定区域的更新纹理未被创建,则执行S402。
进一步的,可以将当前可视区域的位置加上将要更新的页面的滚动距离,计算得到设定区域的位置,从而确定将要更新的页面的设定区域。
需要说明的是,如图5所示,在网页来回快速滚动的场景下,当用户向下滑动网页时,网页上方的当前不再使用且距离当前视口超过第一预设阈值的纹理放入待回收纹理队列中,在用户停止向下滑动转而向上滑动网页时,此时网页的上方区域即为设定区域。但是,由于网页在向下滑动的过程中,待回收纹理队列中的已经存放了较多纹理,如果用户再向上滑动网页,网页下方的纹理也会存入待回收纹理队列中,可能导致待回收纹理队列中的纹理所占用的内存超过第二预设阈值,而最开始存放到待回收纹理队列中的纹理可能被释放。
S402,当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中。
具体实现中,可以建立页面区域的区域标识与纹理的特征标识的映射表,如果设定区域的更新纹理未创建,则首先从映射表查找出与所述设定区域的区域标识对应的原纹理的特征标识,然后根据原纹理的特征标识通过遍历待回收纹理队列查找原纹理。如果从待回收纹理队列未查找到原纹理,则确定所述设定区域的原纹理已经不再内存中待回收纹理队列中;如果从待回收纹理队列查找到原纹理,则执行S403。
可选的,若确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理不在内存中待回收纹理队列中,则在所述网页滑动到设定区域时,显示纯色。
S403,从所述待回收纹理队列中获取所述原纹理。
S404,将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放。
具体实现中,将所述原纹理标识为正在使用状态,此时在向上滑动网页时,虽然待回收纹理队列中所占的内存超过所述第二预设阈值,但是由于设定区域的原纹理已经标识为正在使用状态,会选择待回收纹理队列中的其他纹理释放,保留设定区域的原纹理。
S405,当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
具体实现中,如图5所示,当所述网页滑动到所述设定区域时,由于网页的快速滚动,设定区域的更新纹理来不及被创建,但是此前已经将纹理1标识为正在使用状态,待回收纹理队列中还保存有设定区域的原纹理,因此直接从待回收纹理队列中查找设定区域的纹理1,并在纹理1上绘制所述设定区域的页面内容,从而此时设定区域不会为残缺区域。
然后,在所述原纹理上绘制所述设定区域的页面内容之后,继续创建设定区域的更新纹理,在等待一段时间更新纹理创建成功之后,就可以使用更新纹理替换原纹理合成上屏,并将原纹理存放到待回收纹理队列中,标识所述原纹理为可回收状态,若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。其中,上屏是指把纹理传输到GPU屏幕缓冲区并显示图像的过程。
在本发明实施例中,首先当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;然后当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中,从所述待回收纹理队列中获取所述原纹理;其次将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;最后当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。通过在显示设定区域的页面内容之前,将原纹理标识为正在使用状态从而防止原纹理被释放,进而可以在原纹理绘制页面内容,减少显示残缺区域的占比。
请参考图6,图6是本发明另一实施例提供的一种网页纹理内存管理方法的流程示意图。如图所示,本发明实施例中的方法包括:
S601,当更新网页时,监控到将要更新的页面的设定区域的更新纹理未创建。
具体实现中,可以首先获取当前可视区域的位置以及所述将要更新的页面的滚动距离;根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。在确定设定区域之后,确定设定区域的更新纹理是否已经被创建,如果设定区域的更新纹理未被创建,则执行S602。
进一步的,可以将当前可视区域的位置加上所述将要更新的页面的滚动距离,计算得到设定区域的位置,从而确定设定区域。
S602,检查所述设定区域的页面内容是否发生变化。
具体实现中,由于设定区域的页面内容最先是绘制在原纹理上的,因此设定区域的页面内容与原纹理存在匹配关系,如果页面内容发生变化,相应的原纹理就不能再使用,因此在重复使用原纹理之前,首先需要检查设定区域的页面内容是否有更新,如果设定区域的页面内容有更新,则执行S607;如果设定区域的页面内容没有更新,则执行S603。
S603,若所述设定区域的页面内容未发生变化,则确定所述待回收纹理队列中的所述设定区域的原纹理是否已被释放。
具体实现中,如图5所示,在页面来回快速滚动的场景下,当用户向下滑动网页时,网页上方的当前不再使用且距离当前视口超过第一预设阈值的纹理放入待回收纹理队列中,在用户停止向下滑动转而向上滑动网页时,此时网页的上方区域即为设定区域。但是,由于网页在向下滑动的过程中,待回收纹理队列中的已经存放了较多纹理,如果用户再向上滑动网页,网页下方的纹理也会存入待回收纹理队列中,可能导致待回收纹理队列中的纹理所占用的内存超过第二预设阈值,而最开始存放到待回收纹理队列中的纹理可能被删除。因此需要确定所述待回收纹理队列中的所述设定区域的原纹理是否已被释放,如果原纹理被释放,则执行S607;如果原纹理未被释放,则执行S604。
S604,若所述待回收纹理队列中的所述设定区域的原纹理未被释放,从待回收纹理队列中获取所述设定区域的原纹理,并将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放。
具体实现中,可以建立页面区域的区域标识与纹理的特征标识的映射表,如果设定区域的纹理未创建,则首先从映射表查找出与所述设定区域的区域标识对应的原纹理的特征标识,然后根据原纹理的特征标识通过遍历待回收纹理队列查找出原纹理。在原纹理查找出来之后,将所述原纹理标识为正在使用状态,此时在向上滑动网页时,虽然待回收纹理队列中所占的内存超过所述第二预设阈值,但是由于设定区域的原纹理已经标识为正在使用状态,会选择待回收纹理队列中的其他纹理释放,保留设定区域的原纹理。
S605,当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
具体实现中,如图5所示,当所述网页滑动到所述设定区域时,由于网页的快速滚动,设定区域的纹理来不及被创建,但是此前已经将纹理1标识为正在使用状态,待回收纹理队列中还保存有设定区域的原纹理,因此直接从待回收纹理队列中查找设定区域的纹理1,并在纹理1上绘制所述设定区域的页面内容,从而此时设定区域不会为残缺区域。
S606,在所述更新纹理被创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
具体实现中,在所述原纹理上绘制所述设定区域的页面内容之后,继续创建设定区域的更新纹理,在等待一段时间更新纹理创建成功之后,就可以使用更新纹理替换原纹理合成上屏,并将原纹理存放到待回收纹理队列中,若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。其中,上屏是指把纹理传输到GPU屏幕缓冲区并显示图像的过程。
S607,若检查到所述设定区域的页面内容发生变化或所述待回收纹理队列中的所述设定区域的原纹理已被释放,则当所述网页滑动到所述设定区域时显示纯色。
在本发明实施例中,首先当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;然后当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中,从所述待回收纹理队列中获取所述原纹理;其次将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;最后当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。通过在显示设定区域的页面内容之前,将原纹理标识为正在使用状态从而防止原纹理被释放,进而可以在原纹理绘制页面内容,减少显示残缺区域的占比。
请参考图7,图7是本发明实施例提供的一种网页纹理内存管理装置的结构示意图。如图所示,本发明实施例中的装置包括:
页面监控模块701,用于当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建。
具体实现中,可以首先获取当前可视区域的位置以及所述将要更新的页面的滚动距离;根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。在确定设定区域之后,确定设定区域的更新纹理是否已经被创建,如果设定区域的更新纹理已经被创建,则在将要更新的页面滑动到设定区域时,直接在创建的更新纹理上绘制设定区域的内容,不会显示残缺区域。如果设定区域的更新纹理未被创建,则执行纹理确定模块702。
进一步的,可以将当前可视区域的位置加上将要更新的页面的滚动距离,计算得到设定区域的位置,从而确定将要更新的页面的设定区域。
需要说明的是,如图5所示,在网页来回快速滚动的场景下,当用户向下滑动网页时,网页上方的当前不再使用且距离当前视口超过第一预设阈值的纹理放入待回收纹理队列中,在用户停止向下滑动转而向上滑动网页时,此时网页的上方区域即为设定区域。但是,由于网页在向下滑动的过程中,待回收纹理队列中的已经存放了较多纹理,如果用户再向上滑动网页,网页下方的纹理也会存入待回收纹理队列中,可能导致待回收纹理队列中的纹理所占用的内存超过第二预设阈值,而最开始存放到待回收纹理队列中的纹理可能被释放。
纹理确定模块702,用于当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
具体实现中,可以建立页面区域的区域标识与纹理的特征标识的映射表,如果设定区域的更新纹理未创建,则首先从映射表查找出与所述设定区域的区域标识对应的原纹理的特征标识,然后根据原纹理的特征标识通过遍历待回收纹理队列查找原纹理。如果从待回收纹理队列未查找到原纹理,则确定所述设定区域的原纹理已经不再内存中待回收纹理队列中;如果从待回收纹理队列查找到原纹理,则执行纹理获取模块703。
可选的,若确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理不在内存中待回收纹理队列中,则在所述网页滑动到设定区域时,显示纯色。
纹理获取模块703,用于从所述待回收纹理队列中获取所述原纹理。
纹理标识模块704,用于将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放。
具体实现中,将所述原纹理标识为正在使用状态,此时在向上滑动网页时,虽然待回收纹理队列中所占的内存超过所述第二预设阈值,但是由于设定区域的原纹理已经标识为正在使用状态,会选择待回收纹理队列中的其他纹理释放,保留设定区域的原纹理。
区域更新模块705,用于当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
具体实现中,如图5所示,当所述网页滑动到所述设定区域时,由于网页的快速滚动,设定区域的更新纹理来不及被创建,但是此前已经将纹理1标识为正在使用状态,待回收纹理队列中还保存有设定区域的原纹理,因此直接从待回收纹理队列中查找设定区域的纹理1,并在纹理1上绘制所述设定区域的页面内容,从而此时设定区域不会为残缺区域。
然后,在所述原纹理上绘制所述设定区域的页面内容之后,继续创建设定区域的更新纹理,在等待一段时间更新纹理创建成功之后,就可以使用更新纹理替换原纹理合成上屏,并将原纹理存放到待回收纹理队列中,标识所述原纹理为可回收状态。其中,上屏是指把纹理传输到GPU屏幕缓冲区并显示图像的过程。
可选的,如图7所示,本发明实施例中的装置还可以包括:
纹理回收模块706,用于若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
在本发明实施例中,首先当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;然后当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中,从所述待回收纹理队列中获取所述原纹理;其次将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;最后当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。通过在显示设定区域的页面内容之前,将原纹理标识为正在使用状态从而防止原纹理被释放,进而可以在原纹理绘制页面内容,减少显示残缺区域的占比。
请参考图8,图8是本发明另一实施例提供的一种网页纹理内存管理装置的结构示意图。如图所示,该装置可以包括:至少一个处理器801,例如CPU,至少一个通信接口802,至少一个存储器803,至少一个总线808。其中,总线808用于实现这些组件之间的连接通信。其中,本发明实施例中装置的通信接口802是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器803可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器803可选的还可以是至少一个位于远离前述处理器801的存储装置。存储器803中存储一组程序代码,且处理器801用于调用存储器中存储的程序代码,用于执行以下操作:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
其中,处理器801还用于执行如下操作步骤:
当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
其中,处理器801还用于执行如下操作步骤:
在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
其中,处理器801还用于执行如下操作步骤:
获取当前可视区域的位置以及所述将要更新的页面的滚动距离;
根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
其中,处理器801还用于执行如下操作步骤:
检查所述设定区域的页面内容是否发生变化;
若检查到所述设定区域的页面内容未发生变化,则从所述待回收纹理队列中获取所述原纹理。
其中,处理器801还用于执行如下操作步骤:
若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种网页纹理内存管理方法,其特征在于,所述方法包括:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
2.如权利要求1所述的方法,其特征在于,所述将所述原纹理标识为正在使用状态之后,还包括:
当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
3.如权利要求2所述的方法,其特征在于,所述当所述更新纹理创建后更新所述设定区域包括:
在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
4.如权利要求1所述的方法,其特征在于,所述当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建之前,还包括:
获取当前可视区域的位置以及所述将要更新的页面的滚动距离;
根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
5.如权利要求1所述的方法,其特征在于,所述从所述待回收纹理队列中获取所述原纹理包括:
检查所述设定区域的页面内容是否发生变化;
若检查到所述设定区域的页面内容未发生变化,则从所述待回收纹理队列中获取所述原纹理。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态之后,还包括:
若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
7.一种网页纹理内存管理装置,其特征在于,所述装置包括:
页面监控模块,用于当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
纹理确定模块,用于当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
纹理获取模块,用于从所述待回收纹理队列中获取所述原纹理;
纹理标识模块,用于将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
区域更新模块,用于当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
8.如权利要求7所述的装置,其特征在于,所述区域更新模块,还用于当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
9.如权利要求8所述的装置,其特征在于,所述区域更新模块,还用于在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
10.如权利要求7所述的装置,其特征在于,所述页面监控模块,还用于获取当前可视区域的位置以及所述将要更新的页面的滚动距离;根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
11.如权利要求7所述的装置,其特征在于,所述纹理确定模块,还用于检查所述设定区域的页面内容是否发生变化;若检查到所述设定区域的页面内容未发生变化,则从所述待回收纹理队列中获取所述原纹理。
12.如权利要求7-11任意一项所述的装置,其特征在于,所述装置还包括:
纹理回收模块,用于若所述待回收纹理队列中的所有纹理所占内存大小大于预设阈值,则释放所述存放到所述待回收纹理队列中的所述原纹理。
13.一种网页纹理内存管理装置,其特征在于,所述装置包括接口电路、存储器以及处理器,其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,用于执行以下操作:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710193112.7A CN108664486B (zh) | 2017-03-28 | 2017-03-28 | 一种网页纹理内存管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710193112.7A CN108664486B (zh) | 2017-03-28 | 2017-03-28 | 一种网页纹理内存管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664486A true CN108664486A (zh) | 2018-10-16 |
CN108664486B CN108664486B (zh) | 2022-12-09 |
Family
ID=63786546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710193112.7A Active CN108664486B (zh) | 2017-03-28 | 2017-03-28 | 一种网页纹理内存管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664486B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408191A (zh) * | 2018-11-06 | 2019-03-01 | 深圳乐信软件技术有限公司 | 页面更新方法、装置、设备及存储介质 |
CN112370771A (zh) * | 2020-10-20 | 2021-02-19 | 广州西山居世游网络科技有限公司 | 游戏运行内存动态调节方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052595A2 (en) * | 1999-03-04 | 2000-09-08 | Mannacom Technologies Inc. | Method and system for transmitting texture information through communications networks |
US20030016229A1 (en) * | 1999-03-24 | 2003-01-23 | Angus Dorbie | Methods and apparatus for memory management |
US20080126021A1 (en) * | 2006-11-27 | 2008-05-29 | Ramsay Hoguet | Converting web content into texture mapping objects |
WO2013034094A1 (zh) * | 2011-09-07 | 2013-03-14 | 腾讯科技(深圳)有限公司 | 一种网页浏览方法、装置及存储介质 |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
CN103605534A (zh) * | 2013-10-31 | 2014-02-26 | 武汉极讯软件有限责任公司 | 图片加载方法及装置 |
CN105022655A (zh) * | 2014-04-17 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 浏览器使用纹理的方法和装置 |
CN105487848A (zh) * | 2014-10-08 | 2016-04-13 | Tcl集团股份有限公司 | 一种3d应用的显示刷新方法及系统 |
CN106250023A (zh) * | 2016-08-01 | 2016-12-21 | 北京林业大学 | 基于WebGL的网页建立及操作方法 |
-
2017
- 2017-03-28 CN CN201710193112.7A patent/CN108664486B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052595A2 (en) * | 1999-03-04 | 2000-09-08 | Mannacom Technologies Inc. | Method and system for transmitting texture information through communications networks |
US20030016229A1 (en) * | 1999-03-24 | 2003-01-23 | Angus Dorbie | Methods and apparatus for memory management |
US20080126021A1 (en) * | 2006-11-27 | 2008-05-29 | Ramsay Hoguet | Converting web content into texture mapping objects |
WO2013034094A1 (zh) * | 2011-09-07 | 2013-03-14 | 腾讯科技(深圳)有限公司 | 一种网页浏览方法、装置及存储介质 |
CN103186919A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种文字渲染方法及装置 |
CN103605534A (zh) * | 2013-10-31 | 2014-02-26 | 武汉极讯软件有限责任公司 | 图片加载方法及装置 |
CN105022655A (zh) * | 2014-04-17 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 浏览器使用纹理的方法和装置 |
CN105487848A (zh) * | 2014-10-08 | 2016-04-13 | Tcl集团股份有限公司 | 一种3d应用的显示刷新方法及系统 |
CN106250023A (zh) * | 2016-08-01 | 2016-12-21 | 北京林业大学 | 基于WebGL的网页建立及操作方法 |
Non-Patent Citations (3)
Title |
---|
DOAEMON蓝胖子: "纹理内存器的特性及其使用", 《HTTPS://BLOG.CSDN.NET/SONGHONGDAN/ARTICLE/DETAILS/50903179?》 * |
SANGHO LEE等: "Stealing Webpages Rendered on Your Browser by Exploiting GPU Vulnerabilities", 《2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》 * |
刘志浩: "城市道路街景系统及全景图优化技术", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408191A (zh) * | 2018-11-06 | 2019-03-01 | 深圳乐信软件技术有限公司 | 页面更新方法、装置、设备及存储介质 |
CN112370771A (zh) * | 2020-10-20 | 2021-02-19 | 广州西山居世游网络科技有限公司 | 游戏运行内存动态调节方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108664486B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885666A (zh) | 一种内存管理方法和装置 | |
US9830264B2 (en) | Cache memory system and operating method for the same | |
US20090096810A1 (en) | Method for selectively remoting windows | |
CN106598655A (zh) | 应用程序页面处理方法和装置 | |
CN104063125B (zh) | 一种桌面图标管理方法和装置 | |
CN107278292B (zh) | 一种虚拟机内存的映射方法、装置及数据传输设备 | |
CN105893278A (zh) | 系统缓存垃圾清理方法、装置和终端设备 | |
CN104156321B (zh) | 一种数据预取的方法以及装置 | |
CN103473343A (zh) | 一种文件管理方法、装置以及终端 | |
CN106569898A (zh) | 一种资源分配的方法以及移动终端 | |
CN108664486A (zh) | 一种网页纹理内存管理方法及装置 | |
CN109582153A (zh) | 信息输入方法及装置 | |
CN105893266B (zh) | 用于重新使用文件系统的存储块的方法和装置 | |
CN104123173B (zh) | 一种实现虚拟机间通信的方法及装置 | |
WO2022127804A1 (zh) | 应用图标的管理方法及装置 | |
US20130111386A1 (en) | Logical cpu division usage heat map representation | |
CN109522282B (zh) | 图片管理方法、装置、计算机装置及存储介质 | |
CN104462403B (zh) | 文件截断方法和装置 | |
CN106570059A (zh) | 文件打开方法及系统 | |
US20170039138A1 (en) | Information processing system, information processing method, and recording medium storing an information processing program | |
CN108228340A (zh) | 终端控制方法及装置、终端设备及计算机可读存储介质 | |
CN116303141A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN109271538A (zh) | 一种图片存储方法及相关设备 | |
CN108733489A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN106155479A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221111 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Applicant after: Shenzhen Yayue Technology Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |