CN109685712B - 图像缓存和使用方法及装置、终端 - Google Patents
图像缓存和使用方法及装置、终端 Download PDFInfo
- Publication number
- CN109685712B CN109685712B CN201710973366.0A CN201710973366A CN109685712B CN 109685712 B CN109685712 B CN 109685712B CN 201710973366 A CN201710973366 A CN 201710973366A CN 109685712 B CN109685712 B CN 109685712B
- Authority
- CN
- China
- Prior art keywords
- image
- level
- buffer area
- terminal
- level buffer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种数据缓存和使用方法及装置、终端,其中在终端利用多级缓存区为应用缓存图像的情况下,终端显存设置有为应用缓存图像的一级缓存区。本申请在终端利用多级缓存区为应用缓存图像的情况下,利用终端显存替代内存缓存区作为一级缓存区,后续利用终端显存缓存图像。应用可以无需再划分预设数据量内存中部分内存空间来缓存图像,从而彻底解决应用消耗较多内存缓存图像所引发的问题。此外,由于终端显存的容量远远大于内存缓存区的容量,所以,相比于内存缓存区而言可以存储更多图像,从而提高一级缓存区的命中率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种图像缓存及使用方法及装置、终端。
背景技术
终端可以安装很多应用,应用可以在页面显示图像,对于页面尤其是可滚动页面而言图像显示速度尤为重要。为了提高图像显示效率,应用从网络下载图像后,可以将图像缓存在终端本地。
参见图1,目前终端通常采用两级缓存区来为应用缓存图像。其中,一级缓存区为内存缓存区(终端从终端内存中为应用分配预设数据量内存,应用划分预设数据量内存中的部分内存用于缓存图像,该部分内存称为内存缓存区),二级缓存区为文件缓存区(终端从终端存储设备中为应用分配的存储区域)。
处理器获取缓存图像时,优先从一级缓存区也即内存缓存区查找图像。若在一级缓存区未查找到图像,再从二级缓存区查找图像,若在二级缓存区仍未查找到图像,则通过网络下载图像。
为了提高图像显示效率,需要一级缓存区(内存缓存区)的容量较大,以便一级缓存区(内存缓存区)缓存较多图像,从而提高一级缓存区的命中率,进而提高图像显示效率。
但是,由于应用可用的内存空间有限。以一款终端为例,终端为应用分配的预设数据量内存为192MB。为了保证图像显示速度,应用至少需要划分80~100MB左右用于缓存图像;在本举例中应用消耗近一半的内存用来缓存图像。
由于应用可用内存空间有限,在应用消耗较多内存空间用于缓存图像的情况下,应用可能会出现页面卡顿、甚至因内存溢出而崩溃的等问题。
发明内容
鉴于此,本申请提供一种图像缓存及使用方法、装置及终端,本申请将终端显存作为一级缓存区,借助于终端显存来缓存图像,应用无需划分存储空间用来缓存图像,所以解决应用消耗较多内存缓存图像所引发的问题。
为了实现上述目的,本申请提供了下述技术特征:
一种终端,其特征在于,包括:
在终端利用多级缓存区为应用缓存图像的情况下,终端显存设置有为应用缓存图像的一级缓存区;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级。
可选的,多级缓存区包括在终端存储设备上为应用缓存图像的二级缓存区;其中,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本;
与所述二级缓存区相连的终端内存,用于在终端对所述二级缓存区上的缓存图像解码后获得解码后图像,并传输解码后图像至所述一级缓存区。
一种图像缓存方法,包括:
在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像;
对所述图像执行解码操作,在终端内存获得解码后图像;
确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存;
存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本。
可选的,所述存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区,包括:调用终端内存与终端显存的数据接口,输入所述解码后图像和所述一级缓存区的地址至所述数据接口;
由所述数据接口传输所述解码后数据至终端显存中所述一级缓存区的地址对应一级缓存区。
可选的,所述终端内存与终端显存的数据接口包括OpenGL接口;获取所述OpenGL接口反馈的标识,将该标识作为该图像的图像标识,以用于后续基于图像标识来从终端显存获取图像。
可选的,所述存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区,包括:
所述解码后图像以图像纹理方式,存储于所述一级缓存区。
一种图像缓存装置,包括:
一级存储单元,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像;
解码单元,用于对所述图像执行解码操作,在终端内存获得解码后图像;
确定地址单元,用于确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存;
存储单元,用于存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本。
一种图像缓存方法,包括:
接收解码后图像以及应用对应的一级缓存区的地址;其中,所述一级缓存区位于终端显存;
在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级。
可选的,所述在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像,包括:
在所述一级缓存区的空闲数据量小于所述解码后图像的数据量的情况下,清空所述一级缓存区;
在所述一级缓存区的空闲数据量大于所述解码后图像的数据量的情况下,在所述一级缓存区存储所述解码后图像。
可选的,还包括:
确定所述图像的图像标识,以及,所述图像在所述一级缓存区的存储地址;
构建并保存所述图像标识与所述存储地址的对应关系。
一种图像缓存装置,包括:
接收单元,用于接收解码后图像以及应用对应的一级缓存区的地址;
一级存储单元,用于在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级。
一种图像缓存方法,包括:
在终端存储设备中应用对应的二级缓存区,存储应用从网络下载的图像;
对所述图像执行解码操作,在终端内存获得解码后图像;
在位于终端显存的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本。
可选的,所述在位于终端显存的一级缓存区存储所述解码后图像,包括:
确定所述一级缓存区的地址;
通过终端内存与终端显存的数据接口,传输所述解码后数据和所述一级缓存区的地址至所述终端显存;
在终端显存与所述一级缓存区的地址对应的一级缓存区存储所述解码后图像。
可选的,还包括:
确定所述图像的图像标识,以及,所述图像在所述一级缓存区的存储地址;
构建并保存所述图像标识与所述存储地址的对应关系。
一种终端,包括:
处理器,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像,对所述图像执行解码操作,在终端内存获得解码后图像,确定应用对应一级缓存区的地址,传输所述解码后图像以及所述一级缓存区的地址至终端显存;其中,所述一级缓存区位于终端显存;
终端存储设备,用于在应用对应的二级缓存区,存储应用从网络下载的图像;
终端显存,用于接收解码后图像以及应用对应的一级缓存区的地址,在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本。
一种图像使用方法,包括:
确定图像标识以及一级缓存区的地址;其中,所述一级缓存区位于终端显存;
若在终端显存查找到与所述图像标识,则获得与所述图像标识对应的存储地址;
发送该存储地址至图形处理器,由所述图形处理器基于该存储地址从所述终端显存获取并显示图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级。
一种终端,包括:
终端显存,用于在应用的一级缓存区的地址对应的一级缓存区存储图像;
处理器,用于确定图像标识以及应用对应的一级缓存区的地址;若在终端显存查找到所述图像标识,则获得与所述图像标识对应的存储地址,发送该存储地址至图形处理器;
图形处理器,用于基于该存储地址从所述终端显存获取图像并显示图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级。
一种图像使用装置,包括:
图像显示组件,用于发送包含图像标识的纹理请求至纹理缓存模块,若在纹理缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在纹理缓存模块查找到图像,则发送包含图像标识的图像请求至文件缓存模块;若在文件缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在文件缓存模块查找到图像,则向网络发送包含图像标识的下载请求;
纹理缓存模块,用于接收包含图像标识的纹理请求,若查找到与图像标识对应的图像,则反馈图像纹理至图像显示组件;
文件缓存模块,用于接收包含图像标识的图像请求,若查找到与图像标识对应的图像,则经终端内存中的文件交换区反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件;还用于接收从网络下载的图像反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件。
通过以上技术手段,可以实现以下有益效果:
本申请在终端利用多级缓存区为应用缓存图像的情况下,利用终端显存替代内存缓存区作为一级缓存区,后续利用终端显存缓存图像。应用可以无需再划分预设数据量内存中部分内存空间来缓存图像,从而彻底解决应用消耗较多内存缓存图像所引发的问题。
此外,由于终端显存的容量远远大于内存缓存区的容量,所以,相比于内存缓存区而言可以存储更多图像,从而提高一级缓存区的命中率。
并且,缓存图像存储终端显存,所以,CPU仅需传输缓存图像的地址至图形处理器即可,无需传输图像本身至图形处理器,从而可以简化处理器与图形处理器之间的数据传输。
并且,由于终端显存与图形处理器(GPU)直接相连,所以,后续图形处理器(GPU)可以直接从终端显存提取并显示图像,可以提高图像显示效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的一种终端的结构示意图;
图2a-2b为本申请实施例公开的一种终端的结构示意图;
图3为本申请实施例公开的一种数据缓存方法流程图;
图4为本申请实施例公开的一种数据使用方法的流程图;
图5为本申请实施例公开的一种数据缓存装置的结构图;
图6为本申请实施例公开的一种数据使用装置的结构图;
图7为本申请实施例公开的一种数据使用装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
术语解释:
终端存储设备:常见的是磁盘,也有基于NAND Flash的固态硬盘。
图像库:终端所安装应用中专门用于执行图像加载、管理、显示的软件库。
图形处理器:终端内专门用于处理图像任务的处理器,即GPU,GraphicsProcessing Unit。
终端内存:终端的物理内存的一部分内存。
终端显存:终端的物理内存划分至GPU使用内存。
OpenGL:一种跨平台的专业图形程序接口。
参见图2a,本申请中终端可以采用多级缓存区为应用缓存图像:设置于终端显存的一级缓存区、设置于终端存储设备的二级缓存区、三级缓存区……N级缓存区,其中N为自然数。
其中,处理器从一级缓存区获取图像的响应成本为第一等级,二级缓存区对应响应称为第二等级,……N级缓存区对应的响应成本为第N等级。
所述第一等级的响应成本小于第二等级的响应成本……小于第N等级的响应成本。即,第一等级的响应成本最低。
响应成本可以包括处理器取回图像的时间成本,取回时间越短、响应成本越低;响应成本还可以包括系统资源消耗成本,系统资源消耗成本越小、响应成本越低;响应成本还可以包括响应速度,响应速度越快、响应成本越低。
参见图2b,以两级缓存区为应用缓存图像为例,两级缓存区包括:设置于终端显存的一级缓存区和设置在终端存储设备上的二级缓存区。
可以理解的是,终端安装的多个应用(APP)均可以采用多级缓存区来缓存图像。处理器可以主动从终端显存为若干应用分配存储空间(也即存储地址),或者,应用向处理器发送申请指令,以获取终端显存可用的存储空间(也即存储地址),以便若干应用分别将各自获得的存储空间作为一级缓存区。
基于目前终端内部传输架构而言,终端显存与终端存储设备之间无法直接进行数据交互。因此,参见图2a-2b所示,在终端内存中划分一部分作为数据交换区,以便位于终端存储设备上的二级缓存区传输图像到数据交换区,数据交换区传输图像到位于终端显存的一级缓存区。
数据交换区的大小为原来内存缓存区大小的10%~25%,这样可以避免占用应用较多内存,从而解决应用消耗较多内存缓存图像所引发的问题,并且还可以减小终端内存使用压力和内存回收压力。
为了解决应用消耗较多内存空间用于缓存图像,所引起的应用可能会出现页面卡顿、甚至因内存溢出而崩溃的等问题,本申请不再采用内存缓存区作为一级缓存区,而是利用终端显存替代内存缓存区作为一级缓存区,后续利用终端显存缓存图像。
应用可以无需再划分预设数据量内存中部分内存空间来缓存图像,从而彻底解决应用消耗较多内存缓存图像所引发的问题。
此外,终端显存的容量至少在512MB以上,是现有内存缓存区80-100MB左右的5倍多。因此,本申请的一级缓存区的容量远大于现有技术中的一级缓存区,所以可以存储更多图像,以便提高一级缓存区的命中率。
基于图2a和图2b所示多级缓存区,本申请提供了一种图像缓存方法。本方法集成于终端应用(APP)中,并且,应用预先存储有多级缓存区的地址。其中,一级缓存区位于终端显存中,一级缓存区的地址为终端显存中的存储地址。
参见图3,图像缓存方法具体包括以下步骤:
步骤S201:应用在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像。
对于图2a所示的多级缓存区而言,从网络下载的图像会经过N级缓存区-N-1缓存区……三级缓存区,再从三级缓存区达到终端存储设备中的二级缓存区。对于图2b所示的两级缓存区而言,从网络下载的图像会到达终端二级缓存区。
关于步骤S201的具体处理过程已为成熟技术,在此不再赘述。
步骤S202:应用对所述图像执行解码操作,在终端内存获得解码后图像。
应用会调用解码函数对图像执行解码操作,解码函数会从终端存储设备中应用对应的二级缓存区获取图像,并对图像执行解码操作,在解码完毕解码函数会反馈解码后图像。
应用的软件程序运行在终端内存,所以解码函数反馈的解码后图像也会存在于终端内存。由于后续过程中,加码后图像会从终端内存传输至终端显存的一级缓存区,所以终端内存起到终端存储设备与终端显存之间数据交互的作用,因此,将解码后图像在终端内存的存储空间称为数据交换区。
步骤S203:应用确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存。
应用在预先存储的多级缓存区的地址中,确定一级缓存区的地址。
步骤S204:应用传输所述解码后图像以及所述一级缓存区的地址至终端显存。
应用会调用终端内存与终端显存的数据接口,传输解码后图像以及一级缓存区的地址到终端显存,以便终端显存在一级缓存区的地址对应的存储区域存储解码后图像。
可选的,终端内存与终端显存的数据接口可以包括OpenGL接口,OpenGL接口为一种跨平台的专业图形程序接口。
应用调用OpenGL接口,OpenGL接口会生成一个标识,应用可以将该标识作为图像标识,以用于后续基于图像标识查找图像。
OpenGL接口获取解码后图像以及所述一级缓存区的地址,并传输解码后图像以及所述一级缓存区的地址至终端显存。关于OpenGL接口的具体使用过程,已为成熟技术,在此不再赘述。
步骤S205:终端显存接收解码后图像以及应用对应的一级缓存区的地址;其中,所述一级缓存区位于终端显存。
同理,终端显存会通过终端内存与终端显存的数据接口,接收终端内存发送的解码后图像以及一级缓存区的地址。
可选的,终端内存与终端显存的数据接口可以包括OpenGL接口,OpenGL接口为一种跨平台的专业图形程序接口。关于OpenGL接口的具体使用过程,已为成熟技术,在此不再赘述。
步骤S206:终端显存在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像。
由于终端显存的一级缓存区可以为应用缓存图像,所以在此之前终端显存内可能已经缓存一部分图像。
因此,终端显存可以确定一级缓存区的空闲数据量,并确定解码后图像的数据量。然后,对比一级缓存区的空闲数据量和解码后图像的数据量。
若在所述一级缓存区的空闲数据量小于所述解码后图像的数据量的情况下,为了存储解码后图像,终端显存会清空所述一级缓存区,并在一级缓存区中存储解码后图像。
若在所述一级缓存区的空闲数据量大于所述解码后图像的数据量的情况下,可以保留已缓存图像,在所述一级缓存区存储所述解码后图像。
步骤S207:终端显存确定所述图像标识,以及,所述图像在所述一级缓存区的存储地址,构建并保存所述图像标识与所述存储地址的对应关系。
这样可以便于后续通过对应关系和图像标识,在终端显存查找图像标识对应的存储地址。
可选的,终端显存可以以图像纹理的方式,在一级缓存区存储解码后图像。
通过上述内容可以看出本申请具有以下有益效果:
为了解决应用消耗较多内存空间用于缓存图像,所引起的应用可能会出现页面卡顿、甚至因内存溢出而崩溃的等问题,本申请不再采用内存缓存区作为一级缓存区,而是利用终端显存替代内存缓存区作为一级缓存区,后续利用终端显存缓存图像。
本申请中应用可以无需再划分预设数据量内存中部分内存空间来缓存图像,从而彻底解决应用消耗较多内存缓存图像所引发的问题。
基于图3所示的图像缓存方法的基础上,提供了一种图像使用方法。参见图4,图像使用方法具体包括以下步骤:
步骤S301:应用确定图像标识以及一级缓存区的地址;其中,所述一级缓存区位于终端显存。
应用在需要显示图像时首先确定图像标识,以及,一级缓存区的地址。
步骤S302:应用发送包含图像标识和一级缓存区的地址的查找指令至终端显存。
步骤S303:终端显存基于一级缓存区的地址对应的一级缓存区查找所述图像标识。若查找到则进入步骤S304,若未查找到则进入步骤S307。
应用调用OpenGL接口发送包含图像标识的一级缓存区的地址的查找指令至终端显存。终端显存通过一级缓存区的地址确定一级缓存区对应的对应关系,对应关系包括一级缓存区内的各个图像标识与各个存储地址的对应关系。
终端显存在对应关系中查找图像标识,若查找到,则说明位于终端显存的一级缓存区存储有图像标识对应的图像;反之,则说明位于终端显存的一级缓存区未存储有图像标识对应的图像。
步骤S304:若查找到,则应用获得终端显存反馈与所述图像标识对应的存储地址。
由于终端显存的存储空间至少为512MB,是原来内存缓存大小的5倍以上。在一级缓存区的存储空间大大增加后可以存储缓存更多图像,在缓存图像增加后,可以很大程度上提高一级缓存的命中率,从而提高图像显示效率。
步骤S305:应用发送图像标识对应的存储地址至图形处理器。
步骤S305:图像处理器基于存储地址在终端显存中获取并显示图像。
由于图形处理器可以直接从终端显存获取并显示图像,因此,终端显存仅仅反馈图像标识对应的存储地址即可,应用所在处理器CPU与图形处理器GPU之间可以传输存储地址即可;无需像现有技术处理器一样从内存缓存区获取图像本身,并由处理器传输图像本身至图形处理器。
由于存储地址数据量远远小于图像本身的数据量,所以减少处理器CPU与图形处理器GPU之间的传输数据量,从而缓解CPU与GPU之间的传输压力,提高传输效率。
步骤S306:若未查找到,则应用获得终端显存反馈的表示未缓存图像的结果。
后续应用在确定二级缓存区的地址,并在终端存储设备的二级缓存区的地址对应的二级缓存区查找图像。若未查找到图像,则应用获得表示未缓存图像的结果。然后,继续在三级缓存区……N级缓存区查找图像,若在N级缓存区为查找到图像则从网络下载图像,并在各级缓存区进行存储。
以二级缓存区为例,若在二级缓存区查找到图像,应用执行步骤S202-S207的过程,以便在一级缓存区存储图像,应用图像在获得一级缓存区的存储地址,再执行S304和S305的执行过程。
以三级缓存区为例,若在三级缓存区查找到图像,在发送到二级缓存区。应用执行步骤S202-S207的过程,以便在一级缓存区存储图像,应用图像在获得一级缓存区的存储地址,再执行S304和S305的执行过程。
通过上述内容可以发现:
在多级缓存区中,靠近一级缓存区的为低等级缓存区,靠近N级缓存区的为高级缓存区。高级缓存区的容量大于低级缓存区的容量,但是从高级缓存区获取图像的成本高于低级缓存区。
因此,应用在使用缓存图像时,优先从低等级缓存区查找图像。即优先从一级缓存区查找图像,若在一级缓存区便可以查找到图像,则可以尽快显示图像,从而提高图像显示效率。
若低等级缓存区未查找到图像,再从高等级缓存区查找图像。若从低等级缓存区到高等级缓存区均未查找到图像,则通过网络下载图像并将图像存储于各级缓存区。
此外,由于终端显存的数据量远远大于内存缓存区,所以,相比于内存缓存区而言可以存储更多图像,从而提高一级缓存区的命中率。
并且,缓存图像存储终端显存,所以,CPU仅需传输缓存图像的地址至图形处理器即可,无需传输图像本身至图形处理器,从而可以简化处理器与图形处理器之间的数据传输。
并且,由于终端显存与图形处理器(GPU)直接相连,所以,后续图形处理器(GPU)可以直接从终端显存提取并显示图像,可以提高图像显示效率。
参见图5,本申请提供一种图像缓存装置,包括:
一级存储单元41,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像;
解码单元42,用于对所述图像执行解码操作,在终端内存获得解码后图像;
确定地址单元43,用于确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存;
传输单元44,用于传输所述解码后图像以及所述一级缓存区的地址至终端显存。
其中,通过终端内存与终端显存的数据接口,传输所述解码后数据和所述一级缓存区的地址至所述终端显存;所述终端内存与终端显存的数据接口包括:OpenGL接口。
参见图6,一种图像缓存装置,包括:
接收单元51,用于接收解码后图像以及应用对应的一级缓存区的地址;
一级存储单元52,用于在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像。
构建对应关系单元,用于确定所述图像标识,以及,所述图像在所述一级缓存区的存储地址,构建并保存所述图像标识与所述存储地址的对应关系。
其中,所述在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像,包括:在所述一级缓存区的空闲数据量小于所述解码后图像的数据量的情况下,清空所述一级缓存区;在所述一级缓存区的空闲数据量大于所述解码后图像的数据量的情况下,在所述一级缓存区存储所述解码后图像。
参见图2a或图2b,本申请提供一种终端,在图像缓存过程中终端包括:
处理器,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像,对所述图像执行解码操作,在终端内存获得解码后图像,确定应用对应一级缓存区的地址,传输所述解码后图像以及所述一级缓存区的地址至终端显存;其中,所述一级缓存区位于终端显存;
终端存储设备,用于在应用对应的二级缓存区,存储应用从网络下载的图像;
终端显存,用于接收解码后图像以及应用对应的一级缓存区的地址,在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像。
关于本终端在图像缓存过程中的执行过程可以参见图3所示的实施例,在此不再赘述。
参见图2a或图2b,本申请提供一种终端,在图像使用过程中终端包括:
终端显存,用于在应用的一级缓存区的地址对应的一级缓存区存储图像;
处理器,用于确定图像标识以及应用对应的一级缓存区的地址;若在终端显存查找到所述图像标识,则获得与所述图像标识对应的存储地址,发送该存储地址至图形处理器;
图形处理器,用于基于该存储地址从所述终端显存获取图像并显示图像。
关于本终端在图像缓存过程中的执行过程可以参见图4所示的实施例,在此不再赘述。
参见图7,包括一种图像使用装置,包括:
图像显示组件,用于发送包含图像标识的纹理请求至纹理缓存模块,若在纹理缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在纹理缓存模块查找到图像,则发送包含图像标识的图像请求至文件缓存模块;若在文件缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在文件缓存模块查找到图像,则向网络发送包含图像标识的下载请求;
纹理缓存模块,用于接收包含图像标识的纹理请求,若查找到与图像标识对应的图像,则反馈图像纹理至图像显示组件;
文件缓存模块,用于接收包含图像标识的图像请求,若查找到与图像标识对应的图像,则经终端内存中的文件交换区反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件;还用于接收从网络下载的图像反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种终端,其特征在于,包括:
在终端利用多级缓存区为应用缓存图像的情况下,终端显存设置有为应用缓存图像的一级缓存区;所述一级缓存区用于处理器在获取缓存图像时,从一级缓存区开始查找图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级;其中,所述第一等级的响应成本最低;
多级缓存区包括在终端存储设备上为应用缓存图像的二级缓存区;其中,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本;
与所述二级缓存区相连的终端内存,用于在终端对所述二级缓存区上的缓存图像解码后获得解码后图像,并传输解码后图像至所述一级缓存区。
2.一种图像缓存方法,其特征在于,包括:
在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像;
对所述图像执行解码操作,在终端内存获得解码后图像;
确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存;
存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本;其中,所述第一等级的响应成本最低。
3.如权利要求2所述的方法,其特征在于,所述存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区,包括:调用终端内存与终端显存的数据接口,输入所述解码后图像和所述一级缓存区的地址至所述数据接口;
由所述数据接口传输所述解码后数据至终端显存中所述一级缓存区的地址对应一级缓存区。
4.如权利要求3所述的方法,其特征在于,所述终端内存与终端显存的数据接口包括OpenGL接口;获取所述OpenGL接口反馈的标识,将该标识作为该图像的图像标识,以用于后续基于图像标识来从终端显存获取图像。
5.如权利要求2所述的方法,其特征在于,所述存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区,包括:
所述解码后图像以图像纹理方式,存储于所述一级缓存区。
6.一种图像缓存装置,其特征在于,包括:
一级存储单元,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像;
解码单元,用于对所述图像执行解码操作,在终端内存获得解码后图像;
确定地址单元,用于确定应用对应一级缓存区的地址;其中,所述一级缓存区位于终端显存;
存储单元,用于存储所述解码后图像至所述一级缓存区的地址对应的一级缓存区;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本;其中,所述第一等级的响应成本最低。
7.一种图像缓存方法,其特征在于,包括:
接收解码后图像以及应用对应的一级缓存区的地址;其中,所述一级缓存区位于终端显存;所述一级缓存区用于处理器在获取缓存图像时,从一级缓存区开始查找图像;
在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级;其中,所述第一等级的响应成本最低;
所述解码后图像是由终端内存对多级缓存区中的二级缓存区上的缓存图像进行解码后得到的;其中,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本;所述二级缓存区设置在终端存储设备上。
8.如权利要求7所述的方法,其特征在于,所述在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像,包括:
在所述一级缓存区的空闲数据量小于所述解码后图像的数据量的情况下,清空所述一级缓存区;
在所述一级缓存区的空闲数据量大于所述解码后图像的数据量的情况下,在所述一级缓存区存储所述解码后图像。
9.如权利要求8所述的方法,其特征在于,还包括:
确定所述图像的图像标识,以及,所述图像在所述一级缓存区的存储地址;
构建并保存所述图像标识与所述存储地址的对应关系。
10.一种图像缓存装置,其特征在于,包括:
接收单元,用于接收解码后图像以及应用对应的一级缓存区的地址;所述一级缓存区用于处理器在获取缓存图像时,从一级缓存区开始查找图像;所述解码后图像是由终端内存对多级缓存区中的二级缓存区上的缓存图像进行解码后得到的;其中,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本,所述二级缓存区设置在终端存储设备上;
一级存储单元,用于在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级;其中,所述第一等级的响应成本最低,所述一级缓存区位于终端显存。
11.一种图像缓存方法,其特征在于,包括:
在终端存储设备中应用对应的二级缓存区,存储应用从网络下载的图像;
对所述图像执行解码操作,在终端内存获得解码后图像;
在位于终端显存的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本,所述第一等级的响应成本最低。
12.如权利要求11所述的方法,其特征在于,所述在位于终端显存的一级缓存区存储所述解码后图像,包括:
确定所述一级缓存区的地址;
通过终端内存与终端显存的数据接口,传输所述解码后数据和所述一级缓存区的地址至所述终端显存;
在终端显存与所述一级缓存区的地址对应的一级缓存区存储所述解码后图像。
13.如权利要求11所述的方法,其特征在于,还包括:
确定所述图像的图像标识,以及,所述图像在所述一级缓存区的存储地址;
构建并保存所述图像标识与所述存储地址的对应关系。
14.一种终端,其特征在于,包括:
处理器,用于在终端存储设备中应用对应的二级缓存区上,存储从网络上下载的图像,对所述图像执行解码操作,在终端内存获得解码后图像,确定应用对应一级缓存区的地址,传输所述解码后图像以及所述一级缓存区的地址至终端显存;其中,所述一级缓存区位于终端显存;
终端存储设备,用于在应用对应的二级缓存区,存储应用从网络下载的图像;
终端显存,用于接收解码后图像以及应用对应的一级缓存区的地址,在所述一级缓存区的地址对应的一级缓存区存储所述解码后图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述二级缓存区的响应成本为第二等级,第二等级的响应成本高于第一等级的响应成本,所述第一等级的响应成本最低。
15.一种图像使用方法,其特征在于,包括:
确定图像标识以及一级缓存区的地址;其中,所述一级缓存区位于终端显存;所述一级缓存区用于处理器在获取缓存图像时,从一级缓存区开始查找图像;
若在终端显存查找到与所述图像标识,则获得与所述图像标识对应的存储地址;
发送该存储地址至图形处理器,由所述图形处理器基于该存储地址从所述终端显存获取并显示图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述第一等级的响应成本最低;所述多级缓存区还包括二级缓存区,所述二级缓存区上的缓存图像被终端内存解码后传输至所述一级缓存区,所述二级缓存区设置在终端存储设备上。
16.一种终端,其特征在于,包括:
终端显存,用于在应用的一级缓存区的地址对应的一级缓存区存储图像;所述一级缓存区用于处理器在获取缓存图像时,从一级缓存区开始查找图像;
处理器,用于确定图像标识以及应用对应的一级缓存区的地址;若在终端显存查找到所述图像标识,则获得与所述图像标识对应的存储地址,发送该存储地址至图形处理器;
图形处理器,用于基于该存储地址从所述终端显存获取图像并显示图像;
其中,在多级缓存区中所述一级缓存区的响应成本为第一等级,所述第一等级的响应成本最低;所述多级缓存区还包括二级缓存区,所述二级缓存区上的缓存图像被终端内存解码后传输至所述一级缓存区,所述二级缓存区设置在终端存储设备上。
17.一种图像使用装置,其特征在于,包括:
图像显示组件,用于发送包含图像标识的纹理请求至纹理缓存模块,若在纹理缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在纹理缓存模块查找到图像,则发送包含图像标识的图像请求至文件缓存模块;若在文件缓存模块查找到图像,则显示纹理缓存模块反馈的图像纹理;若未在文件缓存模块查找到图像,则向网络发送包含图像标识的下载请求;
纹理缓存模块,用于接收包含图像标识的纹理请求,若查找到与图像标识对应的图像,则反馈图像纹理至图像显示组件;
文件缓存模块,用于接收包含图像标识的图像请求,若查找到与图像标识对应的图像,则经终端内存中的文件交换区反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件;还用于接收从网络下载的图像反馈图像至纹理缓存模块,由纹理缓存模块反馈图像纹理至图像显示组件;
其中,所述纹理缓存模块在显存中以图像纹理的方式存储图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710973366.0A CN109685712B (zh) | 2017-10-18 | 2017-10-18 | 图像缓存和使用方法及装置、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710973366.0A CN109685712B (zh) | 2017-10-18 | 2017-10-18 | 图像缓存和使用方法及装置、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109685712A CN109685712A (zh) | 2019-04-26 |
CN109685712B true CN109685712B (zh) | 2023-05-23 |
Family
ID=66183465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710973366.0A Active CN109685712B (zh) | 2017-10-18 | 2017-10-18 | 图像缓存和使用方法及装置、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109685712B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264452B (zh) * | 2019-06-18 | 2023-08-04 | 江苏通佑视觉科技有限公司 | 一种工件检测方法、装置、设备及存储介质 |
CN111209116B (zh) * | 2020-01-06 | 2023-09-12 | 西安芯瞳半导体技术有限公司 | 一种分配显存空间的方法、装置及计算机存储介质 |
CN111711841B (zh) * | 2020-07-27 | 2022-09-09 | 广州酷狗计算机科技有限公司 | 图像帧播放方法、装置、终端及存储介质 |
CN113190311A (zh) * | 2021-04-28 | 2021-07-30 | 深圳市魔样科技有限公司 | 图像显示方法、装置、存储介质及电子设备 |
CN115529453A (zh) * | 2022-08-10 | 2022-12-27 | 北京罗克维尔斯科技有限公司 | 车载摄像头的测试方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
CN102109899A (zh) * | 2009-12-23 | 2011-06-29 | 联想(北京)有限公司 | 计算机、显示器、及计算机的显示方法 |
CN103309958A (zh) * | 2013-05-28 | 2013-09-18 | 中国人民大学 | Gpu和cpu混合架构下的olap星型连接查询优化方法 |
WO2017045540A1 (zh) * | 2015-09-14 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 用于智能终端的图片处理方法、装置、终端设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10249073B2 (en) * | 2015-07-21 | 2019-04-02 | Intel Corporation | Distributed frame buffer and API for scalable parallel rendering |
WO2017049518A1 (en) * | 2015-09-24 | 2017-03-30 | Intel Corporation | Techniques for video playback decoding surface prediction |
-
2017
- 2017-10-18 CN CN201710973366.0A patent/CN109685712B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102109899A (zh) * | 2009-12-23 | 2011-06-29 | 联想(北京)有限公司 | 计算机、显示器、及计算机的显示方法 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
CN103309958A (zh) * | 2013-05-28 | 2013-09-18 | 中国人民大学 | Gpu和cpu混合架构下的olap星型连接查询优化方法 |
WO2017045540A1 (zh) * | 2015-09-14 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 用于智能终端的图片处理方法、装置、终端设备及系统 |
Non-Patent Citations (1)
Title |
---|
纹理缓存;https://blog.csdn.net/yongG3224/article/details/49944727;《纹理缓存》;20151120;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109685712A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685712B (zh) | 图像缓存和使用方法及装置、终端 | |
US10970203B2 (en) | Methods and apparatus for compressed and compacted virtual memory | |
US10114740B2 (en) | Memory management techniques | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN111159436B (zh) | 一种推荐多媒体内容的方法、装置及计算设备 | |
CN111352861B (zh) | 内存压缩方法、装置及电子设备 | |
US20150365350A1 (en) | Resource downloading method and apparatus | |
KR20170123336A (ko) | 파일 조작 방법 및 장치 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN104808952A (zh) | 数据缓存方法及装置 | |
US10216636B2 (en) | Controlled cache injection of incoming data | |
US20170034297A1 (en) | Managing memory usage in server systems | |
US20190080489A1 (en) | Method, apparatus and device for creating a texture atlas to render images | |
CN108681469B (zh) | 基于Android系统的页面缓存方法、装置、设备及存储介质 | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
CN113849311B (zh) | 内存空间管理方法、装置、计算机设备和存储介质 | |
US11372756B2 (en) | Memory pool management | |
EP2960778A1 (en) | A storage abstraction layer and a system and a method thereof | |
US10354623B1 (en) | Adaptive buffer latching to reduce display janks caused by variable buffer allocation time | |
CN112671918B (zh) | 基于二进制的分布式数据下载方法、装置、设备及介质 | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
CN110796587A (zh) | Drawcall调用处理方法、装置、终端及存储介质 | |
CN113296710B (zh) | 一种云存储数据读取方法、装置、电子设备及存储介质 | |
US9092348B2 (en) | System and method for slice processing computer-related tasks | |
CN117493222A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |