[Solved] There is something I can do to increase the speed of Thunkable IDE?

Hi Thunkers!

Because my project are growing faster in terms of Blocks, the my Development Environment are becoming slower and slower to load and manipulate the blocks / components in the screens where I have lots of blocks.

What I can improve in my computer to make the blocks scroll without lags, the “drag & drop” of new blocks and blocks loading faster?

Look for example one of my screen blocks:

My O.S. is Linux Ubuntu 20 running in a HP Probook with a reasonable configuration (except by the Video card that is a standard notebook video card) that in general have a very satisfactory performance for all the other activities:

- Intel I5
- 16 GB Ram
- SSD disk of 512Gb

My internet connection test results is: 39.7 Mbps - Download / 5.20 Mbps - Upload

Maybe if I change for a Desktop with a similar configuration but a better video board I can see any difference?

Are you having the same slowdown when your blocks begins to grow?

Any suggestion will be welcome, because I’m loosing a long time waiting screen’s responses…

How many blocks is that?

I’m on a 2021 macbook Pro with 16 gig of ram and a Mac M1. even this is a little laggy for me but much better than last year this time. 2 years ago, modifications on this screen took around 10 seconds each block change sometimes by the time i got this big.

Hi @jared !

In this particular screen 1.982 :slight_smile:

But I have other screens with similar number of blocks… It’s a large app my friend :laughing:

That’s why I ask if I improve my PC something can change… I’m not sure if is a matter of Network I/O essentially or a better video card can do some difference, or “by design” Thunkable starts to be slower when the screens grows no matter what machine and internet connection you have.

Maybe someone of the staff can answer this… :stuck_out_tongue:

My app has 14.574 blocks and is still usable in terms of lagging :slight_smile:
Tried a few tricks for that:

  • tried different browsers and I found that for me the best is Mozilla;
  • I always collapse the blocks that I’m not working at that moment. (from @jared `s screen i see tha he does the same :blush:)
  • Maybe the sistem I’m working on helps me:
    screen00
  • but my internet connection speed definitely helps:
1 Like

image

1 Like

You have nearly a gig upload speed?! I paid extra to get about 15 Mbps upload. Holy moly!

Thats why I’m asking… I know for sure that the internet speed matters a LOT for the overall performance… but at least here in my country, to have speeds like that you must buy your own datacenter :slight_smile:

But I can’t spend this for now… maybe buy a better machine will help someway… I just want to understand the real result before invest $$$ changing.

Can you do some tests using a SLOWER connection and give us a feedback, using the same machine, to understand the impact?

Thanks in advance!

I would help if I would know how to slow down my connection. It’s always around 1 Gb download/upload (I have an optical fiber network and my provider delivers as promised this - 933 Mbs is already slow :rofl:).

In Chrome you can simulate slower connection and compare the results:

How to Simulate a Slow Internet Connection for Testing.

Unfortunately I can’t do the opposite to check by myself (simulate a FASTER connection) :rofl:

Did it, and the result was that connection matters in sort way, BUT you have to consider that I already said that Mozilla is faster for me than Chrome when working with Thunkable. And using the method you pointed me supposed to open Thunkable in the same tab that I was “slowing down” the internet connection.
My conclusion is: system matters, but your I5 should be enough anyway. Connection matters as Thunkable is continue live saving your work, and on this matter can’t really say if around 5mbs is enough (this could be known by those who knows the backend of Thunkable). Browser matters for me. But the most important fact is to collapse the blocks unused at a time.

3 Likes

… and thinking about this (collapse unused blocks as the thing that faster the most Thunkable), I just figure that it seems that Thunkable knows that a collapse block doesn’t modify, so it doesn’t need to be saved again and again. So not saving collapsed blocks, that actually use connection speed, make Thunkable work faster. So, after all, connection matters. ,:thinking: … or at least how fast data are saved on Thunkable server ( and this last thing it’s not only up to your connection)

2 Likes

I see a lot of repeated blocks in your screenshot. That usually makes me wonder if there’s a more efficient way to do the same thing. Not that you necessarily want to re-do everything at this point but that’s something I try to avoid in my own code.

These supposed repetitions exists only because I have different elements in the screen that calls different actions over the same screen components.

In this screen, for example, I have a “radio button” approach to select between different options, so when you click in a specific item to select it, needs to “de-select” the others, and for this you must have the “on click” event for each element.

So it’s not a simple repetition in this case, but maybe if in the future Thunkable offers the “radio button”, “check button”, calendar, date/time calculation NATIVE components, and this will save lots of blocks and development time in the App, avoiding deploy all these manually…

Anyway, for sure I always try to use functions as much as possible! The other problem there is no “global functions” and this make you be forced to repeat blocks in different screens… or like the variable list organization, that make us loose a good time searching…

Hope with the evolution of Thunkable in the next versions this changes to make our lives easier!

2 Likes

That is true but the situation lends itself to Functions. All you need is to create a function with an input determining when radio button to show as selected, all other buttons should be de-selected by the function.

Yes, this is a huge drawback.

1 Like

I always balance the cost/benefit when I think about creating functions…

Sometimes it’s something as simple and quick as defining “true” or “false” for just a few items (like in this case), which I think is not so interesting creating a function, setting and testing parameters, inserting blocks to call the function repeatedly , as in the end you will have more blocks and spend more time implementing than if you don’t use this approach :stuck_out_tongue:

But of course if you have a lot of actions that need to be performed repeatedly in different cases, just changing parameters, it’s really worth it, as it saves blocks when creating functions.

But from what I’m realizing from all that’s been said, is that the speed of the IDE depends much more on a good connection, use a faster browser, and collapsing the blocks on the screen than necessarily having 50 or 100 blocks more, or less, or a super machine at the end of the line.

3 Likes

Any chance you’d want to share your project with me privately, @paulovaz72 ?

We are working on some improvements and it might be a nice benchmark :wink:

1 Like

Hi @jared ! Sure my friend! I don’t finished the project yet, but I’m glad to contribute to Thunkable progress and Staff!

In fact I saw that before I started to work with Thunkable our master @domhnallohanlon offers some “code review” or advisoring by the staff as prize in a contest, so I think we can help each other!

Please msg me in private and I can send you the links and explain more about the project!

Regards,

Paulo Vaz

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.