RAM allocation of runtime in OSX


I am building a bespoke application for use in an art installation. I’m using OSX Catalina and Processing 3.5.4. I am loading hundreds of 1920 x 1080 PNG files into an ArrayList and after loading, running through the ArrayList displaying them at 30fps. Every time it loops it removes a random image from the ArrayList. It’s a video which sort of eats itself over time. This crazy method of playback is the best solution I can come up with for frame-accurate frame removal – video just not possible.
Of course the app uses gigantic amounts of RAM – I had to adjust the Processing Preferences to run it. It runs fine in the editor using Present mode, but after I compile an OSX executable (containing Java) it loads for a while then quits. It seems the RAM isn’t being managed in the runtime or by OSX. My question is – is there any way of forcing allocation of RAM either through Processing or in the OS? Would this issue occur if it was running in Windows? Any info appreciated – thanks

Dunno how to change the executable itself but, if it’s called directly from the terminal, Java’s heap size can be increased:

Hi – thanks for the response. Can you point me in the right direction as regards how to do this from the Terminal? I’m not familiar and can’t make much sense of that StackOverflow thread

I don’t own a Mac so I dunno how to help you out further, sorry. :crying_cat_face:

No problem! Update on this – I note that if I remove the P2D parameter from fullScreen() it loads and runs, but not openGL accelerated. So it seems that it’s not the RAM but the openGL. It seems to hold the frameRate ok without acceleration so I think all good. Thanks

You may try out renderer FX2D. But I dunno whether it works w/ fullScreen() though. :thinking: