[发明专利]一种适用于多图形接口的跨平台的仿真系统有效
申请号: | 202310240069.0 | 申请日: | 2023-03-14 |
公开(公告)号: | CN115983047B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 马惠敏;姜忠原;梅若恒 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06T15/00 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 图形 接口 平台 仿真 系统 | ||
1.一种适用于多图形接口的跨平台的仿真系统,其特征在于,所述仿真系统包括系统核心模块、系统逻辑模块和系统渲染模块;
所述系统核心模块,用于为所述系统逻辑模块和所述系统渲染模块提供系统功能,所述系统功能至少包括数学计算、提供基础数据结构、内存管理、线程调度及任务分发;
所述系统逻辑模块,用于自动导入数据并加载,执行所述仿真系统的行为逻辑,并生成场景资源信息;
所述系统渲染模块,用于基于所述场景资源信息进行渲染;
其中,所述系统核心模块包括内存管理模块、多线程模块和任务系统模块;
所述内存管理模块,用于采用RAII和内存池技术进行内存分配和利用,其中包括:基于自建类对指针进行封装,并完善所述指针的内部逻辑结构,以实现当所述指针指向的数据离开作用域时自动释放所述指针;
所述多线程模块,用于并行执行逻辑线程和渲染线程,所述逻辑线程先于所述渲染线程第一预设数目帧,所述渲染线程先于GPU第二预设数目帧;
所述任务系统模块,用于基于有向无环图进行任务分发;
其中,所述系统逻辑模块包括自动化资源管理模块,所述自动化资源管理模块包括反射模块、序列化模块与资源管理器模块;
所述自动化资源管理模块,用于:
在所述反射模块中,收集静态初始化阶段各个对象的反射信息,将指定的反射信息填充到类型数据中并进行静态管理;在使用阶段通过variant类擦除类型信息以进行数据的保存和传递,并通过policy类进行variant的操作解释;
在所述序列化模块中,在自动序列化的过程中,遍历目标对象的属性,递归解析所述目标对象,获取所述目标对象的属性的键值并写入第一json文本信息,其中,所述目标对象具有所述反射模块标记为可序列化的属性;在自动反序列化的过程中,基于所述反射模块获取第二json文本信息的名称信息,并根据所述名称信息查找数据化的数据信息,递归解析对象数据,以进行数据恢复;
在所述资源管理器模块中,基于所述反射模块和所述序列化模块进行资源管理以及资源间引用的保持;
其中,所述自动化资源管理模块,还用于:
在所述反射模块中:
基于Utopia的方案收集所需反射的对象的源代码信息并进行词法和语法的分析,得到所述所需反射的对象各个属性的源代码子信息;
根据RTTR的反射信息编写规则及所述源代码子信息,生成所述所需反射的对象的反射信息;
其中,所述系统渲染模块包括RenderGraph模块、ShaderLab模块和RHI模块;
所述ShaderLab模块,用于获取渲染管线的状态信息,组织顶点输入信息的布局,及绑定材质信息、物体信息、帧信息的结构,以构建任一ShaderLab方案及对应的shader pass信息;
所述RenderGraph模块,用于基于所述场景资源信息和所述shader pass信息生成有向无环图的节点数据,通过有向无环图生成渲染操作信息;
所述RHI模块,用于基于所述渲染操作信息调用图形API,生成仿真场景渲染结果。
2.根据权利要求1所述的仿真系统,其特征在于,所述内存管理模块,还用于:
初始化内存池,所述内存池包括链表和可用地址数组,所述链表包括至少一个Chunk页表,所述可用地址数组包括多个可用地址;
每当从所述内存池申请第一空间时,从所述可用地址数组的末尾获取可用地址,作为所述第一空间的可用地址;
每当向所述内存池归还第二空间时,将所述第二空间的可用地址添加到所述可用地址数组的末尾;
当所述可用地址数组不存在可用地址时申请新的Chunk页表,并将所述新的Chunk页表对应的多个可用地址添加到所述可用地址数组。
3.根据权利要求1所述的仿真系统,其特征在于,所述多线程模块,用于:
在所述逻辑线程中采集指令帧,将所述指令帧中起始标识与结束标识之间的指令作为渲染指令,提交所述渲染指令;
在所述渲染线程中录制所述渲染指令作为录制指令,提交所述录制指令,其中,通过GPU Fence确定GPU落后帧数,若所述GPU落后帧数大于设定值,则所述渲染线程进入等待状态,直至所述GPU落后帧数达到设定值时恢复执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310240069.0/1.html,转载请声明来源钻瓜专利网。