Pretty good.  The intensiveness is in memory consumption for all of
those rows and managing an accurate notion of scrollposition of we don't
create those rows right away.  With variable row height, how do we know
max scroll position without creating and rendering every row?

 

However, we'll be adding smooth scrolling in the near future.  There's
be some odd edge cases in certain variable row height situations, but in
general, it should look ok for most folks.

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Derek Vadneau
Sent: Wednesday, May 30, 2007 1:32 PM
To: [email protected]
Subject: Re: [flexcoders] Smooth scrolling in list controls

 

"I'm sure the code is slightly easier to write for the list controls if
they don't have to track item renderers being in partial positions, etc"

Actually, that's not the issue. The rows aren't all rendered at once. A
specific number of rows are created (the number relates to what is
visible in the control). From then on, when you "scroll" the rows, the
cellrenderers are being populated with new data. Think of it like a
computer screen. Each pixel is updated with new data so you get the
effect of movement. The pixels themselves don't move. The same goes for
the List components. The cellrenderers don't move, they just get fed new
data. 

The idea is to increase the performance of the list. Otherwise, if the
list created all the rows and then you scrolled the entire list, it
could get rather intensive when holding thousands of items.

That's my understanding of the why. Perhaps someone else could give a
better analogy/explanation. 



On 5/30/07, thirtyfivemph <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> > wrote:

I'm fairly satisfied with the capabilities of most of the Flex
components. Sure, there are a few shortcomings, but they have mostly
been fixed by the community in projects like flexlib, etc.

What I've found frustrating (aesthetically), and surprising
(technically), is that the list controls (List and HorizontalList)
don't support smooth scrolling! In a graphics-intensive environment
like Flash, I just don't understand why we'd have components that look
so clunky.

Well, in fact, I do understand "why"... I'm sure the code is slightly
easier to write for the list controls if they don't have to track item
renderers being in partial positions, etc... but come on, compared to
all of the code that's going on in the List control already, I can't
imagine that would have been a big deal (particularly consider the
"ugh" factor it delivers).

So, I've tried to work around it the easy way by using Repeater
controls inside of canvases (which gives the right visual look, but
doesn't provide the niceties of a List control with built-in
drag-n-drop support and efficient use of item renderers). I've also
checked out other folks controls like Scroller, etc., but they all see
to go the same route.

So, I'm wondering... does anyone have a good solution for smooth
scrolling in Lists or HorizontalLists? I swear I expected it so much I
figured I was just overlooking a style setting or property for a long
time, but at this point I think its simply an oversight in the
control's design!

Am I alone in this opinion? Do the rest of you guys not want a silky
smooth UI?

Troy.




-- 

Derek Vadneau 

 

Reply via email to