[SOLVED] Trying to load a World image and getting out-of-memory error

Just starting to port a project from another (15 yo) game engine that works great even with lots of large images. It is a point-and-click style game so it’s basically all pre-rendered pano backgrounds. I shouldn’t need a fancy GPU for this. (the old engine uses pretty old SDL library)
My first task was getting a world background in place. However, any file above maybe 10MB causes a memory fault. I am running on Intel Iris which is admittedly no GPU of consequence but I’ve had no problem running giant backgrounds in my other engine so what gives? I’m interested in Armory because I use Blender already for all my game assets.
(Win 11, latest Armory build).
Here is the fault I get:
Not enough memory on image.c Buffer.
outofmem

Hello and welcome to the forum.


I see you found a super annoying [and notorious] crash bug many in the Armory community have experienced in the past months.

TL;TR

It’s mainly caused by large textures (4k for example). The source fix for the bug is fixable and can be done so easily, if you know how to compile Armorcore (with C++) or someone else has done it for you with the mentioned fixes from here:


To easily prevent the bug and not have to compile Armorcore yourself, simply download this custom Krom executable:

If you’re not on Discord you can download the external ZIP folder from here instead:

And replace it with your current Krom executable. Your Krom executable can be found in \armsdk\Krom\. It contains the fixes and also some other proven crash prevention fixes.

In case you’re wondering why this sad bug hasn’t been fixed yet, it’s due to the bug being on the Kha/Kinc end, not Armory. We can easily fix the bug on the Armory side, but due to Lubos re-forking Kha/Kinc source each month, Lubos tends to forget adding the fix each month and so the bug fix gets overlooked sadly…

wow, nicely addressed, thanks!
I’ve already done the Blender self-compile thing so I’m glad you provided a drop-in replacement.

1 Like