PhilipCCEncounter Bay, South AustraliaMemberPosts: 1,390
@pHghost and @raycur09 In the meet-up I at least got Alan to clearly state that for now in 0.12.6, and 0.12.7 when they are done with it, we should just keep building in iPad R 2048 x 1536. That satisfies me for now.
@PhilipCC said:
pHghost and raycur09 In the meet-up I at least got Alan to clearly state that for now in 0.12.6, and 0.12.7 when they are done with it, we should just keep building in iPad R 2048 x 1536. That satisfies me for now.
@BlackCloakGS Do you know if version 0.12.8 have memory leak fixes checked in, or do we have to wait for 0.13? My project is suffering because I can never complete a gameplay session without GS crashing out of memory and it makes it impossible to test it properly.
@viking you will have to wait till 0.13.
I would check the memory leak bugs (in our pubic bug database ) for more information on there status. See fixed version to determine what version they are fix in.
@viking said:
BlackCloakGS Do you know if version 0.12.8 have memory leak fixes checked in, or do we have to wait for 0.13? My project is suffering because I can never complete a gameplay session without GS crashing out of memory and it makes it impossible to test it properly.
Are you using tables? I've noticed that GS will leak game engine memory sometimes when a table is updated. Swapping the table cell value update to a change attribute will fix the issue in such cases.
@Armeline Yes, I use tables for everything, so I will just have to wait for this issue to be fixed. I am surprised that this isn't a big problem for a lot of developers using GS. Perhaps most people make smaller games with a single scene and without tables...
@viking said:
Armeline Yes, I use tables for everything, so I will just have to wait for this issue to be fixed. I am surprised that this isn't a big problem for a lot of developers using GS. Perhaps most people make smaller games with a single scene and without tables...
In the meantime, try this:
Run your game on your device in the viewer. Watch the "Game engine" memory usage. Does it creep upwards? If so, try to spot exactly when it make big jumps. Is it when a particular actor is spawned or when it performs some action? If necessary, delete actors from the scene (be sure you're using a backup copy!) and keep experimenting until you identify the actor at fault. When you remove/disable it and the memory stops creeping upwards you'll know you have the correct one.
Once you've found the right actor, disable all rules that involve table updates. The leak isn't related to a specific table, but a particular cell within that table. The table I found a leak in had three cells being updates/read (and dozens more in other tables), but only one of them was causing the memory leak. Once you have identified the specific cell, replace it with an attribute.
At the least that will let you continue other development and testing.
The reason it isn't a problem for more developers is it seems so arbitrary. I've got games with dozens of tables and hundreds of table updates/reads with no leak. It's something that happens sometimes, to some cells within some tables. A lot of people have just been luckier than you. If it's reasonable to do so, perhaps try replacing the table with a new one (even if it's identical).
This is good stuff @Armeline. I will try to review this in more detail. I did a quick test of real memory using instruments in Xcode. It looks like my memory usage is holding steady during gameplay, but as soon as I change scene the memory goes up every single time. It seems like the memory used for the previous scene is never released, but instead just added on top of the next scene. Then it's just a matter of changing scene enough times before the iPad runs out of memory. I don't know how to change that. Any ideas?
@viking said:
This is good stuff Armeline. I will try to review this in more detail. I did a quick test of real memory using instruments in Xcode. It looks like my memory usage is holding steady during gameplay, but as soon as I change scene the memory goes up every single time. It seems like the memory used for the previous scene is never released, but instead just added on top of the next scene. Then it's just a matter of changing scene enough times before the iPad runs out of memory. I don't know how to change that. Any ideas?
I'd still try to pin down if it's a particular table or cell that isn't releasing the memory. Does it happen between all scenes, or just when leaving a particular scene? And is it a particular type of memory that's being eaten up?
@viking said:
I am surprised that this isn't a big problem for a lot of developers using GS. Perhaps most people make smaller games with a single scene and without tables...
There is currently a memory leak not in scene change but in fact an update to a table cell value that is being updated with a value that needs to refer back to a table cell value to give its answer. So a value like this:
Change TCV,table1,1,1 to TCV,table1,1,1+1
Its the reference to the TCV before it adds or subtracts that causes the memory leak.
PhilipCCEncounter Bay, South AustraliaMemberPosts: 1,390
edited October 2014
@Armelline said:
Are you using tables? I've noticed that GS will leak game engine memory sometimes when a table is updated. Swapping the table cell value update to a change attribute will fix the issue in such cases.
Uh ohh!
Does this happen with our Purchase Tables too?
Comments
@pHghost and @raycur09 In the meet-up I at least got Alan to clearly state that for now in 0.12.6, and 0.12.7 when they are done with it, we should just keep building in iPad R 2048 x 1536. That satisfies me for now.
Cool ! Good info, cheers
Any news on the release of 0.12.7?
Yes, any news?
Our games http://Donkeysoft.ca
12.9" iPad is fake ?
We fixed the last bugs on 0.12.8 today. So if all goes well we will put out an RC tomorrow.
So, 0.12.7 is getting skipped?
so we getting close to 13.0?
twitter.com/RoShamBoFighter
facebook.com/RoshamboFighter
Thanks for the update! Looking forward to this release!
Our games http://Donkeysoft.ca
GO GO GO GO GO!!!!!!!!
I hope 0.12.8 comes before weekend. It's hard to wait!
@BlackCloakGS Do you know if version 0.12.8 have memory leak fixes checked in, or do we have to wait for 0.13? My project is suffering because I can never complete a gameplay session without GS crashing out of memory and it makes it impossible to test it properly.
@viking you will have to wait till 0.13.
I would check the memory leak bugs (in our pubic bug database ) for more information on there status. See fixed version to determine what version they are fix in.
Are you using tables? I've noticed that GS will leak game engine memory sometimes when a table is updated. Swapping the table cell value update to a change attribute will fix the issue in such cases.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
@Armeline Yes, I use tables for everything, so I will just have to wait for this issue to be fixed. I am surprised that this isn't a big problem for a lot of developers using GS. Perhaps most people make smaller games with a single scene and without tables...
In the meantime, try this:
Run your game on your device in the viewer. Watch the "Game engine" memory usage. Does it creep upwards? If so, try to spot exactly when it make big jumps. Is it when a particular actor is spawned or when it performs some action? If necessary, delete actors from the scene (be sure you're using a backup copy!) and keep experimenting until you identify the actor at fault. When you remove/disable it and the memory stops creeping upwards you'll know you have the correct one.
Once you've found the right actor, disable all rules that involve table updates. The leak isn't related to a specific table, but a particular cell within that table. The table I found a leak in had three cells being updates/read (and dozens more in other tables), but only one of them was causing the memory leak. Once you have identified the specific cell, replace it with an attribute.
At the least that will let you continue other development and testing.
The reason it isn't a problem for more developers is it seems so arbitrary. I've got games with dozens of tables and hundreds of table updates/reads with no leak. It's something that happens sometimes, to some cells within some tables. A lot of people have just been luckier than you. If it's reasonable to do so, perhaps try replacing the table with a new one (even if it's identical).
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
This is good stuff @Armeline. I will try to review this in more detail. I did a quick test of real memory using instruments in Xcode. It looks like my memory usage is holding steady during gameplay, but as soon as I change scene the memory goes up every single time. It seems like the memory used for the previous scene is never released, but instead just added on top of the next scene. Then it's just a matter of changing scene enough times before the iPad runs out of memory. I don't know how to change that. Any ideas?
I'd still try to pin down if it's a particular table or cell that isn't releasing the memory. Does it happen between all scenes, or just when leaving a particular scene? And is it a particular type of memory that's being eaten up?
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
Yeah, it happens on every scene change. Not sure what kind of memory that's eaten up since I am using instruments and not the viewer.
There is currently a memory leak not in scene change but in fact an update to a table cell value that is being updated with a value that needs to refer back to a table cell value to give its answer. So a value like this:
Change TCV,table1,1,1 to TCV,table1,1,1+1
Its the reference to the TCV before it adds or subtracts that causes the memory leak.
Here is the logged bug: http://bugs.gamesalad.com/show_bug.cgi?id=103
Uh ohh!
Does this happen with our Purchase Tables too?
No wonder all my IAP revenue has leaked away!