211
General / Re: Could MS use MORE RAM???
« on: October 15, 2021, 07:54:58 PM »
Alignment phase: 2/3 is done on gpu, so the limit is only VRAM. And overal alignment phase is not so RAM/VRAM hungry, so I guess no reductions in memory consumption were applied here at the expense of performance.
The depth maps generation phase is done on gpu and you need to feed GPU through PCIE slot(which is fast enough, so no bottleneck).
You can check during this phase if there are some reads from disk and if, what are the values in spikes, if just few MB/s or tens or hundreds of MB/s. If no significant reads, everything was in RAM
.
Next phase is filtering depth maps. In this phase RAM usage depends on few factors. How many depth maps you will filter together(BuildDenseCloud/max_neighbors parameter in tweaks) and of course what is the resolution quality.
Next more important factor for RAM requirements is what is the shape of the object you were photographing and where you were taking photos.
In scenario with one long wall and camera positions one next to each other pointing in the same direction...this is not RAM hungry, because there will be just few(3-4?) depth maps needed together in filtering process at the same time.
In scenario when you were orbiting around object and you take several hundreds of photos pointing in the ~same direction...this will be very hungry, because lot of depthmaps need to be filtered together at the same time.
It would be difficult to predict what scenario might occur and make MS smart enough in terms of RAM decision...if keep more data in RAM or temporarily put data on disk.
This is how I see RAM requirements...more in depth analysis only with MS programmers
The last phase of dense cloud generation is joining and storing final data on disk. Here you can speed up things if your project is on SSD instead of classic HDD. I am using HDD and often see, that MS is waiting on disk to write all dense data, but in the size of my projects it still doesn not matter. Your projects are different story
.
The depth maps generation phase is done on gpu and you need to feed GPU through PCIE slot(which is fast enough, so no bottleneck).
You can check during this phase if there are some reads from disk and if, what are the values in spikes, if just few MB/s or tens or hundreds of MB/s. If no significant reads, everything was in RAM

Next phase is filtering depth maps. In this phase RAM usage depends on few factors. How many depth maps you will filter together(BuildDenseCloud/max_neighbors parameter in tweaks) and of course what is the resolution quality.
Next more important factor for RAM requirements is what is the shape of the object you were photographing and where you were taking photos.
In scenario with one long wall and camera positions one next to each other pointing in the same direction...this is not RAM hungry, because there will be just few(3-4?) depth maps needed together in filtering process at the same time.
In scenario when you were orbiting around object and you take several hundreds of photos pointing in the ~same direction...this will be very hungry, because lot of depthmaps need to be filtered together at the same time.
It would be difficult to predict what scenario might occur and make MS smart enough in terms of RAM decision...if keep more data in RAM or temporarily put data on disk.
This is how I see RAM requirements...more in depth analysis only with MS programmers

The last phase of dense cloud generation is joining and storing final data on disk. Here you can speed up things if your project is on SSD instead of classic HDD. I am using HDD and often see, that MS is waiting on disk to write all dense data, but in the size of my projects it still doesn not matter. Your projects are different story
