常规的应用都是一台电脑安装一套Smart3D,性能不够就组集群。
之前有一个朋友咨询我关于一台电脑通过Sandboxie系统安全工具来实现一台电脑跑空三,加快数据处理速度的问题。
这个问题说白了就是如何在数据生产过程中高效利用CPU、GPU、内存、磁盘的问题。(以下内容仅供参考)
一、解释一下Sandboxie一机多开的原理:
Sandboxie类似一个虚拟机,是一个封闭的沙箱,相当于把一台电脑的硬件资源虚拟成多个独立的电脑,关于sandboxie资源(内存、cpu、gpu、磁盘)硬件分配不做过多说明,本身了解的也不多。
二、Smart3D官方文档里对加快速度的介绍
提出的方案是集群,多台机器一起计算。sandboxie也是利用了这个特性。
三、Smart3D整个环节对硬件资源的消耗
空三过程第一阶段selecting pairs:读取照片,解析同名点,此处主要是磁盘读写,cpu。
空三过程第二阶段initializing orentation:姿态标定,通过同名点反向推算每个照片拍摄时的空间位置:主要是内存、cpu
空三过程第三阶段:performating adjustment空间框架构建,主要消耗资源:cpu、内存也会占不少
生产Production:cpu、内存、GPU交互占用,时而cpu跑满、时而内存跑满、时而GPU跑满、时而磁盘极大IO
注:想详细了解,可以在计算的同时,打开任务管理器,观察一下资源占有情况。也许不同版本优化后占有情