Home and Links
 Your PC and Security
 Server NAS
 DVD making
 Raspberry Pi
 PIC projects
 Other projects
 Next >>

Microsoft PhotoStory 3 RAM limitations

Advanced PhotoStory 3

Addressing the 'Insufficient memory' problem

Monitoring PS3 using Task Manager whilst building a 50 photo 4:3 preHD(1440x1080) 'Story' showed that it started by using very little RAM (in the order of 200 to 300Mb) - however as it entered the final 'step' it grabbed an additional 1Gb or so for no obvious reason !

During the later stages of the final step, it then takes an extra 200+ Mb or so of additional RAM - and if the total RAM 'in use' now exceeds about 1.5Gb (on a PC with 2Gb RAM), the output fails with the 'Insufficient memory' error.

So you should always 'exit' from 'memory hogging' applications before attempting to build your Story.
Firefox is about the worst 'hog' = it typically uses at least 600Mb (and I've had it reach 1.5Gb before falling over). Thunderbird (another Open Source app. from Mozilla) uses 200Mb+ (which seems excessive for an eMail client)
If that doesn't allow a successful build, try removing the music track from your Story = you can add it back later using Movie Maker = but remember, the timing will only be 'aligned' if the track was 'imported' with the first photo (and no first photo 'transition in' was set)
If all else fails you will have to break your Story into smaller 'chunks' to reduce the RAM used (reducing the output 'resolution' also reduces RAM usage as does (surprisingly) reducing the 'pan and zoom' speed).

If you want to build a 'large' Story (and run anything else at the same time), you will need as much physical RAM as possible - i.e. 4Gb (on your Win XP 32bit PC)

Note that older Dell motherboards with only 2 memory slots may be 'specified' as '1Gb max. per slot' by Dell, however these will almost always take 2Gb sticks (but watch out - many cheap 2Gb sticks found on eBay only work on AMD motherboards !)
Windows XPsp3 will never 'see' more than 3.25Gb of RAM, so, if you need to keep costs down, just fit one 2Gb (+ one 1Gb) on a 2 slot motherboard (or 2x1Gb with 2x512Mb on a 4 slot = if the sockets are different colours, you must 'pair up' the same sized sticks)
If you are in the happy situation of having a 4 slot motherboard that supports physical RAM above the 4Gb address limit, by all means fit 4 x 2Gb. Windows XP will still only 'see' 3.25Gb, however the rest can be used with a non-Microsoft RAM Disk driver (note that for maximum speed you should use the RAM disk for PhotoStory output file = using it for the Virtual memory Paging File appears to make almost zero difference)

With 3Gb fitted, PhotoStory 3 should now continue to 'output' OK until it runs into it's (32bit application default) RAM limit of 2Gb

Can PhotoStory 3 gain access more than 2Gb RAM ?

Yes. PhotoStory 3 was complied using the standard Microsoft 32bit linker, so 'by default' it was artificially limited to accessing a maximum of 2Gb. This limit can be removed by setting the 'IMAGE_FILE_LARGE_ADDRESS_AWARE' flag in the PhotoStory3.exe file header. You then have to tell Windows XP that it needs to allow applications access to more than 2Gb


To set the flag, use the Microsoft Visual Studio utility 'editbin.exe' (which needs link.exe and mspdb100.dll, all of which get installed with Visual Studio)).

From a Start, Programs, Microsoft Visual Studio, Microsoft Visual Studio Command Prompt window as follows:

cd bin editbin.exe /LARGEADDRESSAWARE "C:\Program Files\Photo Story 3 for Windows\PhotoStory3.exe"
To check if this bit has been set, use the dumpbin.exe utility:
dumpbin.exe /headers "C:\Program Files\Photo Story 3 for Windows\PhotoStory3.exe"
In the first section (FILE HEADER VALUES) at the end, after '{nn} characteristics', below "Executable", you should see  "Application can handle large (>2GB) addresses"

Setting Windows /3GB and /USERVA

To allocate 3Gb of address space to /LARGEADDRESSAWARE applications, you set the '/3GB' flag in your boot.ini

However, remember that even if your computer has 4Gb of RAM, Windows XPsp3 can only 'see' about 3.25Gb of that. So setting /3GB means Windows itself will then run so slowly within the remaining 256 Mb (because it has to swap parts of the system out to the Paging File on disk) that it becomes unresponsive

If you fitted 4Gb (and Windows can 'see' 3.25Gb), add '/USERVA=2900' to boot.ini, limiting applications to 2.9Gb (and leaving 356Mb for Windows XP). If you only fitted 3Gb (and XP can 'see' it all), set /USERVA=2650

If your motherboard supports access to the 0.75Gb of unused RAM, you can use a non-Microsoft RAM disk driver to obtain access to this 'hidden' or 'invisible' RAM. You can then place a 'paging file' on the RAM disk and try removing the USERVA limit (giving applications access to 3Gb and forcing the Windows system 'swap itself out' to the RAM disk)

Even if you only fitted 3Gb of RAM (and set '/USERVA=2650'), setting /LARGEADDRESSAWARE allows PhotoStory to access an extra 0.65Gb, which is a significant improvement over 2.0Gb (and often enough to 'build' a 10 minute / 100+ photo full HD 'story')

Note that the first indication that Windows XP doesn't have RAM for itself will be when it reports it's unable to reach your mapped network drives (i.e. the Ethernet drivers typically fail first)

Can PhotoStory 3 access more than 3Gb RAM ?

Only when running on a 64bit system. Run the /LARGEADDRESSAWARE PhotoStory 3 .exe on a Windows 7 64bit system (fitted with at least 6Gb RAM) and it will be given access to 4Gb (the absolute limit for any 32bit application)

Whilst you can't download PhotoStory 3 direct from Microsoft onto a PC running Windows 7, you can copy the "PStory.msi" installer package downloaded to a Windows XP machine.
Note that you may have to install Windows Media Player 10 first (see above), and that whilst PhotoStory 3 will install just fine you still have to set the /LARGEADDRESSAWARE flag in the PhotoStory3.exe (see above) otherwise it will be limited to 2Gb
It's not a bad idea to configure your Windows 7 machine to 'dual boot' with XP (so when you encounter Microsoft's refusal to download "XP only" apps. you can just reboot and try again)

Of course, if you have access to a 64bit (Windows 7) computer, it's far better to run PhotoStory 3 on that than to spend time squeezing a few extra Mb out of your XP machine (using RAM disks etc.)

Next page :- Overcoming jitter