存储的方法、装置、终端设备、可读存储介质及程序产品与流程
未命名
08-05
阅读:126
评论:0
1.本发明涉及数据处理技术领域,尤其涉及一种存储的方法、装置、终端设备、可读存储介质及程序产品。
背景技术:
2.撤销/重做是一种通用功能,用户使用撤销/重做功能可以使得被修改的内容返回到之前的状态。
3.目前,为了实现上述功能,通常是将修改前的数据临时存储在内存中,在触发撤销操作时再将数据还原。
4.然而对于体素模型中的体素对象(比如体素风格的地形数据和模型数据等),由于各每个体素对象具有坐标(x,y,z)、有向距离场(sdf)以及材质等信息,因此直接存储体素对象会消耗大量内存,引起编辑器或者系统的卡顿、崩溃等问题。
技术实现要素:
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.图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
32.图2为本发明存储的方法一实施例的流程示意图;
33.图3为本发明存储的装置一实施例的功能模块示意图。
34.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
35.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
36.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
37.本发明实施例的终端设备可以是智能手机、平板电脑、计算机、服务器或者其它网络设备等,本实施例中的终端设备可以用于实现体素对象的低内存存储。
38.如图1所示,该终端设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
39.本领域技术人员可以理解,图1中示出的设备结构并不构成对存储的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
40.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作、网络通信模块、用户接口模块以及存储的程序。操作是管理和控制设备硬件和软件资源的程序,支持存储的程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
41.在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;
42.将分段压缩后的体素对象存储于内存。
43.进一步地,处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
44.将获得的体素对象导入处理列队;
45.在导入所述处理列队的体素对象的数据量达到预设压缩阈值时,将所述处理列队中的体素对象进行压缩。
46.进一步地,在所述针对获得的体素对象进行分段压缩的步骤之前,处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
47.对满足预设条件的多个体素对象进行合并,其中,所述预设条件包括:各体素对象的体素材质和体素有向距离场一致且处于相邻位置。
48.进一步地,所述预设压缩阈值包括不同的第一压缩阈值与第二压缩阈值,所述处理列队包括第一处理列队和第二处理列队,处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
49.将合并后的体素对象标记为第一类型并导入所述第一处理列队,并在所述第一处理列队中的体素对象的数据量达到所述第一压缩阈值时,将所述第一处理列队中的体素对象进行压缩,并在压缩完成后添加所述第一类型的标记;
50.将未合并的体素对象标记为第二类型并导入所述第二处理列队,并在所述第二处理列队中的体素对象的数据量达到所述第二压缩阈值时,将所述第二处理列队中的体素对
象进行压缩,并在压缩完成后添加所述第二类型的标记。
51.进一步地,所述处理列队还包括:第三处理列队,处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
52.在所述第三处理队列中,判断当前获取的体素对象与前一个获取的体素对象是否满足所述预设条件;
53.在不满足所述预设条件时,若所述第三处理队列中包含所述多个在先获取的体素对象,则将所述多个在先获取的体素对象进行合并得到第一体素对象并导入所述第一处理队列,否则,将所述前一个获取的体素对象导入所述第二处理队列。
54.进一步地,处理器1001可以用于调用存储器1005中存储的存储的程序,并执行以下操作:
55.确定满足预设条件的多个体素对象的起点位置和终点位置;
56.根据所述起点位置和所述终点位置,将所述多个体素对象进行合并,得到所述第一体素对象。
57.考虑到体素模型中的体素对象具备坐标(x,y,z)、有向距离场(sdf)以及材质等信息,若是对编辑操作所修改的体素对象直接进行压缩,体素对象将会占据较大内存空间,消耗大量内存,引起体素模型编辑器的卡顿以及崩溃等。
58.因此,为了解决上述问题,本发明提出了一种存储的方法,旨在减少存储体素对象所占据的内存消耗。
59.参照图2,图2为本发明存储的方法第一实施例的流程示意图。
60.本发明实施例提供了存储的方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以不同于此处的顺序执行所示出或描述的步骤。
61.具体地,本实施例中的存储的方法,包括以下步骤:
62.步骤s10,在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;
63.在本实施例中,体素模型可以由体素对象构成,体素模型可以包含多个长方体状的体素对象,其中,体素对象的尺寸可以为32
×
32
×
32。
64.用户在通过建模工具编辑由体素对象组成的体素模型时,执行“按下
→
滑动
→
松开”可以视为一次完整的编辑操作。
65.而终端设备在执行针对体素模型的编辑操作过程中,可以获取被编辑操作所修改的体素对象,其中,体素对象的获取方式可以为:在执行针对体素模型的编辑操作过程的同时,逐个获取被编辑操作所修改的体素对象。
66.进而,可以针对获取到的多个体素对象进行分段压缩,其中,分段压缩可以理解为:先将获到的多个体素对象进行分段得到多段体素对象,进而针对分段后的各段体素对象分别进行压缩。
67.本实施例通过仅对编辑操作所修改的体素对象进行分段压缩,极大程度上降低了待存储的体素对象的数据量,进而降低了体素对象所占据的存储空间,提高了系统性能,避免了对体素对象进行直接存储所造成的系统卡顿崩溃等问题。
68.步骤s20,将分段压缩后的体素对象存储于内存。
69.在本实施例中,内存可以为终端设备的存储空间。
70.终端设备在针对获得的体素对象进行分段压缩后,可以将分段压缩后的体素对象存储于内存。
71.需要说明的是,在本实施例中,根据上述说明,用户在通过建模工具进行体素模型编辑时,用户触发“按下
→
滑动
→
松开”视为一次完整的编辑操作。若是用户想撤销此次编辑操作,那么可以通过执行“ctrl+z”等方式撤销上述操作。
72.而终端设备在执行撤销操作时,可以将上述内存中已分段压缩后的体素对象进行解压缩,得到还原的体素对象。
73.在一实施例中,对于一次完整的编辑操作过程,在对分段压缩后的体素对象在内存中存储时,可以采用堆栈形式存储,进而,在执行撤销操作时,针对内存中的体素对象可以执行后进先出操作,以将内存中的体素对象还原至编辑操作所修改之前的状态。
74.本实施例通过采用分段压缩后再存储的方式,极大程度上降低了存储修改的体素对象时占据的内存空间,实现了体素对象的临时存储以及快速还原。在此基础上,本实施例避免了体素对象直接存储所导致的系统卡顿、崩溃等,提高了系统性能,也提升了用户体验。
75.相比于现有技术中针对体素对象的直接存储,本发明能够在执行体素模型的编辑操作过程中,获取到被编辑操作所修改的体素对象,进而,可以针对获得的该体素对象进行分段压缩,并将分段压缩后的体素对象存储于内存。可见,在本发明中,在对被编辑操作所修改的体素对象进行存储之前,先对体素对象进行了分段压缩,因此,避免了体素对象的直接大量存储导致体素模型编辑操作过程中的卡顿和崩溃等问题,在极大程度上降低了存储的空间,也提升了体素对象的处理效率,进而提升了用户体验。
76.在一实施例中,上述步骤s10中,“针对获得的体素对象进行分段压缩”,可以包括:
77.子步骤s101,将获得的体素对象导入处理列队;
78.在本实施例中,终端设备在获取到被编辑操作所修改的体素对象后,可以将该体素对象导入处理列队,以在该处理队列进行后续的分段压缩操作,其中,该处理列队可以用于体素对象的临时存储。
79.子步骤s102,在导入所述处理列队的体素对象的数据量达到预设压缩阈值时,将所述处理列队中的体素对象进行压缩。
80.在本实施例中,不对预设压缩阈值做具体限定,可以根据实际体素模型编辑场景灵活设置。
81.终端设备可以将获得的体素对象导入处理列队,进而,可以实时监测处理列队中的体素对象的数据量是否达到预设压缩阈值,进而,在处理列队中的体素对象的数据量达到该预设压缩阈值时,可以将该处理列队中的体素对象进行压缩。
82.需要说明的是,在本实施例中,在将处理列队中的体素对象进行压缩后,可以将该处理队列清空,并重复执行:将获得的体素对象导入清空后的处理列队,在处理列队的体素对象的数据量达到预设压缩阈值时,将处理列队中的体素对象进行压缩。
83.通过多次执行上述操作,直至完成此次执行针对体素模型的编辑操作。
84.在另一实施例中,若是处理列队的体素对象的数据量未达到预设压缩阈值,但是,当前针对体素模型的编辑操作已结束,即,当前获取的体素对象为此次编辑操作所修改的最后一个体素对象,则可以直接将处理列队中当前的所有体素对象进行压缩(即使此时处
理列队中体素对象的数据量并未达到预设压缩阈值)。
85.本实施例通过设置处理列队以及压缩阈值的方式,一旦处理列队中的体素对象的数据量达到压缩阈值,即可以进行压缩,如此,实现了基于压缩阈值体素对象的分段压缩,极大程度上降低了存储的空间,提升了体素模型编辑流畅度,进而提升了用户体验。
86.在一实施例中,在上述步骤s20之前,还可以包括:
87.步骤s30,对满足预设条件的多个体素对象进行合并,其中,所述预设条件包括:各体素对象的体素材质和体素有向距离场一致且处于相邻位置。
88.在本实施例中,体素模型中的体素对象具备了体素材质、体素有向距离场以及体素位置等参数。基于上述参数,可以预置一预设条件,根据该预设条件,确定是否对获得的体素对象进行合并,以进一步降低被修改的存储的空间。上述预设条件可以包括:各体素对象的体素材质和体素有向距离场一致且处于相邻位置。
89.在此基础上,可以将满足上述预设条件的多个体素对象进行合并。
90.具体地,例如,若获得的多个体素对象的体素材质和体素有向距离场一致且两两体素对象处于相邻位置,则认为上述多个体素对象满足预设条件,并将满足预设条件的多个体素对象进行合并。
91.可以理解的是,在本实施例中,在对满足预设条件的多个体素对象进行合并时,实际是将上述多个体素对象合并为一个体素对象。
92.对于不满足上述预设条件的体素对象不进行合并。
93.相比于直接分段压缩的方式,在本实施例中,通过将满足预设条件的体素对象先合并后分段压缩的方式,进一步降低了存储的空间,保证了体素模型编辑操作流畅不卡顿,进而提升了体素对象的处理效率。
94.在一实施例中,预设压缩阈值包括不同的第一压缩阈值与第二压缩阈值,处理列队包括第一处理列队和第二处理列队,在此基础上,上述子步骤s102中,“将所述处理列队中的体素对象进行压缩”,可以包括:
95.子步骤s1021,将合并后的体素对象标记为第一类型并导入所述第一处理列队,并在所述第一处理列队中的体素对象的数据量达到所述第一压缩阈值时,将所述第一处理列队中的体素对象进行压缩,并在压缩完成后添加所述第一类型的标记;
96.子步骤s1022,将未合并的体素对象标记为第二类型并导入所述第二处理列队,并在所述第二处理列队中的体素对象的数据量达到所述第二压缩阈值时,将所述第二处理列队中的体素对象进行压缩,并在压缩完成后添加所述第二类型的标记。
97.在本实施例中,可以将合并后的体素对象作为第一体素对象,并将未合并的体素对象作为第二体素对象。考虑到第一体素对象是由多个体素对象合并得到的,第一体素对象和第二体素对象存在数据结构上的差异,因此,为了提升体素对象分段压缩性能,实现分段压缩性能最优化,进而降低体素对象的存储空间,提高体素模型编辑效率,可以将上述预设压缩阈值划分为不同的第一压缩阈值与第二压缩阈值。在此基础上,在对体素对象分段压缩时,可以将不同类型的体素对象的导入不同的处理列队,进而根据对应的压缩阈值,对体素对象进行分段压缩。
98.具体地,例如,终端设备可以将第一体素对象标记为第一类型,进而,将标记后的第一体素对象导入第一处理列队,在导入该第一处理列队的第一体素对象的数据量达到第
一压缩阈值时,将第一处理列队中的第一体素对象进行压缩,并在压缩完成后添加第一类型的标记;将第二体素对象标记为第二类型,进而,将标记后的第二体素对象导入第二处理列队,在导入该第二处理列队的第二体素对象的数据量达到第二压缩阈值时,将第二处理列队中的第二体素对象进行压缩,并在压缩完成后添加第二类型的标记。
99.比如,在上述第一压缩阈值为1.9k,第二压缩阈值为2.4k时,若是导入该第一处理列队的第一体素对象的数据量达到1.9k,那么可以将第一处理列队中的所有第一体素对象进行压缩;若是导入第二处理列队的第二体素对象的数据量达到2.4k,那么可以将第二处理列队中的所有第二体素对象进行压缩。
100.在另一实施例中,上述第一压缩阈值和第二压缩阈值也可以是相同的。比如,在上述第一压缩阈值和第二压缩阈值都为2k时,若是导入该处理列队的体素对象的数据量达到2k,那么可以将处理列队中的所有体素对象进行压缩。
101.另外,可以理解的是,在本实施例中,为了区别不同类型的体素对象,便于后续体素数对象的准确解压缩,在将第一体素对象和第二体素对象导入对应的处理列队之前,需要分别对其添加类型标记,并在压缩完后且存储之前,还需要将压缩完成的第一体素对象标记为第一类型,并将压缩完成后的第二体素对象标记为第二类型。通过此种添加标记的方式,能够准确将不同类型的体素对象进行区分,使得能够将内存中压缩的压缩对象进行解压缩还原,以实现编辑操作的撤销。
102.在本实施例中,针对不同类型的体素对象,通过对应的处理列队以及压缩阈值实现体素对象的分段压缩,实现了体素对象的双线程分段压缩处理,同时提高了体素对象处理精度和效率。在此基础上,本发明提高了存储的操作效率,节省了体素对象的存储空间。
103.在一实施例中,上述处理列队除了包括第一处理列队和第二处理列队,还可以包括第三处理列队,在此基础上,上述步骤s30中,“对满足预设条件的多个体素对象进行合并”,可以包括:
104.子步骤s301,在所述第三处理队列中,判断当前获取的体素对象与前一个获取的体素对象是否满足所述预设条件;
105.子步骤s302,在不满足所述预设条件时,若所述第三处理队列中包含所述多个在先获取的体素对象,则将所述多个在先获取的体素对象进行合并得到第一体素对象并导入所述第一处理队列,否则,将所述前一个获取的体素对象导入所述第二处理队列。
106.需要说明的是,在本实施例中,可以先将编辑操作所修改的体素对象导入第三处理列队,以在第三处理列队确定不同类型的第一体素对象和第二体素对象。
107.具体地,例如,终端设备可以判断第三处理列队中当前获取的体素对象与前一个获取的体素对象是否满足预设条件(该预设条件即上述实施例中的各体素对象的体素材质和体素有向距离场一致且处于相邻位置)。
108.若是判断到当前获取的体素对象与前一个获取的体素对象不满足上述预设条件,则可以进一步判断第三处理队列中是否存在多个在先获取的体素对象,其中,多个在先获取的体素对象可以理解为在当前体素对象之前获取的体素对象。
109.若是判断到在第三处理列队中存在多个在先获取的体素对象,则可以将多个在先获取的体素对象直接进行合并,得到第一体素对象,并将该第一体素对象导入第一处理列队进行分段压缩处理;若是判断到在第三处理列队中并未存在多个在先获取的体素对象,
即,第三处理列队仅包含了当前获取的体素对象以及前一个获取的体素对象,此时,终端设备可以将前一个获取的体素对象直接导入第二处理列队。
110.在另一实施例中,若是判断到当前获取的体素对象与前一个获取的体素对象满足上述预设条件,则在第三处理队列中持续等待体素对象的导入,直至判断到当前获取的体素对象与上一个获取的体素对象不满足预设条件,进而执行:判断当前获取的体素对象与前一个获取的体素对象是否满足所述预设条件;在不满足所述预设条件时,若所述第三处理队列中包含所述多个在先获取的体素对象,则将所述多个在先获取的体素对象进行合并得到第一体素对象并导入所述第一处理队列,否则,将所述前一个获取的体素对象导入所述第二处理队列。
111.在本实施例中,通过第三处理队列,将满足预设条件的多个体素对象进行合并得到第一体素对象并导入第一处理列队,并将不满足预设条件的体素对象作为第二体素对象直接导入第二处理列队,以在第一处理列队和第二处理列队分别进行分段压缩。因此,本发明通过多线程同步处理的方式,对不同类型的体素分别进行分段压缩,提升了体素对象合并效率,进而提升了分段压缩效率,同时,也降低了存储的空间。
112.在一实施例中,上述步骤s30中,“对满足预设条件的多个体素对象进行合并”,还可以包括:
113.子步骤s305,确定满足预设条件的多个体素对象的起点位置和终点位置;
114.子步骤s306,根据所述起点位置和所述终点位置,将所述多个体素对象进行合并。
115.需要说明的是,在本实施例中,体素模型内的各体素对象在坐标(x,y,z)、有向距离场(sdf)以及材质等方面可能存在差异性。而对于满足预设条件的多个体素对象则具备相同的材质和有向距离且两两处于相邻位置。
116.在此基础上,终端设备可以确定满足预设条件的多个体素对象的起始位置和结束位置,进而,在将上述多个体素对象合并为一个体素对象(即上述实施例中的第一体素对象)时,实际是将多个该体素对象的多个位置坐标直接简化为单个的位置坐标,即,合并后的第一体素对象的位置坐标可以表示为(起始位置,结束位置),此时,第一体素对象包含了起始位置、结束位置、材质、sdf等体素参数。
117.在另一实施例中,对于不满足预设条件的单个体素对象,可以直接作为第二体素对象。
118.在本实施例中,通过确定满足预设条件的多个体素对象的起点位置和终点位置,对满足预设条件的多个体素对象的合并,实现了体素对象的分类处理,便于后续分别对不同类型的第一体素对象和第二体素对象进行分段压缩,实现了针对体素模型的精准、流畅且高效地编辑操作,提高了用户体验感。
119.此外,本发明实施例还提出一种存储的装置,参照图3,所述存储的装置包括:
120.分段压缩模块10,用于在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;
121.数据存储模块20,用于将分段压缩后的体素对象存储于内存。
122.进一步地,所述分段压缩模块10,包括:
123.导入单元,用于将获得的体素对象导入处理列队;
124.压缩单元,用于在导入所述处理列队的体素对象的数据量达到预设压缩阈值时,
将所述处理列队中的体素对象进行压缩。
125.进一步地,所述存储的装置,还包括:
126.合并模块,用于对满足预设条件的多个体素对象进行合并,其中,所述预设条件包括:各体素对象的体素材质和体素有向距离场一致且处于相邻位置。
127.进一步地,所述预设压缩阈值包括不同的第一压缩阈值与第二压缩阈值,所述处理列队包括第一处理列队和第二处理列队,所述压缩单元,包括:
128.第一压缩子单元,用于将合并后的体素对象标记为第一类型并导入所述第一处理列队,并在所述第一处理列队中的体素对象的数据量达到所述第一压缩阈值时,将所述第一处理列队中的体素对象进行压缩,并在压缩完成后添加所述第一类型的标记;
129.第二压缩子单元,用于将未合并的体素对象标记为第二类型并导入所述第二处理列队,并在所述第二处理列队中的体素对象的数据量达到所述第二压缩阈值时,将所述第二处理列队中的体素对象进行压缩,并在压缩完成后添加所述第二类型的标记。
130.进一步地,所述处理列队还包括:第三处理列队,所述合并单元,包括:
131.第一判断子单元,用于在所述第三处理队列中,判断当前获取的体素对象与前一个获取的体素对象是否满足所述预设条件;
132.第二判断子单元,用于在不满足所述预设条件时,若所述第三处理队列中包含所述多个在先获取的体素对象,则将所述多个在先获取的体素对象进行合并得到第一体素对象并导入所述第一处理队列,否则,将所述前一个获取的体素对象导入所述第二处理队列。
133.进一步地,所述合并单元,包括:
134.确定子单元,用于确定满足预设条件的多个体素对象的起点位置和终点位置;
135.合并子单元,用于根据所述起点位置和所述终点位置,将所述多个体素对象进行合并,得到所述第一体素对象。
136.本发明存储的装置的具体实施方式的拓展内容与上述存储的方法各实施例基本相同,在此不做赘述。
137.此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有存储的程序,所述存储的程序被处理器执行时实现如下所述的存储的方法的步骤。
138.本发明存储的设备和计算机可读存储介质各实施例,均可参照本发明存储的方法各个实施例,此处不再赘述。
139.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
140.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是智能手机和平板电
脑等)执行本发明各个实施例所述的方法。
142.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种存储的方法,其特征在于,所述方法包括:在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;将分段压缩后的体素对象存储于内存。2.如权利要求1所述的方法,其特征在于,所述针对获得的体素对象进行分段压缩的步骤,包括:将获得的体素对象导入处理列队;在导入所述处理列队的体素对象的数据量达到预设压缩阈值时,将所述处理列队中的体素对象进行压缩。3.如权利要求1或2所述的方法,其特征在于,在所述针对获得的体素对象进行分段压缩的步骤之前,还包括:对满足预设条件的多个体素对象进行合并,其中,所述预设条件包括:各体素对象的体素材质和体素有向距离场一致且处于相邻位置。4.如权利要求3所述的方法,其特征在于,所述预设压缩阈值包括不同的第一压缩阈值与第二压缩阈值,所述处理列队包括第一处理列队和第二处理列队,所述将所述处理列队中的体素对象进行压缩的步骤,包括:将合并后的体素对象标记为第一类型并导入所述第一处理列队,并在所述第一处理列队中的体素对象的数据量达到所述第一压缩阈值时,将所述第一处理列队中的体素对象进行压缩,并在压缩完成后添加所述第一类型的标记;将未合并的体素对象标记为第二类型并导入所述第二处理列队,并在所述第二处理列队中的体素对象的数据量达到所述第二压缩阈值时,将所述第二处理列队中的体素对象进行压缩,并在压缩完成后添加所述第二类型的标记。5.如权利要求4所述的方法,其特征在于,所述处理列队还包括:第三处理列队,所述对满足预设条件的体素对象进行合并的步骤,包括:在所述第三处理队列中,判断当前获取的体素对象与前一个获取的体素对象是否满足所述预设条件;在不满足所述预设条件时,若所述第三处理队列中包含所述多个在先获取的体素对象,则将所述多个在先获取的体素对象进行合并得到第一体素对象并导入所述第一处理队列,否则,将所述前一个获取的体素对象导入所述第二处理队列。6.如权利要求3所述的方法,其特征在于,所述对满足预设条件的体素对象进行合并的步骤,包括:确定满足预设条件的多个体素对象的起点位置和终点位置;根据所述起点位置和所述终点位置,将所述多个体素对象进行合并。7.一种存储的装置,其特征在于,所述存储的装置包括:分段压缩模块,用于在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;数据存储模块,用于将分段压缩后的体素对象存储于内存。8.一种终端设备,其特征在于,所述终端设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的存储的程序,所述存储的程序被所述处理器执行时实现如权
利要求1至6中任一项所述的存储的方法的步骤。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有存储的程序,所述存储的程序被处理器执行时实现如权利要求1至6中任一项所述的存储的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1至6中任一项所述的存储的方法的步骤。
技术总结
本发明公开了一种存储的方法、装置、终端设备、可读存储介质及程序产品,涉及数据处理技术领域,该方法包括:在执行针对体素模型的编辑操作过程中,获取被编辑操作所修改的体素对象,针对获得的体素对象进行分段压缩;将分段压缩后的体素对象存储于内存。本发明能够降低存储的内存。低存储的内存。低存储的内存。
技术研发人员:李钧
受保护的技术使用者:珠海沙盒网络科技有限公司
技术研发日:2023.04.17
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
