kupo15
Member
I'm not sure if there is a "suggestion" thread for features since we are in beta but I have a big question about what the memory management system will be like in GMS:2. I was hoping to have this quelled by the announcement as well as other tech specs but it wasn't.
From what I understand in 1.4 there is a sprite_add/delete for external loading (as always) but this creates a texture page for each call which inherently is not good.
1.4 added texture atlases which significantly optimizes memory usage and the more recent texture_flush working for windows gave more control to managing VRAM...BUT this does nothing for the actual ram resources take up which is capped at around 1.7GB.
So as good as 1.4 improved memory we are still limited by that 1.7GB cap by keeping resources internal. The only way to get the best of both worlds is to create your texture pages using the "preview texture pages" and moving them into your external folder. Use sprite_add/delete to manage them and painstakingly find the coordinates on those pages to reference when you use draw_sprite_part.
Is GMS: 2 going to improve on this even further and give us proper external loading support for big, serious games? If not I ask that yoyo please include functionality that outputs all the coordinates and references to a text file that point to each sprite packed in the atlases. GM holds all of this pointer information when it compiles it textures otherwise it wouldn't be able to draw the sprites properly so please open this process up to us like you did with the drawing pipeline
@Mike
@ShaunJS
@Nocturne
@rwkay
(please correct me if I'm wrong here)
From what I understand in 1.4 there is a sprite_add/delete for external loading (as always) but this creates a texture page for each call which inherently is not good.
1.4 added texture atlases which significantly optimizes memory usage and the more recent texture_flush working for windows gave more control to managing VRAM...BUT this does nothing for the actual ram resources take up which is capped at around 1.7GB.
So as good as 1.4 improved memory we are still limited by that 1.7GB cap by keeping resources internal. The only way to get the best of both worlds is to create your texture pages using the "preview texture pages" and moving them into your external folder. Use sprite_add/delete to manage them and painstakingly find the coordinates on those pages to reference when you use draw_sprite_part.
Is GMS: 2 going to improve on this even further and give us proper external loading support for big, serious games? If not I ask that yoyo please include functionality that outputs all the coordinates and references to a text file that point to each sprite packed in the atlases. GM holds all of this pointer information when it compiles it textures otherwise it wouldn't be able to draw the sprites properly so please open this process up to us like you did with the drawing pipeline
@Mike
@ShaunJS
@Nocturne
@rwkay
(please correct me if I'm wrong here)
Last edited: