Do you have an idea for an awesome feature we should add… or hate the way we’re currently doing something? Share your ideas and suggestions here.
I had the intention to synth a whole medieval city (~3000 photos) but learnt later that there is a limitation on the number of photos that can form part of a single synth. I would like to know whether this may be caused by my machine which runs Windows 7 32bit and has 4Gb RAM.... that would be a good excuse to upgrade :) or else it is a limitation of the technology? If so, would you consider looking into it because I can assure you it will open up a new concept of synths.
You may refer to this synth for reference to the type of experience I meant:
Any 32 program only has a 4GB memory space, if I understand correctly. This means that any 32-bit version of Windows can only properly use 4GB of RAM.
In cases where you have 4 GB of RAM, 32-bit Windows' regular way of doing things is to give each 32-bit application that is running its own virtual 4GB memory space, but within that space, the program only recieves 2GB, while the other 2GB are given to Windows.
The 2GB used by Windows for each program is actually the same physical 2GB of RAM in your machine. The remaining 2GB of physical RAM is divided between your open applications and whatever can't fit in that physical 2GB is swapped in and out of the paging file(s) on your hard drive(s) (which you can customise to be up to 4GB on 32-bit Windows by editing your Virtual Memory settings).
Provided that the developer of any 32-bit app has written their app to use more memory than the standard maximum of 2GB, you can actually change Windows' settings to divide each applications' virtual 4GB differently, using only 1GB of physical RAM for Windows and allocating 3GB of virtual memory to each app (and 3GB of physical RAM to divide among your different open applications).
64-bit programs can address much more RAM. I believe that current limits on 64-bit Windows 7 is 192GB of installable RAM for the operating system. I do not know how much memory it gives each 64-bit app, but for 32-bit apps running in the 64-bit OS, I believe that the maximum amount of RAM that the OS could give them would be 4GB of physical and virtual RAM, regardless of how much physical RAM you have installed.
I am not an expert on this sort of thing, but this is my current understanding. I would love to get some commentary from the synther team on this.
If I am right, though, you could be making slightly larger synths even on your 32-bit version of Windows by using 4GB tuning and beyond that, assuming that the synther is capable of using a full 4GB of RAM if your system has that much physical memory to spare after 64-bit Windows has taken its share, then you should be getting as much as you can get from the 32-bit synther by getting a computer with a 64-bit processor, a 64-bit version of Windows, and more than 4GB of RAM.
The truth, though, is that a 64-bit version of the synther is really the answer for putting together really massive synths, or a completely different sort of architecture for synthing large sets of photos.
The other trick is that Photosynth currently only looks for details to match in 1.5 megapixel versions of your photos, so if you resize a copy of your photos to be smaller than this limit, the synther will find fewer details per image which will allow it to match more images together before it runs out of RAM (although, obviously each image will contribute fewer points to the point cloud by doing this).
I was trying to nail this all down about a month ago, so there's a bit of what I've said above, but for a post with links to more information, please visit:
Places where a 64 bit synther (directly or indirectly) have been requested include:
It doesn't exactly solve the problem of fitting more images in a single synth, per se, but I suppose that it wouldn't be a topic with me talking about putting more photos together if I didn't link you to this:
Thanks Nathanael, I will certainly take your suggestions and try to synth larger synths. Lets hope that a 64bit version is on its way :)