One of the uses of Managix is that you can enter a room and load only what that level needs to function (sprites, audio, etc.), and after leaving the room, these things are released from memory, leaving you free to use in another level / room - You are responsible and have full control of what is loaded/unloaded. Besides, Managix allows you to save and load buffers, useful for saving and loading game progress, localization files, settings and countless things. And all of this is compatible with all platforms, you just need to setup once :D
Viewing post in Managix - Async Memory Manager comments
I don't have a programming background, so I apologize if this is a dumb question, but isn't this 'loading only what the level needs to function' also achievable by grouping sprites into texture groups and then prefetching the sprite? Or does Managix have some advantage to that system?
My game is laggy as hell on non-gaming rigs, but I am a bit too unexperienced to know why. XD
Hi Pycho! Don't worry.
You'll still be using texture groups. The point of Managix is to combine all the confusing and manual work of GameMaker functions into an intuitive API, giving you greater control over when to load, unload, or even keep them in memory.
Each Managix_Resource can be a texture group containing sprites. And a special thing about Managix is that you can load sprites without freezing the game, and there's even support for loading things on-demand - that is, while you are already in the level, without freezing the game.
Without Managix, it's much harder to know when texture groups have finished loading - also harder to know the loading progress, and you still have to deal with GM's async functions which are cumbersome to handle manually.