I use the Clik ScrollingList component/class for many of my lists in my game’s hud.
I have noticed that when I add images to the ListItemRenderers (especially if a lot of them) then the flash movie will occasionally crash (causing the game to crash) when scrolling through the list at a fast speed. Sometimes when I’m putting stress on the flash movie (by repeatedly renderering a lot of image sprites for example) it can sometimes crash just by mousing over the list.
I’ve done a lot of investigation and stress-testing of this and can’t find the cause of the problem. I’m at a point when I am thinking of just writing my own scrolling list class from scratch.
I know there are only very few of us that use scaleform in UDK at great scale, but wondering if anyone has had similar problems with scrolling lists, or have any ideas of what might be causing the instability?
It does not crash for me, try adding low res images.
interesting. I have a scrolling list with list item renderers with images on my inventory (I use a list type of inventory like TES Oblivion). the images on my inventory are really small, they’re really just icons (and actually they are vector art drawn directly in flash).
I too have noticed that when I have a long list of items (30+) the scrolling becomes increasingly laggy, though it never went beyond just ‘very laggy’.
my game has an inventory weight limit with penalty, so keeping a lot of items is discouraged for the player. as such I never gave it a big priority to even look into this issue, so I’m afraid I can’t provide any more info
During my testing I setup a lot of stress-tests and found some limits to flash.
Try rendering a empty movie-clip with 9-slice-scaling, adding a few images to it. Render several (say 50+) of these to the stage in a frame. And on a timer, keep removing these and adding them again (say a few times a second), and the flash movie will crash.
Remove the 9-slice scaling and movie will never crash. You can even render 1000’s of them, and even though it will kill performance, the movie will not crash.
So it seems movie clips with 9-slice-scaling and images can cause critical instability. I believe this was part of the cause of the rare crashes I was seeing with scrolling lists (as this stress test is essentially what a clik scrolling list does).
Either way, I ripped out a lot of the needless complexity of the scrolling list and made my own. And my new scrolling list is far smoother and performant than the clik component version. The excessive Invalide() and re-renders that the clik scrolling list is doing (on 9-slice-scaled UIComponents) seems excessive and over-engineered.