Make variable blocks take 0 frames more often

When set variable is the last block in a rule, it takes a frame. This only really makes sense if the only blocks in the rule take 0 frames.

For example, this code takes 2 frames:

This takes 1:

It would make more sense for both to take one, since there is a wait 0 block in both, which takes a frame.

12 Likes

Good suggestion.

I think you do know about this, but it’s just because set variable counts as beginning of frame and it has to add a frame as a placeholder.

6 Likes

bump I’m confused.

Is this still true?

I think so. I’d also like repeating by small amounts with only variable blocks to take less time.

1 Like

Hi @Petrichor, for whatever it’s worth, I think it makes sense as is.

When the Set block is first the Player can pull both the Set block and the next block (Wait) from the “queue”. So both only take 1 frame.

When the Wait block is first, the Player doesn’t execute any subsequent blocks until the next frame. On the next frame the “queue” is just the Set block so just like when it’s the only block in a rule, it takes a frame. And both take 2 frames.

If THT wants to make a more impactful change to the execution of Set/Increase blocks they should make it so conditionals, when following a Set/Increase, play in the same frame. As it is now this takes 2 frames, but it’d be great for efficiency if it’d take only one

Just my 2 cents :slightly_smiling_face:

4 Likes