资源管理方法及装置与流程

专利查询11月前  56



1.本技术涉及计算机技术领域,特别涉及一种资源管理方法。本技术同时涉及一种资源管理装置、一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,网络游戏吸引了越来越多的用户,为了能够带给用户更好的视觉效果和游戏体验,在对游戏场景进行绘制时,使用到的贴图数量和种类越来越多,贴图的表现精度也越来越高。现有技术中,通常采用虚拟贴图技术来优化游戏场景,然而,这种实现方式在游戏制作时制作流程更复杂,且不方便预览游戏场景的最终展示效果,在游戏运行时由于需要为虚拟贴图分配一个较大的间接索引图,这将带来巨大的存储资源的开销,因此亟需一种简化游戏场景绘制流程,降低存储资源开销的方案。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种资源管理方法,以解决现有技术中存在的技术缺陷。本技术实施例同时提供了一种资源管理装置,一种计算设备,以及一种计算机可读存储介质。
4.根据本技术实施例的第一方面,提供了一种资源管理方法,包括:
5.接收与目标贴图数据对应的资源使用请求;
6.根据所述资源使用请求读取资源信息;
7.基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;
8.在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
9.可选地,所述根据所述资源使用请求读取资源信息,包括:
10.根据所述资源使用请求读取历史贴图数据对应的资源使用信息,并作为所述资源信息;
11.相应的,在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源,包括:
12.在检测到所述资源使用信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
13.可选地,所述根据所述资源使用请求读取资源信息,包括:
14.根据所述资源使用请求读取历史贴图数据对应的目标资源信息以及关联资源信息,基于所述目标资源信息和关联资源信息构建所述资源信息;
15.相应的,所述子资源信息的确定,包括:
16.在所述关联资源信息中选择局部资源信息,并基于局部资源信息和所述目标资源信息创建所述子资源信息。
17.可选地,所述接收与目标贴图数据对应的资源使用请求步骤执行前,还包括:
18.初始化缓存池;
19.在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源;
20.为所述历史贴图数据分配所述初始资源;
21.基于所述初始资源确定与所述历史贴图数据对应的资源使用信息。
22.可选地,所述基于所述初始资源确定与所述历史贴图数据对应的资源使用信息,包括:
23.接收与所述历史贴图数据对应的资源释放请求;
24.释放所述历史贴图数据占用的所述初始资源;
25.在初始化后的缓存池中对被释放的初始资源进行标记;
26.根据被释放的初始资源对应的标记结果,生成与所述历史贴图数据对应的资源使用信息。
27.可选地,所述根据所述资源使用请求读取历史贴图数据对应的资源使用信息,包括:
28.根据所述资源使用请求读取历史贴图数据对应的起始地址和空间占用信息;
29.基于所述起始地址和所述空间占用信息生成与所述历史贴图数据对应的资源使用信息。
30.可选地,所述基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测,包括:
31.创建所述目标贴图数据对应的目标间接索引图;
32.确定所述目标间接索引图的目标空间需求信息,并按照所述目标空间需求信息对所述资源信息进行检测。
33.可选地,所述在初始化后的缓存池中查找与历史贴图数据对应的初始资源,包括:
34.创建所述历史贴图数据对应的历史间接索引图;
35.基于所述历史间接索引图的历史空间需求信息,在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源。
36.可选地,所述基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测步骤执行后,还包括:
37.在检测到所述资源信息中,未存在与所述目标贴图数据匹配的子资源信息的情况下,在初始化后的缓存池中查找缓存块资源;
38.针对所述目标贴图数据分配所述缓存块资源。
39.可选地,所述资源管理方法还包括:
40.若初始化后的缓存池中不存在所述缓存块资源,则对初始化后的缓存池进行扩展,获得目标缓存池;
41.在所述目标缓存池中查找所述缓存块资源;
42.针对所述目标贴图数据分配所述缓存块资源。
43.根据本技术实施例的第二方面,提供了一种资源管理装置,包括:
44.接收模块,被配置为接收与目标贴图数据对应的资源使用请求;
45.读取模块,被配置为根据所述资源使用请求读取历史贴图数据对应的资源信息;
46.检测模块,被配置为基于所述目标贴图数据对应的空间需求信息对所述资源信息
进行检测;
47.分配模块,被配置为在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
48.根据本技术实施例的第三方面,提供了一种计算设备,包括:
49.存储器和处理器;
50.所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述资源管理方法的步骤。
51.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述资源管理方法的步骤。
52.根据本技术实施例的第五方面,提供了一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述资源管理方法的步骤。
53.本技术提供的资源管理方法,通过接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读取历史贴图数据对应的资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。实现了基于历史贴图数据对应的资源信息,为目标贴图数据分配资源,从而简化了针对目标贴图数据的资源分配的操作,实现了资源的复用,提高了资源的使用率。
附图说明
54.图1是本技术一实施例提供的一种资源管理方法的流程图;
55.图2是本技术一实施例提供的一种资源管理方法的示意图;
56.图3是本技术一实施例提供的一种应用于游戏场景的资源管理方法的处理流程图;
57.图4是本技术一实施例提供的一种资源管理装置的结构示意图;
58.图5是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
59.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
60.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
61.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
62.首先,对本发明一个或多个实施例涉及的名词术语进行解释。
63.贴图,3d影视动画以及游戏制作过程中的一个环节,即:用photoshop等平面软件制作材质平面图,覆于利用maya、3dmax等3d制作软件建立的立体模型上的过程,称为贴图。
64.虚拟贴图(virtual texturing),用于解决3d场景中大量贴图而内存有限的情况,所有程序用到的贴图会被处理成几张较大的虚拟贴图,这些虚拟贴图尺寸通常非常大,无法全部载入内存。每个虚拟贴图会被划分为很多n*n的小块,每个小块称为一个page文件存储在磁盘上,虚拟贴图会对应一张间接索引图(indirect texture),这张图是载入内存的,间接索引图(indirect texture)上存储了每个虚拟贴图的每个page块位置所对应到的真实贴图(或物理贴图)的位置。
65.在本技术中,提供了一种资源管理方法。本技术同时涉及一种资源管理装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
66.随着网络游戏技术的发展,游戏场景绘制的过程中,贴图的使用量和种类越来越多,表现精度也越来越高。因此游戏场景绘制时所使用到的贴图的数量会越来越大,贴图的分辨率会越来越高。现有技术中通常会用到虚拟贴图技术(virtual texturing)来优化场景的显存内存占用和运行时的渲染效率。在游戏制作时将所有用到虚拟贴图技术的贴图合并到一张巨大的虚拟贴图上,通过这样的方式来统一贴图的使用。但是这种方式在游戏制作的时候使制作流程变得复杂,且不方便预览游戏的最终效果。而在游戏运行时,巨大的虚拟贴图导致需要分配一个巨大的间接索引图(indirect texture),会带来一个不菲的内存显存占用开销,而且无法更好地动态管理内存显存分配。
67.有鉴于此,本技术提供的资源管理方法,通过接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读取资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。实现了基于资源信息,为目标贴图数据分配资源,从而简化了针对目标贴图数据的资源分配的操作,实现了资源的复用,提高了资源的使用率。
68.图1示出了根据本技术一实施例提供的一种资源管理方法的流程图,具体包括以下步骤:
69.步骤s102:接收与目标贴图数据对应的资源使用请求。
70.具体的,贴图是指,3d影视动画以及游戏制作过程中的一个环节,即:用photoshop等平面软件制作材质平面图,覆于利用maya、3dmax等3d制作软件建立的立体模型上的过程,称为贴图,其中,材质平面图即为目标贴图数据;资源使用请求是指在对动画/游戏场景完成贴图过程后,预览或用户观看/使用情况下,加载贴图数据时,目标贴图数据为了完成加载操作,向计算机发出资源使用指令,用于获得加载所需的资源。
71.基于此,在实现目标贴图数据的加载前,需要基于目标贴图数据所占用的存储空间的大小为目标贴图数据分配相应的资源,以此来满足目标贴图数据的加载需求。当目标贴图数据进行加载时,先向计算机发起资源使用请求,计算机接收到这个请求后,将为目标贴图数据分配一段连续的存储空间,供其使用。
72.举例说明,在游戏场景绘制完成后进行预览时,或在游戏上线后,游戏用户运行的过程中,由于游戏场景是由大量的贴图绘制而成的,在预览/运行过程中,加载当前场景中
的贴图资源时,会需要占用一定的存储资源,如图2中(1)所示,加载当前游戏场景中的人和树时,由于人和树均是由贴图资源构成的,因此人和树对应的贴图资源在加载时,要向计算机发出相应的资源使用请求,获得满足加载需要的存储空间,从而完成游戏场景的构建。
73.进一步的,贴图数据不是一成不变的,在当前场景所需的贴图数据加载完成后,由于场景的改变,场景所需的贴图数据也会随之不断改变,为了满足贴图数据加载时的存储空间需求,需要在场景初始化时,为场景初始化缓存池,用于存储贴图数据加载时所需的数据以及资源,具体实现如下:
74.初始化缓存池;在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源;为所述历史贴图数据分配所述初始资源;基于所述初始资源确定与所述历史贴图数据对应的资源使用信息。
75.具体的,历史贴图数据是与目标贴图数据对应的,在目标贴图数据加载前,完成加载的贴图数据,历史贴图数据是存在于第一场景中的,已加载的贴图数据,由于场景的转换或视角的改变,第一场景转换到第二场景时,新增的贴图数据即为目标贴图数据,而与第一场景相比消失于第二场景中的贴图数据即为历史贴图数据;初始化缓存池是指划分一段连续的,设定大小的存储空间,这个连续的存储空间即为缓存池;初始资源是指加载历史贴图数据时,历史贴图数据所需的缓存池中的存储空间;资源使用信息是指为历史贴图数据分配了存储空间后,会在缓存池中标记出历史贴图数据的存储位置,以及所占的存储空间的大小,其中存储位置和存储空间大小即为资源使用信息,它代表着历史贴图数据存储在缓存池中的哪个位置,占用了多大的存储空间。
76.基于此,在场景初始化时,为了满足场景中贴图数据的加载需求,需要为其初始化缓存池,在场景中历史贴图数据加载时,根据历史贴图数据加载所需的存储空间的大小在缓存池中确定一段能满足历史贴图数据加载所需的初始资源,将该初始资源分配给历史贴图数据,同时记录下历史贴图数据的资源使用信息,即初始资源在缓存池中的位置以及存储空间的大小。
77.综上,通过初始化缓存池的方式,预置了一段连续的存储空间,用于满足场景初始化时,加载场景中所需的贴图数据的需求,加载贴图数据时,均可使用缓存池中的存储空间,从而优化了存储资源的使用结构。
78.进一步的,在初始化缓存池后,历史贴图数据在加载时,为了实现加载,需要使用缓存池中的存储空间,此时需要基于历史贴图数据的存储空间的需求信息在缓存池中查找对应的初始资源,具体实现如下:
79.创建所述历史贴图数据对应的历史间接索引图;基于所述历史间接索引图的历史空间需求信息,在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源。
80.具体的,间接索引图是指用于存储,贴图数据中每个page块位置与其对应的物理贴图的位置之间的对应关系的图,起到映射贴图数据,以及,与贴图数据对应的物理贴图之间的对应关系的作用;历史空间需求信息是指历史间接索引图的空间需求信息。
81.基于此,在基于历史贴图数据初始化了缓存池后,为了满足历史贴图数据的加载需求,创建历史贴图数据对应的历史间接索引图,在完成了历史间接索引图的创建后,基于历史间接索引图所需的历史空间需求信息在缓存池中查找满足历史贴图数据加载需求的初始资源。
82.沿用上例,在预览/运行游戏时,游戏场景中的贴图资源在加载时需要占用一定的存储空间,因此在游戏场景初始化时,基于初始游戏场景中贴图数据的加载需求,需要初始化一段连续的存储空间作为缓存池,用来存储与贴图数据对应的间接索引图,当加载贴图数据时,即可使用缓存池中的存储空间,如图2中(2)所示,当加载游戏场景中的人时,先创建人这个贴图数据对应的间接索引图,根据间接索引图的存储空间需求信息,在缓存池中确定对应的存储空间用来存储间接索引图,由缓存池为贴图数据分配间接索引图以及与间接索引图对应的存储空间,在间接索引图中存储人这个贴图数据中每个page块位置所对应到的物理贴图的位置。
83.需要说明的是,在初始化与历史贴图数据对应的缓存池时,初始化历史贴图数据的间接索引图对应的缓存池,用于实现对间接索引图的存储,分配与回收。同时初始化历史贴图数据的物理贴图对应的缓存池,用于实现对物理贴图的存储,分配与回收。当对历史贴图数据对应的间接索引图进行存储,分配与回收时,同时对贴图数据对应的物理贴图进行存储,分配与回收。下述实施例中所述的缓存池均代表与间接索引图对应的缓存池。
84.综上,通过根据贴图的存储空间需要为贴图数据分配存储空间,实现了存储空间的按需分配,优化了存储空间的使用结构。
85.进一步的,由于场景不是一成不变的,当场景改变时与场景对应的贴图数据也会随之改变,当从第一场景变换到第二场景时,可能会存在贴图数据的改变,即第一场中部分贴图数据不再使用,第二场景中新增部分贴图数据,对于第一场景中不再使用的贴图数据,其占用的缓存池中的存储空间也会被释放,具体实现如下:
86.接收与所述历史贴图数据对应的资源释放请求;释放所述历史贴图数据占用的所述初始资源;在初始化后的缓存池中对被释放的初始资源进行标记;根据被释放的初始资源对应的标记结果,生成与所述历史贴图数据对应的资源使用信息。
87.具体的,资源释放请求是与资源使用请求对应的,不再使用资源的指令,用于释放当前占用的存储空间;标记是指在缓存池中记录历史贴图数据所占用过的存储空间。
88.基于此,在为历史贴图数据对应的历史间接索引图分配了初始资源后,由于场景的改变,历史贴图数据不再使用,此时需要由缓存池对历史贴图数据所占用的存储空间进行回收,当接收到与历史贴图数据对应的资源释放请求时,释放历史贴图数据当前占用的缓存池中的初始资源,并在缓存池中对已经回收的初始资源进行标记,生成标记结果,基于标记结果生成与历史贴图数据对应的资源使用信息。
89.沿用上例,由于游戏场景会随着游戏用户的操作而不断改变,当游戏用户控制着目标人物走动时,对应的游戏场景也会发生改变。如图2中(1)和(3)所示,图2中(1)为游戏开始时游戏用户看到的游戏场景,当游戏用户控制着目标人物走动时,游戏场景发生了改变,变为图2中(3)所示的场景,可以看到图2中(1)中的树,随着目标人物的移动不再出现在游戏场景中,此时对于与树对应的贴图数据,会向系统发出释放所占资源的指令,释放占用的缓存池中的存储空间,由缓存池对间接索引图以及与间接索引图对应的存储空间进行回收,并将这个存储空间在缓存池中进行标记如图2中(5)所示,生成资源使用信息,由于游戏场景的改变,当前的存储空间被释放后,后续有新的贴图数据时,根据缓存池中的标记以及资源使用信息为新的贴图数据分配存储空间资源。
90.综上,当场景发生改变时,对于不再使用的贴图数据,释放其在缓存池中占用的存
储资源,达到资源回收的目的,并将回收的资源分配给新增的贴图数据,实现资源的复用,从而优化了资源使用结构。
91.步骤s104,根据所述资源使用请求读取资源信息。
92.具体的,在上述接收到了与目标贴图数据对应的资源使用请求后,即可读取接收到的资源使用请求,分析该请求中携带的信息,从而在读取资源信息时,找到与该资源使用请求对应的资源信息,其中资源信息包括缓存池中没有被占用的缓存块信息,还包括在目标数据加载前,已经加载完成的贴图数据对应的资源使用情况,由于场景的改变或视角的变化,贴图数据不再展示在场景中,从而对其占用的资源进行释放,并对其占用的资源在缓存池中进行标记,从而生成资源信息。
93.基于此,在接收到目标贴图数据对应的资源使用请求后,响应该资源使用请求,基于这个请求读取资源信息,便于找到能够满足目标贴图数据的加载需求的资源。
94.进一步的,由于资源信息包括缓存池中没有被占用的缓存块资源,还包括已经被其它贴图数据占用,但是由于贴图数据不再需要缓存块资源,从而释放的缓存块资源,在缓存块被释放时,对其进行标记,以便于后续实现被释放的缓存块资源的重复使用,即,分配给新增的贴图数据使用,具体实现如下:
95.根据所述资源使用请求读取历史贴图数据对应的资源使用信息,并作为所述资源信息;相应的,在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源,包括:在检测到所述资源使用信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
96.具体的,历史贴图数据是指,由于场景变化导致场景中部分贴图数据不再需要使用存储资源,将其占用的存储资源释放,这类贴图数据即为历史贴图数据;资源使用信息是指与历史贴图数据对应的,已经被释放的存储资源的资源使用情况,包括在缓存池中占用的缓存块资源的数量,以及缓存块资源对应的地址信息。
97.基于此,当接收到目标贴图数据对应的资源使用请求时,由于可供目标贴图数据使用的资源可以是未被使用的资源,还可以是被使用过,但是当前时刻已经被释放的资源,即,历史贴图数据对应的资源,所以,当接收到目标贴图数据对应的资源使用请求时,基于资源使用请求读取历史贴图数据对应的资源使用信息,并将读取到的资源使用信息作为与目标贴图数据对应的资源信息。在检测到资源使用信息中存在与目标贴图数据匹配的子资源信息时,将与目标贴图数据匹配的子资源使用信息为目标贴图数据分配目标资源。
98.沿用上例,当游戏场景由于场景的切换,或游戏玩家控制着游戏角色移动时,视角发生改变时,相应的游戏场景中的贴图数据也会改变,当需要加载当前游戏场景中新增的贴图数据时,先对上一游戏场景中不再展示在当前游戏场景中的贴图数据对应的资源释放情况进行读取,当确认被释放的存储资源能够满足当前新增的贴图数据的资源需求时,将读取到的被释放的资源分配给新增的贴图数据,从而实现资源的重复使用。
99.综上,当场景发生改变时,对于不再使用的贴图数据,释放其在缓存池中占用的存储资源,达到资源回收的目的,并将回收的资源分配给新增的贴图数据,实现资源的复用,从而优化了资源使用结构。
100.此外,在根据资源使用请求读取资源信息时,可能存在资源信息中不存在与资源
使用请求匹配的历史贴图数据对应的目标资源信息的情况,当历史贴图数据对应的目标资源信息不能满足资源使用请求时,在使用历史贴图数据对应的目标资源时,还需要获取关联资源信息,选择关联资源信息中的一部分,并结合历史贴图数据对应的目标资源信息生成与资源使用请求对应的资源信息,具体实现如下:
101.根据所述资源使用请求读取历史贴图数据对应的目标资源信息以及关联资源信息,基于所述目标资源信息和关联资源信息构建所述资源信息;相应的,所述子资源信息的确定,包括:在所述关联资源信息中选择局部资源信息,并基于局部资源信息和所述目标资源信息创建所述子资源信息。
102.具体的,目标资源信息是指由第一场景转换为第二场景后,第一场景中被释放的贴图数据对应的存储资源使用信息;关联资源信息是指在第一场景之前的场景中被释放的贴图数据对应的资源使用信息,局部资源信息是指关联资源信息中的部分资源使用信息。
103.基于此,当接收到目标贴图数据对应的资源使用请求时,由于历史贴图数据对应的目标资源信息可能会不满足贴图数据的资源使用请求,因此在读取历史贴图数据对应的目标资源信息的同时,还需要读取关联资源信息,结合历史贴图数据对应的目标资源信息和关联资源信息确定与目标贴图数据对应的资源使用请求匹配的资源信息,即选择关联资源信息中的局部资源信息,结合目标资源信息创建与目标贴图数据对应的资源使用请求匹配的子资源信息,从而实现根据子资源信息为目标贴图数据分配资源。
104.沿用上例,当游戏场景由于场景的切换,或游戏玩家控制着游戏角色移动时,视角发生改变时,相应的游戏场景中的贴图数据也会改变,当需要加载当前游戏场景中新增的贴图数据时,先对上一游戏场景中不再展示在当前游戏场景中的贴图数据对应的资源释放情况进行读取,当被释放的存储资源不能满足当前新增的贴图数据的资源需求时,先将读取到的被释放的资源分配给新增的贴图数据,再读取其它游戏场景中被释放的贴图数据对应的资源信息,从中选择一部分存储资源,将这一部分存储资源与读取到的被释放的资源一同分配给新增的贴图数据,完成资源信息的读取和分配。
105.综上,当场景发生改变时,对于不再使用的贴图数据,释放其在缓存池中占用的存储资源,达到资源回收的目的,并将回收的资源分配给新增的贴图数据,实现资源的复用,当一个场景中回收的资源不能满足当前的资源需求时,再读取其它场景中被释放的资源,分配给新增的贴图数据,从而优化了资源使用结构。
106.进一步的,在接收到了与目标贴图数据对应的资源使用请求时,响应于该资源使用请求,为了尽可能快的为目标贴图数据分配对应的资源,则需要读取历史贴图数据对应的资源使用信息,从而根据资源使用信息为目标数据分配资源,其中,资源使用信息包括历史贴图数据对应的起始地址和空间占用信息,具体实现如下;
107.根据所述资源使用请求读取历史贴图数据对应的起始地址和空间占用信息;基于所述起始地址和所述空间占用信息生成与所述历史贴图数据对应的资源使用信息。
108.具体的,起始地址是指历史贴图数据所占用的,缓存池中的一段存储空间对应的起始存储块的地址;空间占用信息是指历史贴图数据占用的缓存池中存储空间的大小。
109.基于此,在接收到与目标贴图数据对应的资源使用请求后,基于该资源使用请求读取历史贴图数据对应起始地址和空间占用信息,基于读取到的起始地址和空间占用信息生成与历史贴图数据对应的资源使用信息,以便于后续基于资源使用信息为目标贴图数据
分配资源。
110.沿用上例,当需要加载游戏场景中的贴图数据时,如图2中(4)所示,加载当前游戏场景中的人、箱子、锁和云等贴图数据时,接收到针对人、箱子、锁和云等贴图数据的资源使用请求,基于这个请求读取历史贴图数据对应的资源使用信息,即如图2中(1)所示的人、箱子、锁和树等历史贴图数据分别对应的,在缓存池中的起始地址和空间占用信息,如图2中(5)所示,树对应的起始地址为0,占用缓存池中的两个缓存块,分别为缓存块0和缓存块1,人对应的起始地址为2,占用缓存池中的两个缓存块,分别为缓存块2和缓存块3,以便于后续为游戏场景中的贴图数据分配存储空间。
111.此外,在多个场景同时进行展示的情况下,由于视角的改变或场景的改变,将会导致场景中贴图数据所占用的缓存块资源的变动,对于不再出现在场景中的贴图数据,将会释放其对应的缓存池中所占用的缓存块资源;对于场景中新增的贴图数据,将会为新增的贴图数据分配缓存块资源,优先从多个场景中,已经释放的贴图数据对应的缓存块资源中查找能够分配给新增贴图数据的缓存块资源并分配。
112.基于此,当接收到与目标贴图数据对应的资源使用请求后,基于该资源使用请求读取多个场景中历史贴图数据对应的资源使用信息,确定与目标贴图数据相匹配的资源使用信息,也就是确定与目标贴图数据对应的缓存池中的存储空间,并将存储空间分配给目标贴图数据,从而实现根据多个场景对应的资源使用信息为目标贴图数据分配资源。
113.沿用上例,在同时加载两个游戏场景的情况下,当需要加载第一游戏场景中的“草丛”这一新增的贴图数据时,“草丛”这一贴图数据所需要的缓存块资源为3,则基于“草丛”这一贴图数据对应的资源使用请求读取第一游戏场景以及第二游戏场景对应的资源使用信息,确定第一游戏场景以及第二游戏场景中已经释放的贴图数据对应的缓存块占用信息,当检测到第一场景中“石头”这一已经被释放的贴图数据所占用的缓存块资源为4,检测到第二场景中“书”这一已经被释放的贴图数据所占用的缓存块资源为3,则选择第二场景中已经被释放的贴图数据“书”所占用的缓存块资源,并为“草丛”这一贴图数据分配读取到的3个缓存块资源。
114.综上,在为当前游戏场景中的贴图数据分配资源时,先读取历史贴图数据的资源使用信息,便于后续实现资源的复用。
115.步骤s106,基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测。
116.具体的,在上述基于与目标贴图数据对应的资源使用请求读取资源信息后,为了判断读取到的资源信息中是否存在与资源使用请求相匹配的资源信息,还需要对读取到的资源信息进行检测。空间需求信息是指与目标贴图数据对应的目标贴图数据加载所需的存储空间。
117.基于此,在基于与目标贴图数据对应的资源使用请求读取资源信息时,基于目标贴图数据的空间需求信息对资源信息进行检测,以便于后续判断资源信息中是否存在与目标贴图数据相匹配的资源信息。
118.进一步的,在基于目标贴图数据对应的空间需求信息对资源信息进行检测时,先创建与目标贴图数据对应的间接索引图,再基于间接索引图的空间需求信息对资源信息进行检测,具体实现如下:
119.创建所述目标贴图数据对应的目标间接索引图;确定所述目标间接索引图的目标空间需求信息,并按照所述目标空间需求信息对所述资源信息进行检测。
120.具体的,目标间接索引图是指与目标贴图数据对应的间接索引图;目标空间需求信息是指满足目标间接索引图的存储需求的存储空间。
121.基于此,在读取到资源信息后,为了满足目标贴图数据的加载需求,先创建目标贴图数据对应的目标间接索引图,在完成了目标间接索引图的创建后,基于目标间接索引图的目标空间需求信息对读取到的资源信息进行检测,以便于后续确定资源信息中与目标贴图数据相匹配的资源信息。
122.沿用上例,在预览/运行游戏的情况下,当前游戏场景如图2中(4)所示,加载当前游戏场景中人对应的贴图资源时操作如图2中(2)所示,当加载游戏场景中的人这一贴图数据时,先创建人这一贴图数据对应的间接索引图,根据间接索引图的存储空间需求信息,对资源信息进行检测,即对如图2中(1)所示的人和树等贴图数据分别对应的,在缓存池中的资源信息进行检测,检测图2中(1)是否存在与图2中(4)的人、箱子、锁和云等贴图数据相匹配的资源信息。
123.综上,通过基于目标贴图数据创建目标间接索引图,从而确定目标贴图数据对应的空间需求信息,以便于判断资源信息中是否存在与目标贴图数据相匹配的资源信息,从而实现资源的复用。
124.步骤s108,在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
125.具体的,在上述基于目标贴图数据对应的空间需求信息对资源信息进行检测后,还需要根据检测结果判断资源信息中是否存在与目标贴图数据相匹配的子资源信息,若存在则按照子资源信息为目标贴图数据分配资源,其中,子资源信息是指存储于资源信息集合中的任意一条资源信息;目标资源是指与目标贴图数据对应的可以分配给目标贴图数据的资源。
126.基于此,在基于目标贴图数据对应的空间需求信息,对资源信息进行检测时,当检测到资源信息中存在与目标贴图数据相匹配的子资源信息时,即为检测到了与目标贴图数据的空间需求信息对应的资源信息,基于检测到的资源信息为目标贴图数据分配目标资源即可,以便于后续实现目标贴图数据的加载。
127.进一步的,在根据检测结果判断资源信息中是否存在与目标贴图数据相匹配的子资源信息时,若未存在则在初始化后的缓存池中查找与目标贴图数据相匹配的缓存块资源,并分配给目标贴图数据,具体实现如下:
128.在检测到所述资源信息中,未存在与所述目标贴图数据匹配的子资源信息的情况下,在初始化后的缓存池中查找缓存块资源;针对所述目标贴图数据分配所述缓存块资源。
129.具体的,缓存块是指,组成缓存池的存储单元,缓存池,由地址连续的多个缓存块组成。
130.基于此,在基于目标贴图数据对应的空间需求信息,对资源信息进行检测时,当检测到资源信息中不存在与目标贴图数据相匹配的子资源信息时,则在初始化后的缓存池中查找与目标贴图数据对应的空间需求信息相匹配的缓存块,并将查找到的缓存块,分配给目标贴图数据。
131.综上,在为目标贴图数据分配资源时,当在资源信息中未找到与目标贴图数据相匹配的子资源信息时,再对缓存池进行查找,实现了存储资源的动态分配,优化了存储资源的使用结构。
132.此外,由于缓存池的存储空间是预先设定的,在基于目标贴图数据对应的空间需求信息在缓存池中查找缓存块时,若未查找到缓存块资源,则可以根据需要对缓存池进行扩展,具体实现如下:
133.若初始化后的缓存池中不存在所述缓存块资源,则对初始化后的缓存池进行扩展,获得目标缓存池;在所述目标缓存池中查找所述缓存块资源;针对所述目标贴图数据分配所述缓存块资源。
134.具体的,目标缓存池是指对缓存池进行存储空间扩展后得到的扩展后的缓存池。
135.基于此,在初始化后的缓存池中查找与目标贴图数据对应的空间需求信息相匹配的缓存块时,若初始化后的缓存池中不存在与目标贴图数据对应的空间需求信息相匹配的缓存块,对初始化后的缓存池进行扩展,生成目标缓存池,再在目标缓存池中查找与目标贴图数据对应的空间需求信息相匹配的缓存块,并将查找到的缓存块,分配给目标贴图数据。
136.沿用上例,在预览/运行游戏的情况下,当前游戏场景如图2中(4)所示,基于图2中(4)的人、箱子、锁和云这四个贴图数据所需的存储空间,分别对图2中(1)的人和树的存储空间进行检测,由于两个场景下都有人这个贴图数据,且检测到与人这个贴图数据对应的存储空间还处于被占用的状态,所以人这个贴图数据对应的存储空间不需要被释放,还可以在当前的游戏场景中继续使用,检测到与树对应的存储空间(图2中(5)的缓存块0和缓存块1)已经被释放,且与树对应的存储空间占用缓存池中两个缓存块。而云,这个贴图数据也需要占用缓存池中的两个缓存块,经过检测,云所需的存储空间与已经释放了存储空间的贴图数据树相匹配,则将缓存块0和缓存块1分配给云,这个贴图数据。
137.图2中(4)的锁,这个贴图数据需要占用缓存池中的三个缓存块,而经过检测,并未检测到与历史贴图数据相对应的符合条件的存储空间,即树和人这两个贴图数据的存储空间正处于被占用的状态,此时即可在缓存池中查找与锁,这个贴图数据相匹配的缓存块,经过查找,缓存池中的连续的缓存块4-缓存块6处于未被占用状态,则将该缓存块4-缓存块6分配给锁,这个贴图数据。
138.图2中(4)的箱子,这个贴图数据需要占用四个缓存块,而当前的缓存池中所有的缓存块都处于被占用的状态,此时则需要基于这个需求,对缓存池进行适当的扩展,扩展出缓存块7-缓存块10,此时基于扩展后的缓存池对箱子,这个贴图数据所需的存储空间进行查找,查找到缓存池中连续的缓存块7-缓存块10处于未被占用状态,则将该缓存块7-缓存块10分配给箱子,这个贴图数据。从而实现存储空间的动态分配。
139.综上,本技术提供的资源管理方法,通过接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。实现了基于历史贴图数据对应的资源信息,为目标贴图数据分配资源,从而简化了针对目标贴图数据的资源分配的操作,实现了资源的复用,提高了资源的使用率。
140.下述结合附图3,以本技术提供的资源管理方法对游戏场景应用为例,对所述资源
管理方法进行进一步说明。其中,图3示出了本技术一实施例提供的一种应用于游戏场景的资源管理方法的处理流程图,具体包括以下步骤:
141.步骤s302,基于初始游戏场景初始化缓存池。
142.在对游戏场景进行预览或运行时,基于初始的游戏场景初始化连续的存储空间作为缓存池,其中,间接索引图缓存池用于在加载游戏场景中的贴图数据时,为贴图数据分配对应的间接索引图,以及实现间接索引图的回收;物理贴图缓存池用于存储与贴图数据对应的物理贴图,以及实现物理贴图数据的回收,通过间接索引图确定与贴图数据对应的物理贴图。
143.步骤s304,确定初始游戏场景中贴图数据对应的间接索引图和物理贴图在缓存池中占用的缓存块资源。
144.获取初始游戏场景中的游戏人物、山、树、房屋等贴图数据,将获取到的,初始游戏场景中的游戏人物、山、树、房屋等贴图数据对应的物理贴图存储到物理贴图缓存池中。在间接索引图缓存池中确定与贴图数据对应的间接索引图,根据间接索引图占用的存储空间在间接索引图缓存池中确定缓存块资源。贴图数据游戏人物占用了2个缓存块资源,即缓存块0-缓存块1,贴图数据山占用了3个缓存块资源,即缓存块2-缓存块4,贴图数据树占用了2个缓存块资源,即缓存块5-缓存块6,贴图数据房屋占用了3个缓存块资源,即缓存块7-缓存块9。
145.步骤s306,初始游戏场景变更后,变更游戏场景中的贴图数据。
146.当游戏场景由于目标人物的移动,或者由于视角改变导致的游戏场景变更时,游戏场景中的贴图数据也会改变,变更后的游戏场景中的贴图数据也由初始游戏场景的游戏人物、山、树、房屋等贴图数据,变更为游戏人物、山、河流、桥梁。
147.步骤s308,回收不再使用缓存块资源的贴图数据对应的间接索引图以及物理贴图,并标记缓存块资源对应的起始地址和缓存块数量。
148.当初始游戏场景转换为变更后的游戏场景时,当前游戏场景中展现的贴图数据也由初始游戏场景中的游戏人物、山、树、房屋,变更为变更后的游戏场景中的游戏人物、山、河流、桥梁。相较于初始游戏场景中的贴图数据游戏人物、山、树、房屋,贴图数据树、房屋不再展现在当前游戏场景中,因此贴图数据树、房屋也不再使用缓存块资源,此时物理贴图缓存池将回收树,房屋对应的物理贴图;间接索引图缓存池将会回收树,房屋对应的间接索引图,释放占用的缓存块资源,并在间接索引图缓存池中分别标记出,树以及房屋占用的缓存块资源的起始地址,以及占用了多少缓存块资源,树占用了2个缓存块资源,缓存块5-缓存块6,房屋占用了3个缓存块资源,即缓存块7-缓存块9,将缓存块5-缓存块6,缓存块7-缓存块9分别释放,并标记缓存块的起始地址,以及与树和房屋分别对应的缓存块数量。
149.步骤s310,检测变更后的游戏场景中的贴图数据所需的缓存块资源。
150.对变更后的游戏场景中的贴图数据进行检测,得到贴图数据游戏人物、山、河流、桥梁,经过对贴图数据游戏人物、山、河流、桥梁对应的间接索引图进行检测,游戏人物需要2个缓存块资源,山需要3个缓存块资源,河流需要4个缓存块资源,桥梁需要3个缓存块资源,根据贴图数据的资源需求,在间接索引图缓存池中为贴图数据游戏人物、山、河流、桥梁分配间接索引图,同时由物理贴图缓存池为贴图数据游戏人物、山、河流、桥梁分配物理贴图。
151.步骤s312,判断初始游戏场景中被释放的缓存块资源中是否存在与变更后的游戏场景中的贴图数据相匹配的缓存块资源。若是,则执行步骤s314,若否,则执行步骤s316。
152.对于变更后的游戏场景中的贴图数据,当为贴图数据分配间接索引图对应的缓存块资源时,判断初始游戏场景中被释放的,贴图数据树和贴图数据房屋对应的缓存块资源,是否与变更后的游戏场景中的贴图数据河流,桥梁对应的间接索引图所占用的缓存块资源相匹配。贴图数据河流,桥梁为相较于原始游戏场景中的贴图数据,新增的贴图数据,贴图数据游戏人物、山、与原始游戏场景中的贴图数据相比,并没有发生改变,因此只需要为贴图数据河流,桥梁分配缓存块资源即可。
153.步骤s314,为新增的贴图数据分配被释放的缓存块资源。
154.经过判断,初始游戏场景中被释放的间接索引图缓存池中的缓存块资源为缓存块7-缓存块9,与变更后的游戏场景中的贴图数据桥梁所需的缓存块资源相匹配,因此将缓存块7-缓存块9分配给贴图数据桥梁,同时由物理贴图缓存池为新增贴图数据分配物理贴图。
155.步骤s316,判断缓存池中是否存在与新增的贴图数据相匹配的缓存块资源。若是执行步骤s318,若否执行步骤s320。
156.变更后的游戏场景中的贴图数据河流在间接索引图缓存池中所需要的缓存块数量为4,此时被释放的缓存块资源中不存在与贴图数据河流相匹配的缓存块资源,判断缓存池中是否存在与贴图数据河流相匹配的缓存块资源。
157.步骤s318,将缓存池中与新增的贴图数据相匹配的缓存块资源分配给贴图数据。
158.当间接索引图缓存池中存在与贴图数据河流相匹配的缓存块资源时,将对应的缓存块资源分配给贴图数据河流,同时由物理贴图缓存池为新增的贴图数据分配物理贴图。
159.步骤s320,扩展缓存池,为贴图数据分配缓存块资源。
160.当间接索引图缓存池中不存在与贴图数据河流相匹配的缓存块资源时,对间接索引图缓存池进行适当的扩展,得到由缓存块0-缓存块15这16个缓存块组成的扩展后的缓存池,在扩展后的间接索引图缓存池中查找与贴图数据河流相匹配的缓存块资源,经过查找由缓存块10-缓存块13组成的缓存块资源与贴图数据河流所需的缓存块资源相匹配,则将缓存块10-缓存块13分配给贴图数据河流。当物理贴图缓存池中不存在与贴图数据相匹配的缓存块资源时,对物理贴图缓存池进行扩展并为贴图数据分配物理贴图对应的缓存块资源。
161.综上,本技术提供的资源管理方法,通过接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读取资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。实现了基于历史贴图数据对应的资源信息,为目标贴图数据分配资源,从而简化了针对目标贴图数据的资源分配的操作,实现了资源的复用,提高了资源的使用率。
162.与上述方法实施例相对应,本技术还提供了资源管理装置实施例,图4示出了本技术一实施例提供的一种资源管理装置的结构示意图。如图4所示,该装置包括:
163.接收模块402,被配置为接收与目标贴图数据对应的资源使用请求;
164.读取模块404,被配置为根据所述资源使用请求读取资源信息;
165.检测模块406,被配置为基于所述目标贴图数据对应的空间需求信息对所述资源
信息进行检测;
166.分配模块408,被配置为在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
167.一个可选的实施例中,所述读取模块404进一步被配置为:
168.根据所述资源使用请求读取历史贴图数据对应的资源使用信息,并作为所述资源信息;
169.相应的,在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源,包括:
170.在检测到所述资源使用信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。
171.一个可选的实施例中,所述读取模块404进一步被配置为:
172.根据所述资源使用请求读取历史贴图数据对应的目标资源信息以及关联资源信息,基于所述目标资源信息和关联资源信息构建所述资源信息;
173.相应的,所述子资源信息的确定,包括:
174.在所述关联资源信息中选择局部资源信息,并基于局部资源信息和所述目标资源信息创建所述子资源信息。
175.一个可选的实施例中,所述接收模块402还被配置为:
176.初始化缓存池;在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源;为所述历史贴图数据分配所述初始资源;基于所述初始资源确定与所述历史贴图数据对应的资源使用信息。
177.一个可选的实施例中,所述接收模块402还被配置为:
178.接收与所述历史贴图数据对应的资源释放请求;释放所述历史贴图数据占用的所述初始资源;在初始化后的缓存池中对被释放的初始资源进行标记;根据被释放的初始资源对应的标记结果,生成与所述历史贴图数据对应的资源使用信息。
179.一个可选的实施例中,所述读取模块404进一步被配置为:
180.根据所述资源使用请求读取历史贴图数据对应的起始地址和空间占用信息;基于所述起始地址和所述空间占用信息生成与所述历史贴图数据对应的资源使用信息。
181.一个可选的实施例中,所述检测模块406进一步被配置为:
182.创建所述目标贴图数据对应的目标间接索引图;确定所述目标间接索引图的目标空间需求信息,并按照所述目标空间需求信息对所述资源信息进行检测。
183.一个可选的实施例中,所述接收模块402还被配置为:
184.创建所述历史贴图数据对应的历史间接索引图;基于所述历史间接索引图的历史空间需求信息,在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源。
185.一个可选的实施例中,所述检测模块406还被配置为:
186.在检测到所述资源信息中,未存在与所述目标贴图数据匹配的子资源信息的情况下,在初始化后的缓存池中查找缓存块资源;针对所述目标贴图数据分配所述缓存块资源。
187.一个可选的实施例中,所述检测模块406还被配置为:
188.若初始化后的缓存池中不存在所述缓存块资源,则对初始化后的缓存池进行扩展,获得目标缓存池;在所述目标缓存池中查找所述缓存块资源;针对所述目标贴图数据分
配所述缓存块资源。
189.上述为本实施例的一种资源管理装置的示意性方案。需要说明的是,该资源管理装置的技术方案与上述的资源管理方法的技术方案属于同一构思,资源管理装置的技术方案未详细描述的细节内容,均可以参见上述资源管理方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
190.图5示出了根据本技术一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
191.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
192.在本技术的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
193.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
194.其中,处理器520用于执行所述资源管理方法的计算机可执行指令。
195.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的资源管理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述资源管理方法的技术方案的描述。
196.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于资源管理方法。
197.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的资源管理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述资源管理方法的技术方案的描述。
198.本技术一实施例还提供一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述资源管理方法的步骤。
199.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行
并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
200.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
201.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
202.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
203.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种资源管理方法,其特征在于,包括:接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读取资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。2.根据权利要求1所述的方法,其特征在于,所述根据所述资源使用请求读取资源信息,包括:根据所述资源使用请求读取历史贴图数据对应的资源使用信息,并作为所述资源信息;相应的,在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源,包括:在检测到所述资源使用信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。3.根据权利要求1所述的方法,其特征在于,所述根据所述资源使用请求读取资源信息,包括:根据所述资源使用请求读取历史贴图数据对应的目标资源信息以及关联资源信息,基于所述目标资源信息和关联资源信息构建所述资源信息;相应的,所述子资源信息的确定,包括:在所述关联资源信息中选择局部资源信息,并基于局部资源信息和所述目标资源信息创建所述子资源信息。4.根据权利要求2或3所述的方法,其特征在于,所述接收与目标贴图数据对应的资源使用请求步骤执行前,还包括:初始化缓存池;在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源;为所述历史贴图数据分配所述初始资源;基于所述初始资源确定与所述历史贴图数据对应的资源使用信息。5.根据权利要求4所述的方法,其特征在于,所述基于所述初始资源确定与所述历史贴图数据对应的资源使用信息,包括:接收与所述历史贴图数据对应的资源释放请求;释放所述历史贴图数据占用的所述初始资源;在初始化后的缓存池中对被释放的初始资源进行标记;根据被释放的初始资源对应的标记结果,生成与所述历史贴图数据对应的资源使用信息。6.根据权利要求2所述的方法,其特征在于,所述根据所述资源使用请求读取历史贴图数据对应的资源使用信息,包括:根据所述资源使用请求读取历史贴图数据对应的起始地址和空间占用信息;基于所述起始地址和所述空间占用信息生成与所述历史贴图数据对应的资源使用信息。
7.根据权利要求1所述的方法,其特征在于,所述基于目标贴图数据对应的空间需求信息对所述资源信息进行检测,包括:创建所述目标贴图数据对应的目标间接索引图;确定所述目标间接索引图的目标空间需求信息,并按照所述目标空间需求信息对所述资源信息进行检测。8.根据权利要求4所述的方法,其特征在于,所述在初始化后的缓存池中查找与历史贴图数据对应的初始资源,包括:创建所述历史贴图数据对应的历史间接索引图;基于所述历史间接索引图的历史空间需求信息,在初始化后的缓存池中查找与所述历史贴图数据对应的初始资源。9.根据权利要求1所述的方法,其特征在于,所述基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测步骤执行后,还包括:在检测到所述资源信息中,未存在与所述目标贴图数据匹配的子资源信息的情况下,在初始化后的缓存池中查找缓存块资源;针对所述目标贴图数据分配所述缓存块资源。10.根据权利要求9所述的方法,其特征在于,还包括:若初始化后的缓存池中不存在所述缓存块资源,则对初始化后的缓存池进行扩展,获得目标缓存池;在所述目标缓存池中查找所述缓存块资源;针对所述目标贴图数据分配所述缓存块资源。11.一种资源管理装置,其特征在于,包括:接收模块,被配置为接收与目标贴图数据对应的资源使用请求;读取模块,被配置为根据所述资源使用请求读取资源信息;检测模块,被配置为基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;分配模块,被配置为在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。12.一种计算设备,其特征在于,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至10任意一项所述资源管理方法的步骤。13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至10任意一项所述资源管理方法的步骤。

技术总结
本申请提供资源管理方法及装置,其中所述资源管理方法包括:接收与目标贴图数据对应的资源使用请求;根据所述资源使用请求读取资源信息;基于所述目标贴图数据对应的空间需求信息对所述资源信息进行检测;在检测到所述资源信息中,存在与所述目标贴图数据匹配的子资源信息的情况下,按照子资源信息为目标贴图数据分配目标资源。通过在接收到目标贴图数据的资源使用请求时,读取资源信息,并根据资源信息为目标贴图数据分配资源,简化了资源分配的操作,实现了资源的复用,提高了资源的使用率。提高了资源的使用率。提高了资源的使用率。


技术研发人员:谭贤亮 李哈迪
受保护的技术使用者:珠海金山数字网络科技有限公司
技术研发日:2021.12.14
技术公布日:2022/3/8

最新回复(0)