Devs: What would happen if...
adado
Member Posts: 219
...you just removed *all* the code in the GS editor application that pertains to remembering information about the state of the UI (i.e. where it left off, what rules/behaviors where open/closed, screen push/pop stack, etc.)?
I believe that code is possibly buggy as well as causing some of the delays in presenting actor rules/behaviors when you switch from actor to scene to actor.
Also, why can I be in any of home/scene/actor/preview modes, "save" the project and then without editing *anything*, I switch to one of the other modes and all of a sudden, my project is deemed dirty and needs saving (according to the GS editor). I think something in there may be contributing to some of the corruption issues that periodically plague us (just happened to me again...couple hour's work since I was on a role and lost track of time). Everytime the project gets in an iffy state, it is usually when I switch from one mode to another (and I save before switching modes religiously in addition to the periodic restarts like all others are doing).
I would rather all rules be open when an actor opens if it meant speeding up actor presentation in the editor. The time save there could then be spent scrolling to where I want to edit.
Also, drag-n-drop of behaviors in an actor is dangerous as I have seen odd results as well as just plain crazy results (i.e. rules disappearing or rules that were not there suddenly appearing...usually a rotation). I have learned to just cut (or copy) a rule, move to where I want it, highlight a rule there to establish a reference point and then paste. That seems to be much safer.
The eventual slow down of the GS editor app I think is also attributable to the UI code. It is almost as if something is being cached and not released or something and it builds up over time (unless it is a memory leak maybe related to such). The browser-esque forward and back buttons don't really make a bunch of sense given the other ways you can navigate within GS and I think they may be creating a "push/pop" stack that may be the culprit using more and more memory and not being released once the user "gets lost" going here and there.
Thanks for reading this.
I believe that code is possibly buggy as well as causing some of the delays in presenting actor rules/behaviors when you switch from actor to scene to actor.
Also, why can I be in any of home/scene/actor/preview modes, "save" the project and then without editing *anything*, I switch to one of the other modes and all of a sudden, my project is deemed dirty and needs saving (according to the GS editor). I think something in there may be contributing to some of the corruption issues that periodically plague us (just happened to me again...couple hour's work since I was on a role and lost track of time). Everytime the project gets in an iffy state, it is usually when I switch from one mode to another (and I save before switching modes religiously in addition to the periodic restarts like all others are doing).
I would rather all rules be open when an actor opens if it meant speeding up actor presentation in the editor. The time save there could then be spent scrolling to where I want to edit.
Also, drag-n-drop of behaviors in an actor is dangerous as I have seen odd results as well as just plain crazy results (i.e. rules disappearing or rules that were not there suddenly appearing...usually a rotation). I have learned to just cut (or copy) a rule, move to where I want it, highlight a rule there to establish a reference point and then paste. That seems to be much safer.
The eventual slow down of the GS editor app I think is also attributable to the UI code. It is almost as if something is being cached and not released or something and it builds up over time (unless it is a memory leak maybe related to such). The browser-esque forward and back buttons don't really make a bunch of sense given the other ways you can navigate within GS and I think they may be creating a "push/pop" stack that may be the culprit using more and more memory and not being released once the user "gets lost" going here and there.
Thanks for reading this.
Comments
I've had some similar problems with the UI. I've got a rule that has 54 subrules, and it takes forever to open and close each one when it loads.
Since we've got a nice iPad release, I'd love for the GS team to really focus on improving the engine for the next release above all else, both for programming and for playing.
Send and Receive Data using your own Server Tutorial! | Vote for A Long Way Home on Steam Greenlight! | Ten Years Left
Not sure if that will help you guys debug what is going on.
watch what happens to the memory pool if you attach xcode instruments to GameSalad... leak leak leak
odd since ObjC 2.0 has garbage collection.
Maybe at the least if they could shut off the UI memory stuff as a preference or something.....
So I guess we must now quit the tool often (as we have been doing) AND don't move behaviors around but rather re-create them and then delete the old location of them.
Real handy tool we are hedging our bets on here.
Really kills the drive for new parts/components of your game if you have to spend hours re-creating things the editor loses for you.
Memory Leaks: There are a few leaks that show up in instruments. GameSalad does use garbage collection; however, most of these leaks happen in 3rd party C or C++ code that GameSalad calls to. We will continue to fix or replace code that leaks memory. However, these leaks typically do not add up to very much, and are not the main cause of the slowdown.
Memory Growth: Memory usage increases, but it doesn't show up as a leak in instruments. This is caused by several objects that do not get freed under certain circumstances, and is responsible for the slowdowns after switching editors. This problem is worse in OSX 10.5, and has been significantly improved (but not totally fixed) in OSX 10.6. We will continue to work to find solutions to this. In the meantime, for the best GameSalad experience, I recommend running the latest version of OSX (10.6.3).
View State Saving: We've heard your reports, and plan to work on the view state saving, while separating it from the game saving system so that it doesn't get in the way of your game data.
Saving 'dirty' state: GameSalad does track when edits are made, and it knows when a document is modified or not. However, we decided to err on the side of safety, and mark the document as needing a save after every editor switch, just to make sure none of your data got lost. Its better to save too often, than not enough. As we introduce stable saving and loading, with validation, we intend to phase this out.
Drag and drop problems: Thank you adado for reporting this. This is one of those intermittent issues that doesn't always show up in testing. I will make sure this is a priority.