There is something seriously wrong with the list since 0.92 on iphone, but it works fine in chrome (or is it just because it's a faster hardware ?)
The scrolling is a lot slower than 0.91 which was a huge improvement over 0.9.
It doesn't feel smooth at all and seems to freeze sometimes. I have to swipe my finger multiple times before it starts scrolling again.
I don't have much more informations unfortunately. But I wanted to see if more people have this issue ?
Are you both talking about the list example bundled in the SDK? The only real change we made was the addition of disclosure icons. If you disable those in the examples, is the list performance comparable to 0.91? The scroller hasn't changed that much between .91 and .92. And on the List only the way the headers are pinned during scrolling has changed, and should actually be faster than before.
I just tested without the disclosure icons. It's better but still slower than 0.91, it's not smooth.
There is also a weird little effect when you touch the list for the first time, it moves a bit to the right then back to the left, and I can see part of a second header under the floating header (both labeled "A"). That doesn't bother me much, it's just a small visual artifact.
Sometimes I can also see the previous group header on top of the current group (like A over B header). It happens when u scroll down slowly and both headers are at the top of the list, scroll down some more and they overlap in the wrong order. It doesn't happen when you scroll up.
The reason that the performance significantly changed between 0.9.1 and 0.9.2 (although we didn't change much in the Scroller class itself) was that we added a lot of documentation, which increased the file size. This increased the compilation time of first time code execution, and thus the performance of the scroller. After switching out ext-touch-debug with ext-touch in the examples, everything started performing like before.
The reason Froyo didn't really suffer from this, is that they are using V8 engine, which compiles much faster, and thus the performance hit isn't that noticeable. The same applies to newer generation iPhones, which have better hardware specs and compiles faster.
For now we have updated all examples to use ext-touch instead of ext-touch-debug, and we will keep you guys posted on further discoveries and developments regarding these issues. More details on the issue are below for the technically minded.
User touches the screen for the first time
TouchEventManger fires touchstart event (compile)
Scroller executes onTouchStart (compile)
On older generation iPhones and Android 2.1, this compilation time could add up to several hundreds of milliseconds. During this time, the browser wouldn't fire any touch events, and the native behavior (scrolling the whole page) would take over. Then when you start moving, the same thing happened again.
User moves finger
TouchEventManager fires touchmove (compile)
Scroller listens for touchmove and executes onTouchMove (compile)
TouchEventManager fires scroll for first time (compile)
Scroller fires onScroll (compile)
During all this compiling, again the browser wouldn't fire any events and the native browser behavior would take over.