Well in hindsight a slightly different architecture might have been better, yes. However, the main source of problems is me downloading the cover images. They simply take a lot of space, especially because some are insanely large. I will simply move this process so that its results aren’t kept in memory but written to database right away. A new version should be available within 2 hours.
The technical details are like this: A dictionary needs a reasonably-sized chunk of contiguous memory to store its hash table. It’s really not that much. However, because of all the images floating around, memory fragmentation means that while in total there’s enough free memory, there isn’t enough contiguous memory. If the application is 64 bit, the much larger memory space means that this isn’t an issue anymore and you can better utilize your physical memory even with somewhat sloppy programming.
Of course, all this takes place on the heap, not the stack.
Ok so having tried running the grabber 3 times i have gotten the same issue all 3 times. While the program is running through the various groups warning pops up that says "CefSharp.BrowserSubProcessor has stopped working". It seems to happen at the same point every time at 236 out of 263 groups scanned. The scan did finish, but i haven't had the time to check to see if the file made works correctly. Any ideas? Is this a potentially serious issue? Is there any way i can provide more info to help fix this issue?
Sounds like you’re encountering a bug in CefSharp. Nothing really I can do about that, sorry. I will upgrade to latest the CefSharp version, maybe that’s enough.
In the meantime, make sure all your drivers are up to date. Because it uses GPU acceleration, your graphics driver is especially important.