View the bug discussion forum here: https://scratch.mit.edu/discuss/topic/514645/?page=1#post-5248212 DISCLAIMER: I have not tested on a very weak device, but this should not crash scratch! Read notes and credits. See inside if you don't understand. Left arrow for changeable lag (Insert any positive number) Right arrow for maximum lag
The "bug": So, there's an "issue" with the scratch interpreter that often makes my projects not work. When you enable run without screen refresh, the interpreter runs the block instantly, without updating. But what if it can't do this? What if you tell it to run something instantly that can't be ran instantly? Then it will try to run it instantly, and run it as much as it can per frame. This causes very intense lag. How I found this out: In my projects, I always make everything run without screen refresh. Otherwise, you can see what's happening or have to wait for stuff to happen, which you don't want. But I even put run without screen refresh on custom blocks that are mean to be constantly running. So when I put forever loops in them, I was experiencing lots of lag, and after a while, I found out why. NOTE: I believe it doesn't matter how high the changeable lag is, and that it will always lag the same amount. This means that changeable and maximum are the same. If it does matter, it's not noticeable because the lag is already so intense.