when reading different tutorials on the internet, they all talk about program fatigue. But they all don't agree what causes it. To my knowledge, it is caused by gotos branching out of loops and missing the ends. But several other tutorials state it as a common factor to Basic programs, and the only way to fix it is to insert breaks in your program.
It's definitely the Gotos; as the stack size increases, each command that uses the stack must do more and more work. I've tested programs without the Goto problem for several hours of running time, and they showed no signs of slowing down.
thats good to know.
Another community term related to program fatigue is memory leak.
actually, "program fatigue" refers to the what happens when a loop continues, and continues. It starts to slow down very, very quickly. A "memory leak" is caused by using a goto inside a for( loop.
As stated before, the loop by itself won't cause program fatigue; it's only when you introduce the memory leak that there is a problem.
I found a unique (At least to me) solution to memory leaks in Donut Quest. Since in some of the loops, there are gotos, thay branch to lbls inside empty while loops. Like this:
While 0 lbl HI End While 1 Goto HI End
Just like with the For( loop approach, that is already on the subprograms page.