[发明专利]一种网页纹理内存管理方法及装置有效
申请号: | 201710193112.7 | 申请日: | 2017-03-28 |
公开(公告)号: | CN108664486B | 公开(公告)日: | 2022-12-09 |
发明(设计)人: | 王玉培 | 申请(专利权)人: | 深圳市雅阅科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518133 广东省深圳市宝安区新安街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网页 纹理 内存 管理 方法 装置 | ||
本发明实施例公开了一种网页纹理内存管理方法,包括:当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;从所述待回收纹理队列中获取所述原纹理;将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。本发明实施例还公开了一种网页纹理内存管理装置。采用本发明实施例,可以降低页面快速滑动时显示残缺页面的占比。
技术领域
本发明涉及电子技术领域,尤其涉及一种网页纹理内存管理方法及装置。
背景技术
现代浏览器为了更快的显示网页内容,基本上都采用硬件合成技术。将一张网页划分为多个小方块,每一个小方块的内容通过GPU(Graphic Processing Unit,图形处理器)生成纹理,每块纹理之间相对独立,当页面内容有更新时,只需更新该页面内容的区域对应的纹理即可,其他的纹理不需要重新生成。每块纹理占用一定的内存,为了保持高效的网页显示效率,同时不能让浏览器占用过多的内存,需要对网页中的纹理进行有效的管理。
在现有技术方案中,如图1所示,为了确保浏览器不占用过多的内存,chromium将当前不再使用的且距离当前视口较远的纹理放入待回收纹理队列中。待回收纹理队列中的纹理随时可能被删除,当浏览器总的纹理内存占用超过预先设定的阈值时,会释放待回收纹理队列中的纹理,直到总的纹理内存小于阈值。又如图2所示,当需要创建新的纹理时,先到待回收纹理队列查看是否有同样尺寸和格式的纹理,如果有则直接复用,省去创建纹理的耗时,同时将此纹理从待回收纹理队列中移除。但是,如图3所示,在页面来回快速滚动的场景下,由于设定区域的纹理从待回收纹理队列中被删除,并且更新纹理并还未及时被创建,因此,在浏览器的页面快速滑动到设定区域时,就会显示残缺部分。
发明内容
本发明实施例提供一种网页纹理内存管理方法及装置。可以解决现有技术方案中页面快速滑动过程中显示残缺区域的问题。
本发明第一方面提供了一种网页纹理内存管理方法,包括:
当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建;
当确定所述设定区域的更新纹理未创建,且确定所述设定区域的原纹理处于内存中待回收纹理队列中;
从所述待回收纹理队列中获取所述原纹理;
将所述原纹理标识为正在使用状态,所述正在使用状态的标识用于阻止所述原纹理从内存中释放;
当所述更新纹理创建后更新所述设定区域,将所述原纹理标识为可回收状态,所述可回收状态的标识用于标识所述原纹理可从所述内存中释放。
其中,所述将所述原纹理标识为正在使用状态之后,还包括:
当所述网页滑动到所述设定区域时,在所述原纹理上绘制所述设定区域的页面内容。
其中,所述当所述更新纹理创建后更新所述设定区域包括:
在所述更新纹理创建后使用所述更新纹理替换所述原纹理以显示所述设定区域的页面内容。
其中,所述当更新网页时,监控将要更新的页面的设定区域的更新纹理是否已创建之前,还包括:
获取当前可视区域的位置以及所述将要更新的页面的滚动距离;
根据所述当前可视区域的位置以及所述将要更新的页面的滚动距离,确定所述设定区域。
其中,所述从所述待回收纹理队列中获取所述原纹理包括:
检查所述设定区域的页面内容是否发生变化;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市雅阅科技有限公司,未经深圳市雅阅科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710193112.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据检查的方法及装置
- 下一篇:一种散列表数据的写入、读取方法及系统