CN111240826B - 适用于3d模型资源的大规模展示的内存管理方法 - Google Patents

适用于3d模型资源的大规模展示的内存管理方法 Download PDF

Info

Publication number
CN111240826B
CN111240826B CN201911377035.6A CN201911377035A CN111240826B CN 111240826 B CN111240826 B CN 111240826B CN 201911377035 A CN201911377035 A CN 201911377035A CN 111240826 B CN111240826 B CN 111240826B
Authority
CN
China
Prior art keywords
resource
model
memory
mutually exclusive
mutual exclusion
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
Application number
CN201911377035.6A
Other languages
English (en)
Other versions
CN111240826A (zh
Inventor
陈旋
吕成云
王晓璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Aijia Household Products Co Ltd
Original Assignee
Jiangsu Aijia Household Products Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Aijia Household Products Co Ltd filed Critical Jiangsu Aijia Household Products Co Ltd
Priority to CN201911377035.6A priority Critical patent/CN111240826B/zh
Publication of CN111240826A publication Critical patent/CN111240826A/zh
Application granted granted Critical
Publication of CN111240826B publication Critical patent/CN111240826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种适用于3D模型资源的大规模展示的内存管理方法,通过设置3D模型资源之间的互斥关系,分别形成互斥资源组;得出该互斥资源组所需分配的内存大小;为各互斥资源组分配固定内存,并建立互斥资源配置表;在加载3D模型资源时,读取互斥资源配置表,将与加载的3D模型资源归属同一互斥资源组且在占用固定内存的原3D模型资源,替换为加载的3D模型资源,并更新互斥资源配置表。该方法能够实现同一互斥资源组的3D模型资源占用固定内存的快速替换,无需要重新释放和申请内存,保证了内存的占用非常稳定,进而保证了应用程序运行的稳定性。

Description

适用于3D模型资源的大规模展示的内存管理方法
技术领域
本发明涉及一种适用于3D模型资源的大规模展示的内存管理方法。
背景技术
随着房地产以及装修行业的发展,采用三维建模并在室内设计装修布局方案受到了极大的关注。在室内家具的智能自动布局技术的帮助下,设计师只需进行少量调整便可为客户生成设计方案,能够大大减少设计师的设计时间。智能高效的室内家具自动布局技术离不开高效的前端3D场景展示能力。
目前的web前端3D,可以较为流程的展示出整套设计方案,但是如果需要快速变换整体装修风格,在多套装修方案来回切换的情况下,特别是高质量模型,高质量纹理,大规模场景的快速切换,会极大增加浏览器内存管理的压力。频繁的模型、纹理等大规模的3D资源的加载和释放,会导致浏览器的卡顿,甚至浏览器因为内存分配失败导致报错,崩溃。在切换房间3D模型资源时,浏览器会卡顿的原因主要在于:内存占用刚开始较低,随着资源切换的数量增加,内存占用不断攀高,并且随着内存的释放,内存占用不稳定,时高时低,导致浏览器卡顿。
上述问题是在3D模型资源的大规模展示的内存管理过程中应当予以考虑并解决的问题。
发明内容
本发明的目的是提供一种适用于3D模型资源的大规模展示的内存管理方法解决现有技术中存在的现有的内存管理方式不理想,随着3D模型资源切换的数量增加,内存占用不断攀高,并且随着内存的释放,内存占用不稳定的问题。
本发明的技术解决方案是:
一种适用于3D模型资源的大规模展示的内存管理方法,包括以下步骤,
S1、设置3D模型资源之间的互斥关系,分别形成互斥资源组;
S2、计算步骤S1所得各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小;
S3、依据步骤S2中所得互斥资源组所需分配的内存大小,为各互斥资源组分配固定内存,并建立互斥资源配置表;
S4、在加载3D模型资源时,读取互斥资源配置表,将与加载的3D模型资源归属同一互斥资源组且在占用固定内存的原3D模型资源,替换为加载的3D模型资源,并更新互斥资源配置表。
在一个实施方式中,还包括步骤S5,在新增3D模型资源时,更新互斥资源配置表。
在一个实施方式中,还包括步骤S6,在删除3D模型资源时,更新互斥资源配置表。
进一步地,步骤S2中,计算各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小,具体为,依据该互斥资源组中的3D模型资源所需分配的最大内存,得出该互斥资源组所需分配的内存。
在一个实施方式中,步骤S3中,将互斥资源配置表保存在用于展示3D模型的服务器中。
有益效果
该种适用于3D模型资源的大规模展示的内存管理方法,通过设置互斥资源组,能够实现同一互斥资源组的3D模型资源占用固定内存的快速替换,无需要重新释放和申请内存,保证了内存的占用非常稳定,进而保证了应用程序运行的稳定性。
附图说明
图1是本发明实施例适用于3D模型资源的大规模展示的内存管理方法的结构示意图;
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。应当理解,给出这些示例性实施例仅是为了使相关领域的技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些系统、模块或单元做出了各种引用,然而,任何数量的不同模块可以被使用并运行在客户端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
适用于3D模型资源的大规模展示的内存管理方法,如图1,包括以下步骤,
S1、设置3D模型资源之间的互斥关系,分别形成互斥资源组;
S2、计算步骤S1所得各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小;
步骤S2中,计算各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小,具体为,依据该互斥资源组中的3D模型资源所需分配的最大内存,得出该互斥资源组所需分配的内存。
S3、依据步骤S2中所得互斥资源组所需分配的内存大小,为各互斥资源组分配固定内存,并建立互斥资源配置表;
在一个实施方式中,步骤S3中互斥资源配置表包括互斥资源组的各3D模型资源、3D模型资源的URL路径和互斥资源组的所需分配固定内存的大小。
例如,A1、A2、A3这3个资源是互斥的,作为一组,他们分别占用的内存大小是s0,s1,s2。取得他们的最大值,max(si)。这个互斥资源配置表,保存每个资源的自身的信息,也包含3D模型资源的URL路径,占用的内存大小。浏览器依据运行环境不同,临场分配互斥资源组的内存地址,且互斥资源组的内存大小是一定的。每组资源的总大小可能很大,由于互斥资源内资源是互斥的,所以只需要分配给他们max(si)的内存就够了。当切换资源的时候,不用重新开辟内存,只需要清空这个段内存,然后就可以加载资源了。
举例说明,如果在一个组内有20个资源,每个资源平均大小是10M,那总大小就是200M。最大的那个资源占用20M。那只需要给这个组分配20M的内存就可以了。无论组内资源怎么切换,都这20M内。利用互斥资源配置表,管理几乎所有的资源,保障了内存的平稳。不会产生内存碎片。
在一个实施方式中,可以将互斥资源配置表保存在用于展示3D模型的服务器中。客户端获取到服务器上的互斥资源配置表后,根据互斥资源配置表中信息申请内存地址,同时客户端对互斥资源配置表的内容进行更新。
S4、在加载3D模型资源时,读取互斥资源配置表,将与加载的3D模型资源归属同一互斥资源组且在占用固定内存的原3D模型资源,替换为加载的3D模型资源,并更新互斥资源配置表。
该种适用于3D模型资源的大规模展示的内存管理方法,通过设置互斥资源组,能够实现同一互斥资源组的3D模型资源占用固定内存的快速替换,无需要重新释放和申请内存,保证了内存的占用非常稳定,进而保证了应用程序运行的稳定性。
该种适用于3D模型资源的大规模展示的内存管理方法,针对室内装潢的3D展示程序的特点,进行内存管理,能够极大加强了程序的稳定性,保证了流畅地进行高质量场景的快速切换浏览。在大规模资源释放和加载的时候,能够保持内存非常稳定,保证几乎稳定不变的内存,占用量也较低,使得体验非常流畅。
该种适用于3D模型资源的大规模展示的内存管理方法,通过将所有3D模型资源都进行分类形成互斥资源组,互斥资源组中包括具有互斥关系的3D模型资源,取互斥资源组中3D模型资源占用的上限,分配一段内存。这样内存内置分配了一次,以后就不再释放这段内存了。最终达到的效果就是,刚开始就分配完所有的内存。接着不论如何改变互斥资源组中3D模型资源,都可以快速替换,不需要重新释放和申请内存。内存占用非常稳定。
该种适用于3D模型资源的大规模展示的内存管理方法,还包括步骤S5,在新增3D模型资源时,更新互斥资源配置表。
该种适用于3D模型资源的大规模展示的内存管理方法,还包括步骤S6,在删除3D模型资源时,更新互斥资源配置表。
该种适用于3D模型资源的大规模展示的内存管理方法,能够保证内存占用非常稳定,保证几乎稳定不变的内存,且占用量也较低,进而能够使得浏览器在切换3D方案的时候非常流畅。

Claims (7)

1.一种适用于3D模型资源的大规模展示的内存管理方法,其特征在于:包括以下步骤,
S1、设置3D模型资源之间的互斥关系,分别形成互斥资源组;
S2、计算步骤S1所得各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小;
S3、依据步骤S2中所得互斥资源组所需分配的内存大小,为各互斥资源组分配固定内存,并建立互斥资源配置表;
S4、在加载3D模型资源时,读取互斥资源配置表,将与加载的3D模型资源归属同一互斥资源组且在占用固定内存的原3D模型资源,替换为加载的3D模型资源,并更新互斥资源配置表。
2.如权利要求1所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:还包括步骤S5,在新增3D模型资源时,更新互斥资源配置表。
3.如权利要求1所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:还包括步骤S6,在删除3D模型资源时,更新互斥资源配置表。
4.如权利要求1-3任一项所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:步骤S2中,计算各互斥资源组中3D模型资源所需分配的内存大小,得出该互斥资源组所需分配的内存大小,具体为,依据该互斥资源组中的3D模型资源所需分配的最大内存,得出该互斥资源组所需分配的内存。
5.如权利要求1-3任一项所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:步骤S3中,将互斥资源配置表保存在用于展示3D模型的服务器中。
6.如权利要求1-3任一项所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:步骤S3中互斥资源配置表包括互斥资源组的各3D模型资源、3D模型资源的URL路径和互斥资源组的所需分配固定内存的大小。
7.如权利要求1所述的适用于3D模型资源的大规模展示的内存管理方法,其特征在于:客户端获取到服务器上的互斥资源配置表后,根据互斥资源配置表中信息申请内存地址,同时客户端对互斥资源配置表的内容进行更新。
CN201911377035.6A 2019-12-27 2019-12-27 适用于3d模型资源的大规模展示的内存管理方法 Active CN111240826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911377035.6A CN111240826B (zh) 2019-12-27 2019-12-27 适用于3d模型资源的大规模展示的内存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911377035.6A CN111240826B (zh) 2019-12-27 2019-12-27 适用于3d模型资源的大规模展示的内存管理方法

Publications (2)

Publication Number Publication Date
CN111240826A CN111240826A (zh) 2020-06-05
CN111240826B true CN111240826B (zh) 2022-07-08

Family

ID=70863975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911377035.6A Active CN111240826B (zh) 2019-12-27 2019-12-27 适用于3d模型资源的大规模展示的内存管理方法

Country Status (1)

Country Link
CN (1) CN111240826B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694665B (zh) * 2020-06-09 2021-08-03 杭州思看科技有限公司 基于三维扫描装置的资源均衡方法、装置和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1197955A (zh) * 1997-04-17 1998-11-04 阿尔卡塔尔-阿尔斯托姆通用电气公司 管理共享内存的方法
CN102063385A (zh) * 2010-12-23 2011-05-18 深圳市金宏威实业发展有限公司 一种内存管理方法和系统
CN102915276A (zh) * 2012-09-25 2013-02-06 武汉邮电科学研究院 一种用于嵌入式系统的内存控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1197955A (zh) * 1997-04-17 1998-11-04 阿尔卡塔尔-阿尔斯托姆通用电气公司 管理共享内存的方法
CN102063385A (zh) * 2010-12-23 2011-05-18 深圳市金宏威实业发展有限公司 一种内存管理方法和系统
CN102915276A (zh) * 2012-09-25 2013-02-06 武汉邮电科学研究院 一种用于嵌入式系统的内存控制方法

Also Published As

Publication number Publication date
CN111240826A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN102455930A (zh) 一种应用程序分类安装的方法
CN101446973B (zh) 用于管理信息系统的树视图节点加载显示方法
CN113037794B (zh) 计算资源配置调度方法、装置及系统
CN103491066B (zh) 页面显示的方法、系统、服务端设备及客户端设备
CN101741907A (zh) 一种均衡服务器负载的方法、系统和主服务器
CN107273440A (zh) 计算机应用、数据存储方法、微服务和微数据库
CN104572242A (zh) 一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统
CN102983996A (zh) 一种高可用集群资源管理的动态配置方法与系统
CN111240826B (zh) 适用于3d模型资源的大规模展示的内存管理方法
CN105227683A (zh) 一种ldap集群数据同步方法及系统
CN112579622A (zh) 业务数据的处理方法、装置及设备
CN112948039A (zh) 页面显示方法、装置、设备及存储介质
TW201933851A (zh) 服務更新方法及裝置、系統
CN105303465A (zh) 基于cim模型的树形视图定义及展示方法
CN113535087B (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
CN106682198B (zh) 一种实现自动化部署数据库的方法和装置
CN108282418B (zh) 媒体流量分配方法及装置
CN105357289A (zh) 路由器的配置方法、软件镜像文件的生成方法及系统
CN114629958B (zh) 资源分配方法、装置、电子设备及存储介质
CN102497410A (zh) 一种云计算系统计算资源动态分区的方法
CN108984323A (zh) 一种共享存储空间的调度方法及系统
CN113055448B (zh) 一种元数据管理方法及装置
CN112989746B (zh) 一种多线程管理的集成电路仿真粗颗粒并行方法及装置
CN112988403B (zh) 具有保密功能的集成电路仿真多线程管理并行方法及装置
CN103778019A (zh) 云计算中PaaS分配用户服务的方法和系统

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 211100 floor 5, block a, China Merchants high speed rail Plaza project, No. 9, Jiangnan Road, Jiangning District, Nanjing, Jiangsu (South Station area)

Applicant after: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd.

Address before: 211100 No. 18 Zhilan Road, Science Park, Jiangning District, Nanjing City, Jiangsu Province

Applicant before: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant