[发明专利]三维多帧文件加载方法及装置在审
申请号: | 202310339159.5 | 申请日: | 2023-04-01 |
公开(公告)号: | CN116360697A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 杨涛 | 申请(专利权)人: | 武汉生科图智技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50;G06F12/02 |
代理公司: | 武汉世跃专利代理事务所(普通合伙) 42273 | 代理人: | 倪娅 |
地址: | 430000 湖北省武汉市东湖新技术开发区高新大道999号*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 三维 文件 加载 方法 装置 | ||
本发明公开了三维多帧文件加载方法及装置,涉及三维文件加载技术领域。本发明的三维多帧文件加载方法包括:获取加载三维多帧文件所需的内存用量;内存用量为A;向设备申请大小为B的物理内存;B小于设备的总内存;在设备的硬盘的磁盘分区上创建大小为C的内存映射文件;C=A‑B,磁盘分区的容量大于C;将三维多帧文件分别加载至物理内存和内存映射文件中。本发明可以在设备的物理内存不足时将三维多帧文件分别加载至大小为B的物理内存和大小为C的内存映射文件中,相当于通过内存映射文件解决了物理内存不足的部分,系统可以预留更多物理内存保证操作系统基本服务功能正常运行,可以避免三维多帧文件加载卡顿或造成系统死机。
技术领域
本发明涉及三维文件加载技术领域,尤其涉及三维多帧文件加载方法及装置。
背景技术
超大三维多帧文件加载时会将多帧数据一次性加载到物理内存中然后再进行渲染,当设备的物理内存不足时,加载过程中经常会出现卡顿现象或造成系统直接死机。因此,如何避免三维多帧文件加载卡顿或造成系统死机成为本领域亟待解决的问题。
发明内容
本发明通过提供三维多帧文件加载方法及装置,解决了如何避免三维多帧文件加载卡顿或造成系统死机的技术问题。
一方面,本发明实施例提供如下技术方案:
一种三维多帧文件加载方法,包括:
获取加载三维多帧文件所需的内存用量;所述内存用量为A;
向设备申请大小为B的物理内存;B小于所述设备的总内存;
在所述设备的硬盘的磁盘分区上创建大小为C的内存映射文件;C=A-B,所述磁盘分区的容量大于C;
将所述三维多帧文件分别加载至所述物理内存和所述内存映射文件中。
优选的,所述向设备申请大小为B的物理内存,包括:
使用操作系统命令“linux:kmalloc/win:CreateFileMapping+参数INVALID_HANDLE_VALUE”来申请所述物理内存。
优选的,所述在所述设备的硬盘的磁盘分区上创建大小为C的内存映射文件之前,所述三维多帧文件加载方法还包括:
在所述硬盘上单独创建一个物理扇区对齐的所述磁盘分区。
优选的,所述在所述设备的硬盘的磁盘分区上创建大小为C的内存映射文件,包括:
使用mmap命令创建所述内存映射文件。
优选的,所述在所述设备的硬盘的磁盘分区上创建大小为C的内存映射文件,包括:
在所述设备的ssd硬盘的所述的磁盘分区上创建所述内存映射文件。
优选的,所述将所述三维多帧文件分别加载至所述物理内存和所述内存映射文件中,包括:
通过vtk库的vtktiffreader函数将所述三维多帧文件分别加载至所述物理内存和所述内存映射文件中。
优选的,所述将所述三维多帧文件分别加载至所述物理内存和所述内存映射文件中,包括:
在一个加载周期内,先将M帧文件加载至所述所述物理内存中,再将N帧文件加载至所述内存映射文件中;或者在一个加载周期内,先将N帧文件加载至所述内存映射文件中,再将M帧文件加载至所述所述物理内存中;
其中,B/C=M/N。
另一方面,本发明实施例还提供如下技术方案:
一种三维多帧文件加载装置,包括:
数据获取模块,用于获取加载三维多帧文件所需的内存用量,所述内存用量为A;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉生科图智技术有限公司,未经武汉生科图智技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310339159.5/2.html,转载请声明来源钻瓜专利网。