三维引擎中内存对象管理器的设计与实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:hb524656810123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,伴随着中国的产业升级,三维引擎的仿真功能在工业界的重要性愈加提升。在包括三维引擎在内的各种大型程序中,生命周期与资源管理一直是业界的一个难题。  针对三维引擎程序中对象析构的问题,本文面向三维引擎中对象的资源释放,本文通过分析现有各种GC算法,配合项目组三维引擎的开发环境,提出并实现了一套框架,辅助程序员针对具有复杂引用关系的对象,完成对象持有资源的回收。工程由标准C++17实现,以头文件库的形式提供非侵入式的接口,辅助三维引擎程序中具有复杂声明周期的对象释放内存并执行析构动作,比如脚本解释器中的对象回收器,以及业务逻辑中存在复杂引用关系的对象。整个工程由包括内存分配器、托管指针赋值器、回收器、指针包装器在内的各个模块组成。课题为具有不同需求的开发者提供了两套接口:基于指针的上层接口和基于内存分配器包装器的底层接口。在三维引擎的开发和使用中,使用本工程提供的接口构造托管,配合对象本身的析构函数,开发者可以不修改现有类的前提下,完成循环引用对象的回收,以及析构动作的执行。程序运行结果表明,在引入了一定程度开销的环境下,本工程能够有效实现针对循环引用对象的释放动作。
其他文献
网络协议分析工具是一套软件工具套件,主要是用于分析网络协议的数据以及状态等信息,通过捕获和过滤原始数据,获得大量网络数据基本信息,并对原始数据进行分析。从而达到分析
以2009年3G网络正式投入运营为标志,中国移动互联网产业进入飞速发展时期,与此同时,智能手机也开始流行。智能手机和3G网络的兴起使不良信息在移动互联网中的传播有了更好的硬件
搜索引擎质量评价是一个非常重要的问题。对于使用者,它可以帮助他们选择合适的搜索引擎,找到满足信息需求的信息;对于搜索引擎的研究和开发人员,它能够帮助他们比较各组件算
EAST低温系统为中科院等离子体物理研究所自主设计制造,为EAST各冷质部件提供超临界氦迫流冷却,设计制冷量为1050 W/3.5K+200 W/4.5 K+13g/s LHe+(13~25)kW/80K,设计当量制冷
随着集成电路工艺和设计技术的不断进步,芯片的集成度不断提高,单块芯片上集成的功能部件越来越多。复杂系统芯片中,各功能部件往往通过片内总线共享片外主存,访存性能成为制约性
本文介绍了作者在面向嵌入式C语言的软件测试方面所做的工作,包括嵌入式C缺陷模型的描述以及使用扩展的缺陷模式状态机进行缺陷检测,通过设计缺陷模式的统一描述和统一检测框
紫外光通信作为一种新型的无线光通信技术,由于其自身的特点,具有保密性好、抗干扰能力强、全天候全方位性工作等特点。近几十年来,紫外光通信受到越来越多的重视,尤其适用在
互联网的诞生和发展,深刻的改变着人们的生活,极大地推动着社会的发展与进步,尤为值得一提的是互联网已经成为人们获取信息的一个非常重要的途径,互联网已经成为人们沟通、交
随着科学技术的发展,计算机辅助设计、网络和数据库技术的广泛应用,在工程绿化设计领域,图形、图纸的运用越来越多。这些图形文件数量庞大,种类众多,管理复杂,检索,查阅十分
基本线性代数函数库BLAS(Basic Linear Algebra Subprograms)是高性能计算中最基本最重要的数学库之一,它的性能对超级计算机的性能有着极大的影响。目前BLAS库已经成为初等线