Description
Given how long it takes to instantiate the cat list screen now (according to a timer I ran, it's anywhere from 0.5 to 2 seconds with a modest clan of 50 or so in all_cats_list), setting up the loading animation would ensure the user feels the game is continuing and not in a crash state.
Best case scenario, this could mean loading ListScreen in 2 separate chunks - the blank screen with header bar first since you can do that almost immediately, with the loading spinner that gets used in patrols (and possibly other places).
Then, whilst the loading spinner is doing its beautiful dance, we can do the rest of the load, namely:
find the cats we want
make all the buttons
populate the buttons
show all the buttons all at once
Then the loady-spinner goes away and the user can use the screen. I am fairly confident this is threading and I really do hate that, but the experience right now is Poupi Kakas (obscure reference, sorry).
Other "grievances"/potential fix sources
The root issue is the sheer number of components we have to instantiate to make a UIBasicCatList. Every component has an overhead - for a single cat on the list screen there are 4 components (the cat's root container, the cat's name, the cat's image and the cat clicky-thing). Twenty cats makes 80 components, plus another five for the tabs, plus another... I want to say at least 10 for the cat_list header, and we're up to nearly 100 components on a single screen without even factoring in the default screeny bits.
Especially with older/larger clans, the way we have to index to find the default screen for living clan cats is quite slow - for every single cat there's ever been, we need to check 2 boolean flags within. It does does add up over time even in a list comprehension (which they currently don't use either). The components are definitely the main issue, though this does impact the load time and any suggestions would be received curiously.
Description Given how long it takes to instantiate the cat list screen now (according to a timer I ran, it's anywhere from 0.5 to 2 seconds with a modest clan of 50 or so in all_cats_list), setting up the loading animation would ensure the user feels the game is continuing and not in a crash state.
Best case scenario, this could mean loading
ListScreen
in 2 separate chunks - the blank screen with header bar first since you can do that almost immediately, with the loading spinner that gets used in patrols (and possibly other places).Then, whilst the loading spinner is doing its beautiful dance, we can do the rest of the load, namely:
Then the loady-spinner goes away and the user can use the screen. I am fairly confident this is threading and I really do hate that, but the experience right now is Poupi Kakas (obscure reference, sorry).
Other "grievances"/potential fix sources