So we all know project don't run as fast as we'd like and we wish they would run faster. Well, I've got to think about a way to set the "Block Processing Speed" or "Project Speed" so it is a project specific setting. So you can set the speed to 10 blocks per second (1 block every 0.1 seconds) or 100 blocks per second (1 block every 0.01 seconds).
Since this would be project specific, so users don't have to change the project stepping speed every time they need to make the project go faster (turbo mode anyone?). So you could set it to 0 blocks per second (-1 blocks per second, for those of you geeks out there that understand -1 settings), which would make the project go through all the blocks as fast as possible.
Any thoughts?
Offline
So you want Scratch to go faster?
I don't think that it would be possible on slower machines...
Although a x blocks/second seems a good suggestion.
Offline
jji7skyline wrote:
Although a x blocks/second seems a good suggestion.
I agree.
Offline
ProgramCAT wrote:
jji7skyline wrote:
Although a x blocks/second seems a good suggestion.
I agree.
Me too.
How would 0bps work, and also -1?
Offline
I completely support.
Offline
I just had this idea yesterday, and never got around to posting it. Support!
Offline
Well, the RAM usage would spike...
What would be cool would be if Scratch had something like JIT that compiled Scratch projects into executables for better speeds.
Offline
bobbybee wrote:
Well, the RAM usage would spike...
What would be cool would be if Scratch had something like JIT that compiled Scratch projects into executables for better speeds.
That would speed up projects a lot.
Offline
scimonster wrote:
How would 0bps work, and also -1?
-1 usually means "infinite" when setting it as a value for an always positive setting. So basically -1 would tell Scratch not to wait for any number of blocks and go through them as fast as possible.
The reason why I think this idea is "unique" to Turbo Mode, is because, some projects need to run as fast as possible, while others may run faster than Scratch's default speed, but slower than "fast as possible". In case for anyone thinking that this is the same as Turbo Mode.
Bobbybee: How would RAM spike? It would use one variable which would use maybe one KB of RAM. It's more likely that CPU will spike than RAM.
jji7skyline: Yes, I do want Scratch to go faster, but this suggestion is about controlling Scratch's speed in another way than with wait blocks.
Offline
Isn't Scratch already running as fast as it can? As far as I know, what slows it down is the fact that it redraws the frame everytime specific blocks (loops? not sure which ones exactly) are executed. To circumvent this, I've seen some advanved Scratchers chain their Scripts 10+ times rather than or in addition to looping them to speed them up. Turbo mode works as some sort of frameskip function that skips this drawing cycle most of the time. I might be wrong about this, but this is how I've perceived it when working with Scratch.
That only applies to Squeak Scratch anyway, since Flash Scratch will be able to use Flash's greater drawing capabilities and thus should run faster in most cases. If the Scratch Team decides to "downclock" Flash Scratch, however, it would indeed be nice to have a project-bound option to speed it up.
Offline
GLaD0S wrote:
Isn't Scratch already running as fast as it can? As far as I know, what slows it down is the fact that it redraws the frame everytime specific blocks (loops? not sure which ones exactly) are executed. To circumvent this, I've seen some advanved Scratchers chain their Scripts 10+ times rather than or in addition to looping them to speed them up. Turbo mode works as some sort of frameskip function that skips this drawing cycle most of the time. I might be wrong about this, but this is how I've perceived it when working with Scratch.
That only applies to Squeak Scratch anyway, since Flash Scratch will be able to use Flash's greater drawing capabilities and thus should run faster in most cases. If the Scratch Team decides to "downclock" Flash Scratch, however, it would indeed be nice to have a project-bound option to speed it up.
The loops in particular are actually slowed down on purpose, possibly so that users using motion blocks (for example) can see the sprites moving across the screen rather than jolting and jumping to their locations after the whole loop is executed. Of course, this also means redrawing the screen every loop, so there's some advantage to using Flash for that I would believe.
All in all I support this idea, but could it be a bit too complicated for those who don't exactly understand numbers that well?
Offline