Hi Massimo,

We had this discussion recently (off the mailing list), regarding big
lists of items in media explorer
(https://github.com/media-explorer/media-explorer ).

As a short term solution, the Mx toolkit has recently integrated an
ActorManager :

https://github.com/clutter-project/mx/blob/master/mx/mx-actor-manager.h

Here are 2 examples of usage of MxActorManager :

https://github.com/media-explorer/media-explorer/blob/master/mex/mex-content-proxy.c#L184

https://github.com/media-explorer/media-explorer/blob/master/mex/mex-explorer.c#L429

The idea is to prevent to block the main loop (and so the whole UI) when
adding 1000+ items, by using an idle function.

Of course this is just a workaround, and the right solution would be to
not create more actors than what you see on the screen (or a factor of
that number), and remap actors that just disappeared to a new item
further up/down the list while you're scrolling.

The downside of this solution is that it means rewriting quite a few
containers to handle that new way dealing with huge list.

Regards,

--
Lionel

On Wed, 2011-06-15 at 23:36 +0200, Massimo Cora' wrote:
> Hi,
> 
> let's say that I have 1000+ items (ClutterActors) to insert in a 
> vertical MxListView with kinetic scrolling. Right now they're added all 
> at once, which isn't the best option for my case because it slows done 
> the painting of the whole widget.
> I was wondering if using an async version of model_changed_cb ()  [on 
> mx-list-view.c] could speed up the things. In particular I'd like to put 
> async the call to clutter_container_add_actor ().
> Before adventuring in complex things I'd like to ask what you think 
> about this.
> BTW I already tried the way to add chunks via on_idle functions, but 
> they weren't fluid at all, blocking the whole user interface for some 
> moments.
> 
> what are you suggestions?
> 
> Thanks and Regards,
> Massimo
> 
> _______________________________________________
> clutter-app-devel-list mailing list
> [email protected]
> http://lists.clutter-project.org/listinfo/clutter-app-devel-list


_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to