woofwoof301 wrote:
what? WHAT?! So because you are angry at something, you want everybody else's way changed to fit yours? Dude, just click an extra button.
...Not that hard...
^This is the best post I've seen all day.[image removed by moderator. Please refrain from posting meme images as replies as it can be seen as spam]
Last edited by cheddargirl (2011-09-11 20:50:21)
Offline
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.
Offline
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.
Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
(That better cheddar, Harakou, or whoever else might have deleted my comment?)
Last edited by Trekkie210 (2011-09-11 15:50:14)
Offline
Trekkie210 wrote:
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
(That better cheddar, Harakou, or whoever else might have deleted my comment?)
Much better.
While I think that turbo speed has too many disadvantages to be a viable default option, he has every right to suggest a change if he sees something he'd like changed. After all, if you would want something implemented, chances are there are others that would like that too. The ST can't know people want something if no one suggests it.
Offline
Trekkie210 wrote:
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
(That better cheddar, Harakou, or whoever else might have deleted my comment?)
You know we could keep arguing all day on whoever is lazy or change here, but it's not up to me anyway. And judging by the fact that there are moving from Squeak to Flash makes me assume that they want to speed up the programs. And the world would not just change for me, there are MANY MANY more people who want a faster programming language. Actually, 99% want a faster language (I'm not just talking on scratch, I mean ALL languages). Think about it, Scratch is the only language that doesn't have Turbo mode as default. Instead, Scratch makes it's project slower by default. If Scratch is the only one to do this, does that mean that it is good? C++ runs as fast as it can, and so does C, NXT-G, and FLASH. Imagine running your computer (windows is mostly C++) at half the speed than it can actually run. Would you want that?
Offline
cygene wrote:
Trekkie210 wrote:
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
(That better cheddar, Harakou, or whoever else might have deleted my comment?)You know we could keep arguing all day on whoever is lazy or change here, but it's not up to me anyway. And judging by the fact that there are moving from Squeak to Flash makes me assume that they want to speed up the programs. And the world would not just change for me, there are MANY MANY more people who want a faster programming language. Actually, 99% want a faster language (I'm not just talking on scratch, I mean ALL languages). Think about it, Scratch is the only language that doesn't have Turbo mode as default. Instead, Scratch makes it's project slower by default. If Scratch is the only one to do this, does that mean that it is good? C++ runs as fast as it can, and so does C, NXT-G, and FLASH. Imagine running your computer (windows is mostly C++) at half the speed than it can actually run. Would you want that?
If you want a faster programming language, then don't use Scratch. (No offense meant). It's slow for a reason, and that reason is to make it easier for beginning programmers. You mention earlier that people should learn to program correctly, but how can they learn to program correctly if Scratch teaches them to forever add "wait" blocks? I'm sorry but that doesn't make any sense to me.
Last edited by Trekkie210 (2011-09-11 16:26:01)
Offline
Trekkie210 wrote:
cygene wrote:
Trekkie210 wrote:
Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
(That better cheddar, Harakou, or whoever else might have deleted my comment?)You know we could keep arguing all day on whoever is lazy or change here, but it's not up to me anyway. And judging by the fact that there are moving from Squeak to Flash makes me assume that they want to speed up the programs. And the world would not just change for me, there are MANY MANY more people who want a faster programming language. Actually, 99% want a faster language (I'm not just talking on scratch, I mean ALL languages). Think about it, Scratch is the only language that doesn't have Turbo mode as default. Instead, Scratch makes it's project slower by default. If Scratch is the only one to do this, does that mean that it is good? C++ runs as fast as it can, and so does C, NXT-G, and FLASH. Imagine running your computer (windows is mostly C++) at half the speed than it can actually run. Would you want that?
If you want a faster programming language, then don't use Scratch. (No offense meant). It's slow for a reason, and that reason is to make it easier for beginning programmers. You mention earlier that people should learn to program correctly, but how can they learn to program correctly if Scratch teaches them to forever add "wait" blocks? I'm sorry but that doesn't make any sense to me.
You talk about Scratch is for teaching people to program, but if you don't teach people to program correctly (using wait blocks), how is it beneficial. What if, from scratch, someone moves on to another language, making animations, but could not figure out why it's running so fast. Wait blocks are useful because no matter the speed of the language, 1 second is always 1 second long. So even if you port an animation to another language, it will work properly as long as you use wait blocks. This speed difference is more important at more advanced projects, though, like video games. I actually like Scratch, it's a good language, I just think it's speed is such a drawback, considering it CAN already run fast with the flash player.
Offline
cygene wrote:
Trekkie210 wrote:
cygene wrote:
You know we could keep arguing all day on whoever is lazy or change here, but it's not up to me anyway. And judging by the fact that there are moving from Squeak to Flash makes me assume that they want to speed up the programs. And the world would not just change for me, there are MANY MANY more people who want a faster programming language. Actually, 99% want a faster language (I'm not just talking on scratch, I mean ALL languages). Think about it, Scratch is the only language that doesn't have Turbo mode as default. Instead, Scratch makes it's project slower by default. If Scratch is the only one to do this, does that mean that it is good? C++ runs as fast as it can, and so does C, NXT-G, and FLASH. Imagine running your computer (windows is mostly C++) at half the speed than it can actually run. Would you want that?If you want a faster programming language, then don't use Scratch. (No offense meant). It's slow for a reason, and that reason is to make it easier for beginning programmers. You mention earlier that people should learn to program correctly, but how can they learn to program correctly if Scratch teaches them to forever add "wait" blocks? I'm sorry but that doesn't make any sense to me.
You talk about Scratch is for teaching people to program, but if you don't teach people to program correctly (using wait blocks), how is it beneficial. What if, from scratch, someone moves on to another language, making animations, but could not figure out why it's running so fast. Wait blocks are useful because no matter the speed of the language, 1 second is always 1 second long. So even if you port an animation to another language, it will work properly as long as you use wait blocks. This speed difference is more important at more advanced projects, though, like video games. I actually like Scratch, it's a good language, I just think it's speed is such a drawback, considering it CAN already run fast with the flash player.
But what's wrong with just using turbo speed?
Offline
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.
Oh dear, I don't think you've read my post last time where I pointed out that single-stepping is not the default speed.
cheddargirl wrote:
Actually single-stepping isn't the default setting in Scratch - you need to click on the "Edit" option in the menu bar and select the option from the drop-down menu to start single-stepping. Otherwise, projects will run at normal speed.
![]()
In case a clarification is needed about single-stepping in Scratch:
Normal speed is NOT single-stepping since you are not watching Scratch "step through" the project. You only go into single-stepping mode when you click on "flash blocks (fast)" or "flash blocks (slow)" so you can watch Scratch "step through" the blocks as they execute (if you're using Scratch 1.4, notice the ability to stop single-stepping isn't enabled until you select "flash blocks (fast)" or "flash blocks (slow)" as the speed).
The fact that normal speed and turbo speed are located under the single-stepping option in the menu is rather confusing since you can't really see the "step through" process as the project is being executed. That being said, a person would really be choosing "flash blocks (fast)" or "flash blocks (slow)" if they were being incredibly lazy to use wait blocks since it is that option where intentional time pauses are added between blocks in a script.
And actually, there are cases of computer programs in which it is set to a normal speed and you often have to change the settings to make it run faster or slower (the program controlling mouse speed is a pretty good example of this ).
Offline
Seems that people misunderstood what I meant. So I will clarify everything here:
What I really meant as the suggestion was to completely remove the current "normal speed" and set turbo speed as default (it will become the new normal speed). For those who call me lazy for not pressing an extra button (shift-click the green flag), consider those of you who are too lazy to add a few wait blocks here and there to control the speed as that is what good programming is. You won't see languages like C++ slowing down the program/animation so that you won't have to add wait blocks. I called normal speed as single stepping since normal speed still isn't running the program as fast as possible, in other words, it still slows it down. Cheddar is right, though that normal isn't technically single stepping as it isn't doing the flash blocks. So maybe the title should have been "Set Turbo Speed as Default". Hopefully this clears up the confusion.
Offline
I think it's because turbo uses a-lot more power, so even animations with wait blocks would jump.
Offline
scimonster wrote:
I think it's because turbo uses a-lot more power, so even animations with wait blocks would jump.
![]()
I'd imagine that would be the case. Personally, I avoid turbo speed on Scratch because I find that turbo speed requires a CPU usage that's 5 times higher than running in normal speed (something that's not practical for slow computers). The same policy I've applied with other programs that have the ability to adjust speed.
Scratch speed actually has some relation to how fast a computer is running. If a computer is really slow, the result is that Scratch will execute the projects slowly regardless of whatever the set speed may be, but if the computer is relatively fast, it will execute a program quickly (this from experience between working with Scratch projects on a school computer vs. the computer I have at home). I could say the same with other codes I worked with such as C++ and Wolfram Mathematica code. Before jumping to the conclusion that default speed must be used because normal speed is unbearably slow, I might look first to see if just plain ol' computer speed is really the root of the problem (for the most part, it usually is the root of the problem unless you're dealing with long scripts like in a complicated 1s1s project or something with an immensely large number of scripts or loops).
Now if I had my way with how Scratch is designed, I would like it better if there was a way to set our own custom speeds for default, not just choose between normal and turbo. For some of my games and animations, I find that normal speed is makes a project run pretty well but at a slower speed than I want, while turbo speed makes the project way too fast that it executes everything in a choppy manner that's not easily fixable by using wait blocks alone - I often wish there was way to set the speed to be faster than normal but slower than turbo.
Offline
cheddargirl wrote:
I often wish there was way to set the speed to be faster than normal but slower than turbo.
![]()
Me too.
Offline
I don't have a problem with single stepping...
Offline
I think there's some confusion around here about what actually speeds up Scratch from 'normal speed' to 'turbo speed' (I'm intentionally avoiding the term 'single stepping' because it has nothing to do with what is being discussed here.)
Scratch's normal mode has a futile time-based delay built in but you will hardly notice that. There are other factors that impact the execution speed of Scratch projects though:
Internally, the Scratch program can only execute one block in a project at a time. You can see it as a pointer that is somewhere around your scripts. Scratch moves on from script to script cleverly to give you the illusion that scripts are running simultaneously.
After some types of blocks, Scratch does a screen update: the sprites get rendered on the stage properly together with pen drawings. These screen updates take up some time. More low-level programming languages require you to decide manually when to update the screen, Scratch ofcourse does not. It does these screen updates very often, so you can (at least in editing mode) always see what is happening. If you use two 'go tox: y:' blocks, you will be able to see the flash. You wouldn't do this screen update there in any other programming language, but it is required in Scratch for many reasons: you constantly see what is happening on the stage, you can rely on the new position for sensing, ...
After a loop iteration, you experience a longer delay because Scratch moves on to other running stacks and executes those.
In presentation mode, Scratch has a lot less to draw (no more scripts pane, sprite pane, blocks, ...) and these screen updates are a lot faster.
On turbo speed, Scratch drastically cuts the number of screen updates. A whole bunch of calculations are done at the same time (hence the CPU usage) and every now and then it still draws something on the screen. Sure, some projects that are designed to work on turbo speed work fine. But the majority of projects will never work.
Turbo speed, skipping so much screen updates, is basically just not what the Scratch team (or most community members) wants. It's a design decision and it has nothing to do with 'building in a wait'.
(I'm not familiar with the Scratch source code so this is what I've been told a long time ago, modders/ST feel free to correct me)
Edit: Here's a link that might be interesting to those of you who want to speed up projects. It's 4 years ago, my English was awful but I got wonderful replies
Offline
^^@JSO
Actually, I believe Scratch has been coded with the delays built in. Of course, these delays between steps are very small. I think it's
0ms - Turbo
1ms - Normal
30ms - Fast flash
200ms - Slow flash
Of course, not having looked at the source in a while kinda makes me forget.
However you're completely right about the frame/"world" redraw. Just to point out, presentation mode doesn't do more calculations without screen refreshes. It simply has less to draw!
When before it had the scripting pane, sprite info, sprite library, stage and block palette to refresh at every redraw, now it only has the stage.
Removing any of these speed options would be a great loss for Scratch. I use every single one of them regularly. They are extremely useful!
Offline
JSO wrote:
LS97 - hehe correcting my post above
![]()
Also please do not take my information as law -- It's most probably true, but I'm not an encyclopaedia
Offline
JSO wrote:
Doing a full 'world' redraw when you can expect only the stage has changed seems a bit like a waste to me. But hey, the next Scratch will be flash based so it will run differently
![]()
Yeah, looking forward to the speed especially!
And remember it's not only the stage that changes! The icons in the sprite library change in sync with the sprite's costume/color/rotation, and since Scratch is a runtime-edit environment, you never know when a user will want to drag out an extra script or change an argument's value. Ever thought about why scripting is so much slower when the project is running?
Offline
Trekkie210 wrote:
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.
This is about scratch not the whole world and I thought the scratch team were taking suggestions? So I suppose that if someone suggests something were supposed to ask them if they think the whole world should change because of their suggestion?
Offline
JSO wrote:
On turbo speed, Scratch drastically cuts the number of screen updates. A whole bunch of calculations are done at the same time (hence the CPU usage) and every now and then it still draws something on the screen. Sure, some projects that are designed to work on turbo speed work fine. But the majority of projects will never work.
Turbo speed, skipping so much screen updates, is basically just not what the Scratch team (or most community members) wants. It's a design decision and it has nothing to do with 'building in a wait'.
(I'm not familiar with the Scratch source code so this is what I've been told a long time ago, modders/ST feel free to correct me)
So that's probably why projects in Turbo Mode are ridiculously choppy!
LS97 wrote:
^^@JSO
Actually, I believe Scratch has been coded with the delays built in. Of course, these delays between steps are very small. I think it's
0ms - Turbo
1ms - Normal
30ms - Fast flash
200ms - Slow flash
Of course, not having looked at the source in a while kinda makes me forget.
Ooh, interesting. I haven't modded the interface before, but I wonder if there's a way to adjust the delay times? Just out of curiosity I want to see how my bigger projects run under a delay of something like around 0.5 ms.
Offline
slinger wrote:
Trekkie210 wrote:
cygene wrote:
No, but what I mean is that I think the single stepping (normal mode) makes Scratch slower. If you look at the flash turbo speed, it's a lot faster, but it could be faster if turbo speed was on by default.
And DON'T CALL ME LAZY. It's everyone else who "likes" single stepping since they're just too lazy to add a few wait blocks to control the speed.Just because you don't like something doesn't mean the world should change FOR you.
If you ask me, it's fine just the way it is. I'm sorry, but I don't support.This is about scratch not the whole world
and I thought the scratch team were taking suggestions? So I suppose that if someone suggests something were supposed to ask them if they think the whole world should change because of their suggestion?
The whole point of the Suggestions section is for people to discuss about what is posted there. And I'm discussing.
Offline
This is not a problem with the stepping, it is a problem with the parser and exectuter.
Turbo Mode launches as fast as it can, occasionally missing reporters. That implies EXTRA speed.
We have an unoptimized parser, hence the code executes slowly. That is the main problem, and the hardest possible one to fix.
Offline
Wow, there's been a lot of activity here. The original reason for me posting this was I need Scratch to be much faster, and many people do (I make stuff like raycasters, prime number generators, and other high-framerate games. So, I thought that it would be better is turbo speed was default, for reasons I have already spoken about above. But now it seems that Turbo speed isn't exactly what I expected, with all the screen refresh, code delays, etc spoken of above. So, now I'm thinking that there should be an option to set turbo as default.
I just have one question, though: why does the turbo in flash run much much faster than the turbo in scratch?
Offline