But why does your game need to do such an extraordinary amount of processing that the window is locked up? It seems unusual.
Well, as SciDave has also pointed out when he did his speed tests in Python, this is just manipulating data in loops, which also gave him the Not Responding window.
Ok, it's a lot of data, manipulated in nested FOR loops, with data being read and written to an array, with several conditions in each loop.
There's nothing more than that.
Nothing graphical or audible.
The "DoEvents" type function that was in VB is widely regarded as an ugly hack, but I guess that wouldn't be out of place in Classic
Yes, it was a hack, but it was an option.
The only other solution is to break up the work over multiple ticks. For example, instead of doing a million loop iterations which takes ten seconds and goes in to "not responding" mode, break it up in to 10,000 iterations per tick over 100 ticks. Not only does this keep the app responding during the processing, but it also gives you the opportunity to update the screen with the progress. That's probably your best bet for the time being.
Yes this sounds fine for what I want, but I am wondering how best to go about it.
As I said, it's 2 nested loops manipulating the whole array (well, most of it), with conditions as to what is written back into the array for each loop.
Now, if Construct is trying to do all this at once, what's the best practice to slow it down?
@Newt; No, this process is only required at the start of the level, and only the first time it's played.
Thanks again guys.
Edit: Lucid, you posted while I was posting. I'll download it and take a look.