# Project with many screens makes slow thunkable

**URL:** <https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982>\
**Category:** Feedback\
**Tags:** screen, thunkable-bugs\
**Created:** [October 13, 2023, 5:31pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982 "2023-10-13T17:31:31Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 13, 2023, 5:31pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/1 "2023-10-13T17:31:31Z")

</div>

I have to create many screen (about 4.000) and I did just 1.000, but the web app is getting slow I am attaching images, I set up already the screener preview off, but problem persists. I will be grateful for any help.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/4/5/457def80770c3ffa1e80775ca1ffe977de38bfb9.png)

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/e/b/eb339abba630588efc74b6c158e2f91ba78d2d22.png)

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 13, 2023, 5:38pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/2 "2023-10-13T17:38:24Z")

</div>

No… this is such a mistake. If you need more than about 20 screens, you’re doing something that could be done much more efficiently with components that use dynamic values.

Why do you have so many screens?

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 13, 2023, 6:30pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/3 "2023-10-13T18:30:29Z")

</div>

Why do you have so many screens?.. because I am doing a book, and the more efectiveness for me is copy every single screen to create a new one… What shall I do???

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 13, 2023, 6:49pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/4 "2023-10-13T18:49:25Z")

</div>

If you are displaying text or images on each screen, you would use a placeholder component.

For example, let’s say you have a different image on each screen. Instead of making 1,000 screens, you make one screen and you name the images image1.jpg, image2.jpg, image3.jpg, etc. You create a variable called PageNum and set it to 1.

Then you assign the image component’s picture a value joining “image” with PageNum and with “.jpg”. When the user clicks the next page button, you increase PageNum by one and re-load the image component. There is no need to have more than one screen.

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 13, 2023, 6:55pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/5 "2023-10-13T18:55:14Z")

</div>

For a demo, see the first screen of this project:

[https://x.thunkable.com/copy/75ec70ba1b2ae3a378806c3d57ffbda3](https://x.thunkable.com/copy/75ec70ba1b2ae3a378806c3d57ffbda3)

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 13, 2023, 7:35pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/6 "2023-10-13T19:35:59Z")

</div>

I really apreciate your help…but, it is too late for doing what you say… is there another way???

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 13, 2023, 7:41pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/7 "2023-10-13T19:41:40Z")

</div>

No but now you know for next time.

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 13, 2023, 9:54pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/8 "2023-10-13T21:54:25Z")

</div>

I think if thunkable says I must turn previwer page Off, It should work, if don´t, there is a problem… I should be able to create whatever pages I need, it must work and I hope one day so. Thanks a lot!

---

<div class="post-metadata">

**Author:** ![samclever](https://avatars.discourse-cdn.com/v4/letter/s/ec9cab/32.png) [@samclever](https://community.thunkable.com/u/samclever)\
**Post date:** [October 14, 2023, 4:24am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/9 "2023-10-14T04:24:40Z")

</div>

It has nothing to do with thunkable. Having multiple screens makes the app very large thus slowing down the device as well as the time it takes to execute the different operations. It is never to late to make a copy and try and simplify your app. Using @tatiang suggestion would cut down on A TON of screens as well as blocks. It also makes trouble shooting errors and bugs much simpler. You can literally display a novel on a single screen if you code it correctly.

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 14, 2023, 4:52pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/10 "2023-10-14T16:52:09Z")

</div>

I never give up, so I will try that… and let you know it. Thanks

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 16, 2023, 11:45am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/11 "2023-10-16T11:45:12Z")

</div>

I think I found a solutions… With that, I will reduce screen numbers from 4.000 just to 200 almost… do you think it would work?

---

<div class="post-metadata">

**Author:** ![vishruth-ram](https://avatars.discourse-cdn.com/v4/letter/v/82dd89/32.png) [@vishruth-ram](https://community.thunkable.com/u/vishruth-ram)\
**Post date:** [October 16, 2023, 12:09pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/12 "2023-10-16T12:09:29Z")

</div>

200? If you’re doing multiple books, You can create a variable named `booknum` and try @tatiang’s solution with

```auto
int pagenum
int booknum
set image of component image to 
      join " book ( var booknum ) image ( var pagenum ) .png"
               

```

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 16, 2023, 2:36pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/13 "2023-10-16T14:36:46Z")

</div>

Why would you not reduce it to 1 or 2? 200 screens is still a nightmare if you have to change something on every screen. What if you decide to use a different font? Or a different button icon? Or move a component down a few pixels? Then you have to make that change 200 times! I can’t imagine editing a project with that many screens.

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [October 18, 2023, 2:44pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/14 "2023-10-18T14:44:47Z")

</div>

4,000 screens is extremely unrealistic for any native app, Thunkable or not. Like @tatiang and @samclever said, it would be much more efficient just to use one or two screens.

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 20, 2023, 1:50am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/15 "2023-10-20T01:50:43Z")

</div>

I redesinged it and I can reduce to a one screen… but now question is: I have to create up to 4.000 diferent text ¿ do you think would it work if I continue doing as attached image show ?

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/0/6/06a2233b20ef2f8c3026c7af27f6c4f25dce854f.png)

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 20, 2023, 5:09am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/16 "2023-10-20T05:09:10Z")

</div>

If you have to do anything in Thunkable more than 30 times, you’re doing it wrong. You should never have to add 4,000 blocks or 4,000 screens!

I don’t really understand what your URL values are for. Are you using a Web Viewer? Normally, you would use a Get Value block from the Data Sources drawer and use a variable for the row id. The variable value would be 1, then 2, then 3, etc. for each page as the page gets turned, similar to the demo I posted. You can do that for images or text.

Try to avoid using `forever` loops. It’s better to change the value when the user does something than to constrain it with a forever loop. A forever loop will run that section of code something like 100 times per second!

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 20, 2023, 10:40am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/17 "2023-10-20T10:40:39Z")

</div>

I am really worry reading what you wrote… I get back to your demo and I was trying to understand it.

For multiple pages I got many things, but I have some questions

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/5/1/51f96b9ced9890a03f9ba23debd56a81d3b3cda6.png)

1. where are the images come form? I know you code image5.jpg (i.e) and it was a jiraffe when it run, but this jiraffe where was it? where has this jiraffe been taken from?  

2. When I run this demo on my mobil, screen 2 and 1 never open, so I don´t know why you create them  

3. for that reason I don´t understand how their block work  

I really appreciate your help. I will tell you what I trying to do:

1. if people clic “Antiguo” go to screen “Tipo testamento”  

2. In this list will apper specific items diferent if people clic “Nuevo” but I used just one screen. If user clic an item, app goes to “capitulo” screen  

3. in this screen, user have to choose an item, it is a number. What user chose I save on variables. and finally goes to “contenido” screen  

4. in “contenido” screen I use every variable I saved and put the content chosen by user, like this:  

How could you help me? how should I structure this app?.. I am really grateful.

---

<div class="post-metadata">

**Author:** ![tatiang](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/tatiang/32/55482_2.png) [@tatiang](https://community.thunkable.com/u/tatiang)\
**Post date:** [October 20, 2023, 3:39pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/18 "2023-10-20T15:39:47Z")

</div>

1. I downloaded the giraffe image from a Google Image search and then uploaded it into the Assets section of the Design tab in Thunkable. After that, I can use it by selecting it from a drop-down menu in the Properties panel or typing in the name of the image file in a text box.

2. Sorry for any confusion! I use a single project for multiple demos. Please ignore “Screen 2” and “Screen 1”. You can delete them.

3. See above.

4. It looks like you have a good start! By using dynamic variables to store the page # (row #) as in my demo, you should be able to display 4,000 different texts that have been entered in a data source with each text in a separate row.

---

<div class="post-metadata">

**Author:** ![jahaan](https://avatars.discourse-cdn.com/v4/letter/j/6bbea6/32.png) [@jahaan](https://community.thunkable.com/u/jahaan)\
**Post date:** [October 20, 2023, 6:41pm UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/19 "2023-10-20T18:41:59Z")

</div>

@tatiang nice job helping as always!

---

<div class="post-metadata">

**Author:** ![anubos112thez](https://avatars.discourse-cdn.com/v4/letter/a/f1d935/32.png) [@anubos112thez](https://community.thunkable.com/u/anubos112thez)\
**Post date:** [October 21, 2023, 11:35am UTC](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982/20 "2023-10-21T11:35:59Z")

</div>

I understood many thing thank you…

1. I found it and I realized it exits heeheheh  

2. y 3. No problem, thank you for helping me.

3. I understand that I can continue pasting 4.000 different texts to be shown as user as select the pag number, so I will do that and let you know when I finish or if I have any problem either 🙈  
But I will apply what you said before so I wont use forever loop I will use functions as you did  

Thank yo very much, I appreciate your time and you support! … It is good count on you, you can count on me as well.

[Next page](https://community.thunkable.com/t/project-with-many-screens-makes-slow-thunkable/2642982.md?page=2)
