CN105957133B - 一种加载贴图的方法和装置 - Google Patents
一种加载贴图的方法和装置 Download PDFInfo
- Publication number
- CN105957133B CN105957133B CN201610307346.5A CN201610307346A CN105957133B CN 105957133 B CN105957133 B CN 105957133B CN 201610307346 A CN201610307346 A CN 201610307346A CN 105957133 B CN105957133 B CN 105957133B
- Authority
- CN
- China
- Prior art keywords
- textures
- artwork
- weight
- continuous
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
本发明涉及计算机技术领域,尤其涉及一种加载贴图的方法和装置。在该方案中,先加载贴图的缩略图,然后选择性地加载贴图的原图,从排序后的至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图,不需要划分多个小场景,并且也不同于重新加载贴图的方案,因此,在提高游戏的流畅性和避免对其他程序的影响的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及加载贴图的方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着互联网技术的发展及终端的普及,在终端上打游戏的情况越来越普遍。目前,游戏已经成为人们生活中不可或缺的娱乐项目。以国内为例,据不完全统计,普通玩家加上职业玩家的总数量可占总人口的70%。进一步研究发现,这个比例在未来几十年内还有持续上升的趋势。
为了充分利用目前终端显卡的硬件计算能力,游戏中使用的贴图等资源需要放在显存中,其中,贴图资源会占用显存的大量存储空间。如果显存中存放的内容超过了显存容量,操作系统和图像API(Application Programming Interface,应用程序编程接口)会自动将存储在显存中的一些内容转存至内存中,从而增加显存的剩余空间。但是,这种方式会影响游戏的流畅性,并且贴图资源还会占用分配给进程的内存,造成分配给其他资源的内存减少,影响了其他程序。
为了解决上述问题,提出了如下两种方案:
第一:划分多个小场景、控制单个小场景的贴图总量;
第二:在因为显存的剩余空间不足导致加载贴图失败之后,将预设时间段内该显存中未使用的贴图删除,然后再重新加载需要加载的贴图。
发明内容
但是,上述第一种方法的应用场景有限,尤其不适用于玩家装备多样且精细的场景。上述第二种方法无法准确确定待加载的贴图,并在错误加载贴图的情况下还会影响其他资源的加载,这些都是非常令人烦恼的过程。
为此,非常需要一种改进的加载贴图的方法和装置,以扩大应用场景、提高加载贴图的准确度及避免影响其他资源。
在本发明实施方式的第一方面中,提供了一种用于加载贴图的方法,包括:加载至少一个贴图中每一个贴图的缩略图;计算所述至少一个贴图中每一个贴图的权重;基于所述权重、对所述至少一个贴图排序;从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值。
在一个实施方式中,根据本发明的上述实施方式所述的方法,其中,所述缩略图由以下操作生成:获取所述贴图的缩略图链mipmap;确定所述mipmap中分辨率最低的层级;基于所述分辨率最低的层级、生成所述缩略图。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,其中,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,其中,计算所述至少一个贴图中每一个贴图的权重包括:确定所述贴图所关联的至少一个模型;根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,其中,根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重,包括:若所述至少一个模型的数量等于1,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重以作为所述贴图的权重;若所述至少一个模型的数量大于1,分别针对所述至少一个模型中的每一个模型:根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;选择计算得到的所有权重中的最大权重作为所述贴图的权重。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,其中,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,在加载所述N个连续贴图的原图之前,所述方法还包括:释放已加载的、除所述N个连续贴图之外的贴图的原图。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,还包括:对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,并加载所述X个连续贴图的原图;其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,在加载所述X个连续贴图的原图之前,所述方法还包括:释放已加载的、所述类型的贴图中除所述X个连续贴图之外的贴图。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,还包括:创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,并加载所述Y个连续贴图的原图;其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,还包括:创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,并加载所述Z个连续贴图的原图;其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值。
在本发明实施方式的第二方面中,提供了一种用于加载贴图的装置,包括:加载单元,用于加载至少一个贴图中每一个贴图的缩略图;计算单元,用于计算所述至少一个贴图中每一个贴图的权重;排序单元,用于基于所述权重、对所述至少一个贴图排序;筛选单元,用于从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值;所述加载单元还用于,加载所述N个连续贴图的原图。
在一个实施方式中,根据本发明的上述实施方式所述的装置,所述装置还包括生成单元,用于由以下操作生成所述缩略图:获取所述贴图的缩略图链mipmap;确定所述mipmap中分辨率最低的层级;基于所述分辨率最低的层级、生成所述缩略图。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,其中,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述计算单元包括模型确定单元和权重计算单元,其中:
所述模型确定单元,用于确定所述贴图所关联的至少一个模型;
所述权重计算单元,用于根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述权重计算单元根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重时,具体为:
若所述至少一个模型的数量等于1,所述权重计算单元根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重,以作为所述贴图的权重;
若所述至少一个模型的数量大于1,所述权重计算单元分别针对所述至少一个模型中的每一个模型,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;
选择计算得到的所有权重中的最大权重作为所述贴图的权重。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,其中,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括原图释放单元,用于释放已加载的、除所述N个连续贴图之外的贴图的原图。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括贴图分类单元,用于对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;
所述排序单元还用于,针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值;
所述加载单元还用于,加载所述X个连续贴图的原图。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括原图释放单元,用于释放已加载的、为所述类型的贴图中除所述X个连续贴图之外的贴图。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括预设值达到确定单元、原图删除单元和新资源创建单元,其中:
所述预设值达到确定单元,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元,用于在所述预设值达到确定单元确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元,用于以释放存储空间来建立所述资源;
所述筛选单元还用于,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值;
所述加载单元还用于,加载所述Y个连续贴图的原图。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括预设值达到确定单元、原图删除单元和新资源创建单元,其中:
所述预设值确定单元,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元,用于在所述预设值达到确定单元确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元,用于以释放存储空间来建立所述资源;
所述排序单元还用于,针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值;
所述加载单元还用于,加载所述Z个连续贴图的原图。
本发明实施方式中,提出一种加载贴图的方法:加载至少一个贴图中每一个贴图的缩略图;计算所述至少一个贴图中每一个贴图的权重;基于所述权重、对所述至少一个贴图排序;从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值,在该方案中,先加载贴图的缩略图,然后,选择性地加载贴图的原图,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图,不需要划分多个小场景,并且也不同于重新加载贴图的方案,因此,在提高游戏的流畅性和避免对其他程序的影响的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1A示意性地示出了根据现有技术实施方式的模型的示意图;
图1B示意性地示出了根据现有技术实施方式的材质贴图的示意图;
图2示意性地示出了根据本发明实施方式的加载贴图的方法的流程图;
图3示意性地示出了根据本发明实施方式的加载贴图的装置的一种示意图;
图4示意性地示出了根据本发明实施方式的加载贴图的装置的又一示意图;
图5示意性地示出了根据本发明实施方式的加载贴图的装置的再一示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种加载贴图的方法和装置。
在本文中的附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面对本发明可能涉及的技术术语进行简单解释或示意。
游戏引擎:指一些已编写好的可编辑电脑游戏系统或者一些互交式实时图像应用程序的核心组件。这些系统为游戏设计者提供编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程序而不用由零开始。
模型如图1A所示。
材质贴图:又称纹理贴图,在计算机图形学中可以把存储在内存里的位图包裹到3D渲染物体的表面。纹理贴图给物体提供了丰富的细节,用简单的方式模拟出了复杂的外观,如图1B所示。
Mipmap:为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为MIP map或者mipmap(中文名称:缩略图链)。“MIP”来自于拉丁语multum in parvo的首字母,意思是“放置很多东西的小空间”。如果贴图的基本尺寸是256x 256像素的话,mipmap就会有8个层级,每个层级是上一层级的四分之一的大小,依次层级大小就是:128x128、64x64、32x32、16x16、8x8、4x4、2x2、1x1(一个像素)。
内存:内存(英文名称:Memory)可以叫作内存储器,其可以用于暂时存放CPU(Central Processing Unit,中央处理器)中的中间运算数据,以及与硬盘等外部存储器交换的数据。计算机在运行中,CPU会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。
显存:显存,也可以叫做帧缓存,其可以用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在加载贴图的过程中,可以加载所有贴图的缩略图,却不需要加载所有贴图的原图、而是基于预定策略选择性地加载贴图的原图。例如,本发明人设想,计算至少一个贴图中每一个贴图的权重;基于所述权重、对所述至少一个贴图排序;从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图。这样,在提高游戏的流畅性和避免影响其他程序的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
参考上述描述,假设在有100个贴图的情况下,本发明的实施方式需要计算100个贴图的权重;基于权重对100个贴图排序;从具有最大权重的贴图开始,依次从排序后的100个贴图中选择前80个连续贴图;并加载100个贴图的缩略图和选择出的80个连续贴图。这样,在提高游戏的流畅性和避免影响其他程序的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
需要说明的是,本发明实施方式中所提及的游戏可以是端游、页游、手游,也可以其他类型的游戏,在此不做具体限定。
用于安装游戏的终端可以是任何现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、个人计算机等,本发明不做具体限定。
示例性方法
下面结合应用场景的描述,参考图2来描述根据本发明示例性实施方式的用于加载贴图的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明实施方式的用于加载贴图的方法20的流程示意图。如图2所示,该方法可以包括步骤200、210、220以及230。
步骤200:加载至少一个贴图中每一个贴图的缩略图。
本发明实施方式中,所述缩略图可以由以下操作生成:获取所述贴图的mipmap;确定所述mipmap中分辨率最低的层级;基于所述分辨率最低的层级、生成所述缩略图。
本发明实施方式中,可选地,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
本发明实施方式中,进一步地,还可以在缩略图中标记与同一贴图关联的原图的大小。例如,有3个贴图:贴图1、贴图2和贴图3,贴图1与缩略图1和原图1相关联,贴图2与缩略图2和原图2相关联,贴图3与缩略图3和原图3相关联,在这种情况下,缩略图1标记原图1的大小、缩略图2标记原图2的大小、缩略图3标记原图3的大小。
需要说明的是,本发明不限定标记原图大小的具体标记形式、具体位置,例如可以在缩略图的尾部标记原图的大小。
这样,由于缩略图中标记了原图的大小,那么在后续加载原图时,可以根据标记的原图的大小来判断是否有足够大的剩余存储空间来加载该原图,不需要通过原图实际加载成功或失败来判断是否有足够大的剩余存储空间来加载该原图,提高了效率,避免了资源的浪费。
根据本发明的实施方式,在初始加载过程中只加载贴图的缩略图,这样既能减少初始过程中内存的占用、保证尽可能多地加载游戏资源,又能加快贴图加载速度。
步骤210:计算所述至少一个贴图中每一个贴图的权重。
本发明实施方式中,计算所述至少一个贴图中每一个贴图的权重的方式有多种,可选地,可以采用如下方式:确定所述贴图所关联的至少一个模型;根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
进一步地,在根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重时,可选地,可以采用如下方式:
若所述至少一个模型的数量等于1,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重以作为所述贴图的权重;若所述至少一个模型的数量大于1,分别针对所述至少一个模型中的每一个模型:
根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;选择计算得到的所有权重中的最大权重作为所述贴图的权重。
例如,若贴图与一个模型相关联,将根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重以作为所述贴图的权重;若贴图与两个模型(例如,模型1、模型2)相关联,根据模型1的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重为权重1、根据模型2的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重为权重2,将权重1和权重2中的最大权重作为贴图的权重。
本发明实施方式中,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种,但是并不限于上述几种形式。
本发明实施方式中,为了提高加载贴图的准确度,可选地,周期性地计算所述至少一个贴图中每一个贴图的权重。
步骤220:基于所述权重、对所述至少一个贴图排序。
步骤230:从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值。
根据本发明的实施方式,进一步地,为了避免对其他资源的影响,在加载所述N个连续贴图的原图之前,所述方法20还可以包括如下操作:
释放已加载的、除所述N个连续贴图之外的贴图的原图。
这样,其他资源可以占用释放的原图所占用的存储空间,进而避免对其他资源的影响。
前面描述的是将所有权重放在一起排序,在实际应用中,也可以将贴图分类,同一类型中的所有贴图放在一起排序。因此,根据本发明实施方式,还可以包括如下操作:
对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;
针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,并加载所述X个连续贴图的原图;
其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值。
例如,有10个贴图:贴图1、贴图2、贴图3、贴图4、贴图5、贴图6、贴图7、贴图8、贴图9、贴图10,计算的权重分别为:权重1、权重2、权重3、权重4、权重5、权重6、权重7、权重8、权重9、权重10,贴图分为三类:类型1包括贴图1、贴图3、贴图10,类型2包括贴图2、题图9,类型3包括贴图4、贴图5、贴图6、贴图7、贴图8,针对类型1,根据权重对贴图1、贴图3、贴图10排序,并选择出X1个连续贴图,加载X1个连续贴图的原图;针对类型2,根据权重对贴图2、贴图9排序,并选择出X2个连续贴图,加载X2个连续贴图的原图;根据权重对贴图4、贴图5、贴图6、贴图7、贴图8排序,并选择出X3个连续贴图,加载X3个连续贴图的原图。
其中,X1-X3都是整数。
本发明实施方式中,贴图可以分为场景贴图、角色贴图,或者也可以分为其他贴图,在此不做具体限定。
本发明实施方式中,不同类型关联的第二阈值可以相同,也可以不同,仍以上述为例说明,例如,类型1、类型2和类型3关联的第二阈值为阈值1、阈值2和阈值3,阈值1、阈值2和阈值3可以完全不同、完全相同,或者任意两个相同。
在这种方式下,本发明实施方式中,进一步地,为了避免对其他资源的影响,在加载所述X个连续贴图的原图之前,所述方法20还可以包括如下操作:释放已加载的、所述类型的贴图中除所述X个连续贴图之外的贴图。
这样,其他资源可以占用释放的原图所占用的存储空间,进而避免对其他资源的影响。
本发明实施方式中,为了避免影响其它资源,进一步地,还可以包括如下操作:
创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;
从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,并加载所述Y个连续贴图的原图;
其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值。
也就是说,创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源,然后,再加载选择出的Y个连续贴图的原图。
或者进一步地,本发明还可以采用如下方式避免影响其它资源:
创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;
针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,并加载所述Z个连续贴图的原图;
其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值。
也就是说,创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源,然后,针对每一种类型,再加载选择出的Z个连续贴图的原图。
其中,M、X、Y、Z都是整数。
本发明实施方式中,加载缩略图时,可选地,将缩略图加载至显存,加载原图时,可选地,将原图加载至内存,上述只是加载缩略图和原图的例子,在实际应用中并不限定于此。
本发明实施方式中,提出一种加载贴图的方法:加载至少一个贴图中每一个贴图的缩略图;计算所述至少一个贴图中每一个贴图的权重;基于所述权重、对所述至少一个贴图排序;从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值,在该方案中,先加载贴图的缩略图,然后,选择性地加载贴图的原图,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图,不需要划分多个小场景,并且也不同于重新加载贴图的方案,因此,在提高游戏的流畅性和避免对其他程序的影响的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
其中,N是整数。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的、用于加载贴图的装置描述。
图3示意性地示出了根据本发明实施方式的用于加载贴图的装置30的示意图。如图3所示,该装置30可以包括:
加载单元300,用于加载至少一个贴图中每一个贴图的缩略图;
计算单元310,用于计算所述至少一个贴图中每一个贴图的权重;
排序单元320,用于基于所述权重、对所述至少一个贴图排序;
筛选单元330,用于从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值;
所述加载单元300还用于,加载所述N个连续贴图的原图。
本发明实施方式中,可选地,所述装置还包括生成单元340,用于可以由以下操作生成所述缩略图:获取所述贴图的mipmap;确定所述mipmap中分辨率最低的层级;基于所述分辨率最低的层级、生成所述缩略图。
本发明实施方式中,可选地,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
本发明实施方式中,进一步地,加载单元300还可以在缩略图中标记与同一贴图关联的原图的大小。例如,有3个贴图:贴图1、贴图2和贴图3,贴图1与缩略图1和原图1相关联,贴图2与缩略图2和原图2相关联,贴图3与缩略图3和原图3相关联,在这种情况下,加载单元300在缩略图1中标记原图1的大小、加载单元300在缩略图2中标记原图2的大小、加载单元300在缩略图3中标记原图3的大小。
需要说明的是,本发明不限定标记原图大小的具体标记形式、具体位置,例如可以在缩略图的尾部标记原图的大小。
这样,由于缩略图中标记了原图的大小,那么在后续加载原图时,可以根据标记的原图的大小来判断是否有足够大的剩余存储空间来加载该原图,不需要通过原图实际加载成功或失败来判断是否有足够大的剩余存储空间来加载该原图,提高了效率,避免了资源的浪费。
根据本发明的实施方式,在初始加载过程中只加载贴图的缩略图,这样既能减少初始过程中内存的占用、保证尽可能多地加载游戏资源,又能加快贴图加载速度。
本发明实施方式中,可选地,所述计算单元310包括模型确定单元310A和权重计算单元310B,其中:
所述模型确定单元310A,用于确定所述贴图所关联的至少一个模型;
所述权重计算单元310B,用于根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
进一步地,所述权重计算单元310B根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重时,具体为:
若所述至少一个模型的数量等于1,所述权重计算单元310B根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重,以作为所述贴图的权重;若所述至少一个模型的数量大于1,所述权重计算单元310B分别针对所述至少一个模型中的每一个模型,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;选择计算得到的所有权重中的最大权重作为所述贴图的权重。
例如,若贴图与一个模型相关联,权重计算单元310B将根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重以作为所述贴图的权重;若贴图与两个模型(例如,模型1、模型2)相关联,权重计算单元310B根据模型1的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重为权重1、根据模型2的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重为权重2,将权重1和权重2中的最大权重作为贴图的权重。
本发明实施方式中,可选地,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种,但是并不限于上述几种形式。
本发明实施方式中,为了提高加载贴图的准确度,可选地,周期性地计算所述至少一个贴图中每一个贴图的权重。
根据本发明实施方式中,进一步地,为了避免对其他资源的影响,所述装置还包括原图释放单元350,用于释放已加载的、除所述N个连续贴图之外的贴图的原图。
这样,其他资源可以占用释放的原图所占用的存储空间,进而避免对其他资源的影响。
前面描述的是将所有权重放在一起排序,在实际应用中,也可以将贴图分类,同一类型中的所有贴图放在一起排序。因此,根据本发明实施方式,进一步地,所述装置30还可以包括贴图分类单元360,用于对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;
所述排序单元320还用于,针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元330还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值;
所述加载单元300还用于,加载所述X个连续贴图的原图。
例如,有10个贴图:贴图1、贴图2、贴图3、贴图4、贴图5、贴图6、贴图7、贴图8、贴图9、贴图10,计算的权重分别为:权重1、权重2、权重3、权重4、权重5、权重6、权重7、权重8、权重9、权重10,贴图分为三类:类型1包括贴图1、贴图3、贴图10,类型2包括贴图2、题图9,类型3包括贴图4、贴图5、贴图6、贴图7、贴图8,针对类型1,根据权重对贴图1、贴图3、贴图10排序,并选择出X1个连续贴图,加载X1个连续贴图的原图;针对类型2,根据权重对贴图2、贴图9排序,并选择出X2个连续贴图,加载X2个连续贴图的原图;根据权重对贴图4、贴图5、贴图6、贴图7、贴图8排序,并选择出X3个连续贴图,加载X3个连续贴图的原图。
其中,X1-X3都是整数。
本发明实施方式中,贴图可以分为场景贴图、角色贴图,或者也可以分为其他贴图,在此不做具体限定。
本发明实施方式中,不同类型关联的第二阈值可以相同,也可以不同,仍以上述为例说明,例如,类型1、类型2和类型3关联的第二阈值为阈值1、阈值2和阈值3,阈值1、阈值2和阈值3可以完全不同、完全相同,或者任意两个相同。
在这种方式下,本发明实施方式中,进一步地,为了避免对其他资源的影响,所述装置30还可以包括原图释放单元350,用于释放已加载的、为所述类型的贴图中除所述X个连续贴图之外的贴图。
这样,其他资源可以占用释放的原图所占用的存储空间,进而避免对其他资源的影响。
本发明实施方式中,为了避免影响其它资源,进一步地,所述装置30还可以包括预设值达到确定单元370、原图删除单元380和新资源创建单元390,其中:
所述预设值达到确定单元370,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元380,用于在所述预设值达到确定单元370确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元390,用于以释放存储空间来建立所述资源;
所述筛选单元330还用于,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值;
所述加载单元300还用于,加载所述Y个连续贴图的原图。
也就是说,所述新资源创建单元390创建新的需要占用存储空间的资源之前,预设值达到确定单元370确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,所述原图删除单元380删除加载的原图、以释放存储空间来建立所述资源,然后,所述加载单元300再加载选择出的Y个连续贴图的原图。
本发明实施方式中,可选地,所述装置30还可以包括预设值达到确定单元370、原图删除单元380和新资源创建单元390,其中:
所述预设值达到确定单元370,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元380,用于在所述预设值达到确定单元370确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元390,用于以释放存储空间来建立所述资源;
所述排序单元320还用于,针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元330还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值;
所述加载单元300还用于,加载所述Z个连续贴图的原图。
也就是说,所述新资源创建单元390创建新的需要占用存储空间的资源之前,预设值达到确定单元370确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,所述原图删除单元380删除加载的原图、以释放存储空间来建立所述资源,然后,针对每一种类型,所述加载单元300再加载选择出的Z个连续贴图的原图。
其中,M、X、Y、Z都是整数。
本发明实施方式中,所述加载单元300加载缩略图时,可选地,将缩略图加载至显存,加载原图时,可选地,将原图加载至内存,上述只是加载缩略图和原图的例子,在实际应用中并不限定于此。
本发明实施方式中,提出一种用于加载贴图的装置,包括:加载单元,用于加载至少一个贴图中每一个贴图的缩略图;计算单元,用于计算所述至少一个贴图中每一个贴图的权重;排序单元,用于基于所述权重、对所述至少一个贴图排序;筛选单元,用于从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值;所述加载单元还用于,加载所述N个连续贴图的原图,在该方案中,先加载贴图的缩略图,然后,选择性地加载贴图的原图,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图,不需要划分多个小场景,并且也不同于重新加载贴图的方案,因此,在提高游戏的流畅性和避免对其他程序的影响的同时,还可以避免现有技术中存在的应用场景有限、加载贴图准确度较低和影响其他资源加载的缺陷。
其中,N是整数。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的用于加载贴图的装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的用于加载贴图的装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于加载贴图方法中的步骤。例如,所述处理单元可以执行如图2中所示的步骤200:加载至少一个贴图中每一个贴图的缩略图;步骤210:计算所述至少一个贴图中每一个贴图的权重;步骤220:基于所述权重、对所述至少一个贴图排序;步骤230:从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值。
下面参照图4来描述根据本发明的这种实施方式的用于加载贴图的装置40。图4显示的用于加载贴图的装置40仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图4所示,用于加载贴图的装置40以通用计算设备的形式表现。用于加载贴图的装置40的组件可以包括但不限于:上述至少一个处理单元16、上述至少一个存储单元28、连接不同系统组件(包括存储单元28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元28可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)31和/或高速缓存存储器32,还可以进一步只读存储器(ROM)34。
存储单元28还可以包括具有一组(至少一个)程序模块42的程序/实用工具41,这样的程序模块42包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
用于加载贴图的装置40也可以与一个或多个外部设备14(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该用于加载贴图的装置40交互的设备通信,和/或与使得该用于加载贴图的装置40能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,用于加载贴图的装置40还可以通过网络适配器21与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器21通过总线18与用于加载贴图的装置40的其它模块通信。应当明白,尽管图中未示出,可以结合用于加载贴图的装置40使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于加载贴图的方法中的步骤,例如,所述终端设备可以执行如图2中所示的步骤200:加载至少一个贴图中每一个贴图的缩略图;步骤210:计算所述至少一个贴图中每一个贴图的权重;步骤220:基于所述权重、对所述至少一个贴图排序;步骤230:从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图5所示,描述了根据本发明的实施方式的用于加载贴图的程序产品50,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程序程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于加载贴图的设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (22)
1.一种用于加载贴图的方法,包括:
加载至少一个贴图中每一个贴图的缩略图;
计算所述至少一个贴图中每一个贴图的权重;
基于所述权重、对所述至少一个贴图排序;
从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,并加载所述N个连续贴图的原图;
其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值。
2.如权利要求1所述的方法,其中,所述缩略图由以下操作生成:
获取所述贴图的缩略图链mipmap;
确定所述mipmap中分辨率最低的层级;
基于所述分辨率最低的层级、生成所述缩略图。
3.如权利要求1所述的方法,其中,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
4.如权利要求1所述的方法,其中,计算所述至少一个贴图中每一个贴图的权重包括:
确定所述贴图所关联的至少一个模型;
根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
5.如权利要求4所述的方法,其中,根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重,包括:
若所述至少一个模型的数量等于1,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重以作为所述贴图的权重;
若所述至少一个模型的数量大于1,分别针对所述至少一个模型中的每一个模型:
根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;
选择计算得到的所有权重中的最大权重作为所述贴图的权重。
6.如权利要求4所述的方法,其中,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种。
7.如权利要求1所述的方法,在加载所述N个连续贴图的原图之前,所述方法还包括:
释放已加载的、除所述N个连续贴图之外的贴图的原图。
8.如权利要求1所述的方法,还包括:
对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;
针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,并加载所述X个连续贴图的原图;
其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值。
9.如权利要求8所述的方法,在加载所述X个连续贴图的原图之前,所述方法还包括:
释放已加载的、所述类型的贴图中除所述X个连续贴图之外的贴图。
10.如权利要求1所述的方法,还包括:
创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;
从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,并加载所述Y个连续贴图的原图;
其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值。
11.如权利要求8所述的方法,还包括:
创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图、以释放存储空间来建立所述资源;
针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,并加载所述Z个连续贴图的原图;
其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值。
12.一种用于加载贴图的装置,包括:
加载单元,用于加载至少一个贴图中每一个贴图的缩略图;
计算单元,用于计算所述至少一个贴图中每一个贴图的权重;
排序单元,用于基于所述权重、对所述至少一个贴图排序;
筛选单元,用于从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的N个连续贴图,其中,所述N个连续贴图的原图的大小之和小于或者等于第一阈值;
所述加载单元还用于,加载所述N个连续贴图的原图。
13.如权利要求12所述的装置,所述装置还包括生成单元,用于由以下操作生成所述缩略图:
获取所述贴图的缩略图链mipmap;
确定所述mipmap中分辨率最低的层级;
基于所述分辨率最低的层级、生成所述缩略图。
14.如权利要求12所述的装置,其中,所述缩略图的大小为对应的贴图的原图的大小的0.5%—2%。
15.如权利要求12所述的装置,所述计算单元包括模型确定单元和权重计算单元,其中:
所述模型确定单元,用于确定所述贴图所关联的至少一个模型;
所述权重计算单元,用于根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重。
16.如权利要求15所述的装置,所述权重计算单元根据所述至少一个模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重时,具体为:
若所述至少一个模型的数量等于1,所述权重计算单元根据该模型的属性参数和/或所述贴图所属的贴图类型,计算所述贴图的权重,以作为所述贴图的权重;
若所述至少一个模型的数量大于1,所述权重计算单元分别针对所述至少一个模型中的每一个模型,根据该模型的属性参数和/或所述贴图所属的贴图类型,计算在与该模型关联时、所述贴图的权重;
选择计算得到的所有权重中的最大权重作为所述贴图的权重。
17.如权利要求15所述的装置,其中,所述属性参数包括模型位置坐标、模型大小、用于表征模型重要程度的重要性参数中的至少一种。
18.如权利要求12所述的装置,所述装置还包括原图释放单元,用于释放已加载的、除所述N个连续贴图之外的贴图的原图。
19.如权利要求12所述的装置,所述装置还包括贴图分类单元,用于对所述至少一个贴图进行分类,得到M种类型的贴图,所述M为大于或者等于1的整数;
所述排序单元还用于,针对所述M种类型中的每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的X个连续贴图,其中,所述X个连续贴图的原图的大小之和小于或者等于与该类型关联的第二阈值;
所述加载单元还用于,加载所述X个连续贴图的原图。
20.如权利要求19所述的装置,所述装置还包括原图释放单元,用于释放已加载的、所述类型的贴图中除所述X个连续贴图之外的贴图。
21.如权利要求12所述的装置,所述装置还包括预设值达到确定单元、原图删除单元和新资源创建单元,其中:
所述预设值达到确定单元,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元,用于在所述预设值达到确定单元确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元,用于以释放存储空间来建立所述资源;
所述筛选单元还用于,从排序后的所述至少一个贴图中筛选出从具有最大权重的贴图开始的Y个连续贴图,其中,所述Y个连续贴图的原图的大小之和小于或者等于第三阈值,所述第三阈值小于所述第一阈值;
所述加载单元还用于,加载所述Y个连续贴图的原图。
22.如权利要求19所述的装置,所述装置还包括预设值达到确定单元、原图删除单元和新资源创建单元,其中:
所述预设值达到确定单元,用于创建新的需要占用存储空间的资源之前,确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值;
所述原图删除单元,用于在所述预设值达到确定单元确定用于对所述资源进行存储的剩余存储空间的大小未达到预设值时,删除加载的原图;
所述新资源创建单元,用于以释放存储空间来建立所述资源;
所述排序单元还用于,针对所述M种类型中每一种类型,根据权重对该类型中的贴图进行排序,得到贴图序列;
所述筛选单元还用于,从该类型的贴图序列中筛选出从具有最大权重的贴图开始的Z个连续贴图,其中,所述Z个连续贴图的原图的大小之和小于或者等于与该类型关联的第四阈值,所述第四阈值小于所述第二阈值;
所述加载单元还用于,加载所述Z个连续贴图的原图。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610307346.5A CN105957133B (zh) | 2016-05-10 | 2016-05-10 | 一种加载贴图的方法和装置 |
US15/495,999 US11157551B2 (en) | 2016-05-10 | 2017-04-25 | Method and device for image loading |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610307346.5A CN105957133B (zh) | 2016-05-10 | 2016-05-10 | 一种加载贴图的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105957133A CN105957133A (zh) | 2016-09-21 |
CN105957133B true CN105957133B (zh) | 2018-06-05 |
Family
ID=56911187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610307346.5A Active CN105957133B (zh) | 2016-05-10 | 2016-05-10 | 一种加载贴图的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11157551B2 (zh) |
CN (1) | CN105957133B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463398B (zh) * | 2017-07-21 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 游戏渲染方法、装置、存储设备及终端 |
CN108108166B (zh) * | 2017-12-11 | 2020-07-31 | 苏州蜗牛数字科技股份有限公司 | 一种多平台间贴图处理方法及系统 |
CN109920038B (zh) * | 2018-12-24 | 2022-07-15 | 苏州蜗牛数字科技股份有限公司 | 一种生成地形混合贴图材质的方法 |
CN111127619A (zh) * | 2019-12-20 | 2020-05-08 | 珠海金山网络游戏科技有限公司 | 基于Unity手游场景贴图的优化方法、装置及可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669069A (zh) * | 2002-07-10 | 2005-09-14 | 哈曼贝克自动系统股份有限公司 | 用于使物体的电子表示纹理化的系统 |
CN101344961A (zh) * | 2007-06-07 | 2009-01-14 | 辉达公司 | 使用常驻小中见大贴图(mipmap)数据外推非常驻小中见大贴图数据 |
US7944453B1 (en) * | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
CN103035024A (zh) * | 2012-12-11 | 2013-04-10 | 南京我乐我居数码科技有限公司 | 一种基于三维虚拟平台的实体材质置换方法 |
CN104463944A (zh) * | 2014-07-10 | 2015-03-25 | 无锡梵天信息技术股份有限公司 | 一种基于物理的高光计算方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8834277B2 (en) * | 2012-12-27 | 2014-09-16 | Sony Computer Entertainment America Llc | Systems and methods for sharing cloud-executed mini-games, challenging friends and enabling crowd source rating |
US9396586B2 (en) * | 2014-03-14 | 2016-07-19 | Matterport, Inc. | Processing and/or transmitting 3D data |
US10198355B2 (en) * | 2015-10-29 | 2019-02-05 | Dropbox, Inc. | Proving a dynamic digital content cache |
-
2016
- 2016-05-10 CN CN201610307346.5A patent/CN105957133B/zh active Active
-
2017
- 2017-04-25 US US15/495,999 patent/US11157551B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669069A (zh) * | 2002-07-10 | 2005-09-14 | 哈曼贝克自动系统股份有限公司 | 用于使物体的电子表示纹理化的系统 |
CN101344961A (zh) * | 2007-06-07 | 2009-01-14 | 辉达公司 | 使用常驻小中见大贴图(mipmap)数据外推非常驻小中见大贴图数据 |
US7944453B1 (en) * | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
CN102799456A (zh) * | 2012-07-24 | 2012-11-28 | 上海晨思电子科技有限公司 | 一种游戏引擎加载资源文件的方法、装置和计算机 |
CN103035024A (zh) * | 2012-12-11 | 2013-04-10 | 南京我乐我居数码科技有限公司 | 一种基于三维虚拟平台的实体材质置换方法 |
CN104463944A (zh) * | 2014-07-10 | 2015-03-25 | 无锡梵天信息技术股份有限公司 | 一种基于物理的高光计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105957133A (zh) | 2016-09-21 |
US11157551B2 (en) | 2021-10-26 |
US20170329803A1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109523621B (zh) | 对象的加载方法和装置、存储介质、电子装置 | |
CN105957133B (zh) | 一种加载贴图的方法和装置 | |
CN109260708A (zh) | 地图渲染方法、装置以及计算机设备 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN112675545B (zh) | 地表仿真画面的显示方法和装置、存储介质及电子设备 | |
CN107231817A (zh) | 降低地图界面中的时延 | |
CN109032720A (zh) | 文件夹图标显示方法、系统、可读存储介质及终端 | |
CN105556574A (zh) | 渲染设备、其渲染方法、程序和记录介质 | |
CN106502654A (zh) | 虚拟现实场景加载方法及设备 | |
CN110047123A (zh) | 一种地图渲染方法、装置、存储介质及计算机程序产品 | |
CN108460056A (zh) | 一种dxf文件有效图元转换json数据的方法 | |
CN108765520A (zh) | 文本信息的渲染方法和装置、存储介质、电子装置 | |
CN110102048A (zh) | 一种虚拟服装渲染方法及装置 | |
CN112587921A (zh) | 模型处理方法和装置、电子设备和存储介质 | |
CN112231020B (zh) | 模型切换方法和装置、电子设备和存储介质 | |
CN109272567A (zh) | 模型优化方法和装置 | |
CN113470092A (zh) | 地形的渲染方法和装置、电子设备和存储介质 | |
CN111950057A (zh) | 一种建筑信息模型bim的加载方法及装置 | |
CN110532232A (zh) | 一种对上传图片进行处理的方法及装置 | |
CN115794400A (zh) | 深度学习模型的内存管理方法、装置、设备及存储介质 | |
CN111681317B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114307158A (zh) | 三维虚拟场景数据的生成方法及装置、存储介质、终端 | |
CN113244625A (zh) | 游戏地形数据的编辑方法、装置、存储介质和电子装置 | |
CN110458931A (zh) | 一种基于lod等级的三维模型数据处理方法及相关设备 | |
CN113318444B (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 |