Hi All
Apart from a lack of speed, my home system only has 8Gb of RAM and meshing can be a great challenge, especially when I can still generate relatively large point clouds. I've found CloudCompare to be a very useful tool for both creating an evaluating meshes and have done a bit of testing to try and get my head around RAM usage of the poisson surface reconstruction and predicting what settings will exceed my RAM requirements.
My source point cloud had 34.9 million points and would freeze my computer when trying to generate a mesh with Photoscan. I exported as a PLY (no colours), loaded into CloudCompare and ran a series of poisson recontructions with a range of Octree depth and Full depth settings, using Windows task manager to track peak RAM usage (and monitor RAM usage in case it looked like it was going to blow up). Results below Octree depth = 8 and Full depth = 8.
I'm not sure what settings Photoscan uses. I've seen Octree depths of 13 and 14 appear in the console, but nothing for full depth. Judging by the appearance of meshes and the time it takes to crash on large point clouds I'm guessing it's 9.
I still need to do some testing with different size point clouds to try and get a handle on expected face counts from the size of the point cloud, but this is what I've got so far:
1. Start with slightly lower settings and monitor RAM usage. If polygon count is too low for what I want, increase octree depth IF peak RAM usage is <33% of total RAM. Face count increases about 3-3.5X for each Octree depth
2. Once face count is high enough, increase Full depth to get a better mesh IF the mesh isn't exhibiting too much noise AND peak RAM usage is <50% of total RAM. Face count does not increase much but fine details are improved.
In this test case, I got up to 28.5M faces on an awesome looking mesh. These observations fit in with what I've got out of a 32Gb system.