Is this too much ? Kodular lagging xD There are 3175 blocks

Hey ummm I may just found out why is my Kodular lagging xD There are 3175 blocks and 25 of them are not on screen right now :frowning:

1 Like

Woah, you should really thinking about optimizing your code.

There are some tips:

  • I can see you are using repeated blocks by looking the block colors, you really should use loops like for or for each for repeated actions. So you won’t need connecting the same purple blocks (method blocks) in a row.

  • If you have a lot of data for parsing, think about using nested data. For example, instead of creating different variables for same data, just use list in list feature.

  • If you have a lot of type of same component, instead of using individual events for each component, use Any X component events from Any Component category to decrease your events.

  • I also created a topic about decreasing blocks 1 year ago, you can find something useful from there.
    Using Blocks in Another Way

2 Likes

Thank you for the answer! But I would like to give my opinion on a few points …

1- Yes, I know I could use Any X component events, but the problem is that I CANNOT. I can’t because the application I’m developing is an online Werewolf application (search Wolfer in Kodular), the only problem is that via the Any X blocks, I can’t get their name without getting the @ that comes after. Thanks for the reply, it was just to show that it is HORRIBLE to code with all these blocks.

1 Like

You don’t need that.

If you want to set or a get of a button or any component just use Any Component blocks with Any Component Events.

For example, by adding this block, will show a Notifier when any button is clicked which you added to your app. There is a component parameter which allows you to get/set properties of a component.

So you don’t need to know the component name because you can already modify the component.

3 Likes

wow you need to debug your blocks. :joy:

With 1491 blocks I already have performance problems.

What specifications does your PC have?

1 Like

Nothing too Big,

GTX 1650 4Gb
8Gb of RAM
2 SSD 500Gb and 3HDD 1To

2 Likes

This is not the problem.

My game is made up of 10 players. During the voting phase, each player can vote for the person he finds “dangerous” or “suspicious”. I already tried with the “Any image” blocks but it is impossible.

Let’s say user # 5 (out of 10) wants to vote against user # 1, so they click on their profile picture. This is where the problem is. The image component is noted in this form: “uX” (X is the user number) so how do you get the name of the image component that is clicked?

I must have expressed myself badly earlier,

Regards, Shadow

1 Like

I’ve been observing that you use few variables.
Is there any way to use a single variable block to accommodate all or most of the variables?

1 Like

Yes there is A LOT of variables:

1 Like

Your specs seems Ok, the only thing I can think of is your internet…

Impossible. I’ve got (idk how to say it in english) optical fiber internet 1Gb/s and I’m connected with ethernet, here is a speedtest (btw there is a storm sooo) :

And this is my ping to the kodular creator

Strange as it looks good to, try by collapsing your blocks…

As I have no issues
bild

2 Likes

Thanks; I was collapsing them one by one I didn’t know that you could collapse them all.

You highlighted the wrong one xD

2 Likes

Actually I was showing of with my blocks count :joy: :sweat_smile: good catch btw.

2 Likes

Oh sry :frowning: :joy:

I’ve never seen my kodular so smooth

Thanks !

1 Like

Btw, you may try the performance mode as well and see what happens

I don’t use it as I don’t feel the need for it

2 Likes

This is already what I do

Yes, its the best. Free the memory of collapsed blocks. If you are not going to work with them anymore it is the best option.

The only characteristic I would like is the one I asked a long time ago hehe “Put the blocks in Nodes”

In my case I use a single window to execute several functions in series. That it will take the action of the user, obtain and extract the corresponding data from the database, and pass it to the user in the component to be displayed. And when the user finishes modifying the value of the data, inserts the data in the database with the label, obtains the number of elements of the database and refreshes it in the component with the new data to select a new element to modify.

When you have done all these processes in blocks, it is very tedious to continue working because the actions in the blocks window slow down. (Because ah that is not only modifying a part of the code, but all those that are associated)

The only solution I could find is to work temporarily on different screens, the functions that your app will do, and when you finish, pass all the functions of the new screens to the main one, replacing the screens with horizontal, vertical, occipital, parietal arrangements … ah I hope those last two do not exist. :rofl:

Only instead of moving to another screen, it will hide and make other arrangements.