Does the DataBoundListBox Solve the Image Thread Loading problem?

2 posts, 0 answers
  1. Matthias
    Matthias avatar
    1 posts
    Member since:
    Oct 2010

    Posted 01 Jun 2011 Link to this post

    I'm working with the RadDataBoundListBox in a big project with lots (50-100) of images in a list. I know that there is normally a problem with the image control where it loads the image on the UI thread, blocking it. (see here http://blogs.msdn.com/b/delay/archive/2010/09/02/keep-a-low-profile-lowprofileimageloader-helps-the-windows-phone-7-ui-thread-stay-responsive-by-loading-images-in-the-background.aspx)

    Because of this problem, before we got the RadDataBoundListBox, we were using the low profile image loader (LPIL). Since moving to the Telerik controls, we've been less distracted by horrible performance (you guys rock!) and started noticing that when I use the low profile image loader (LPIL) code with the RadDataBoundListBox, I will frequently get the wrong image assigned to a given item. (I think this is a problem with the LPIL code, not the RadDataBoundListBox). Because of this, I switched our data template from

    <Image lowProfile:LowProfileImageLoade.UriSource={Binding MyImage} />

    to 

    <Image Source={Binding MyImage} />

    However, one of our back-end devs now says that the image loading is blocking the UI thread. I'm not a threading guru (I'm a designer to wanders disasterously into code every now and then) so I wanted to ping someone at Telerik about this... I kind of got the feeling that your control did some kind of magic to solve that problem. Am I wrong? Do I still need to find an image loading threading solution?
  2. Deyan
    Admin
    Deyan avatar
    2037 posts

    Posted 02 Jun 2011 Link to this post

    Hi Matthias,

    Thanks for writing and for the nice words.

    Indeed, we have spend a lot of time to fine tune the performance of the RadDataBoundListBox and we are happy that our customers appreciate what we have achieved.

    During the development process of RadDataBoundListBox we have made some investigations in terms of image loading (since it is a very common scenario on the phone) and have decided that using the out-of-the-box solution in the Silverlight Framework for Windows Phone 7 (i.e. the standard way of loading images) works good. We have a bunch of demos in our Telerik RadControls application (available on the Marketplace) which use images. We do not observe any performance issues regarding this approach besides those that Microsoft officially acknowledge and which are related to the UI thread processing of manipulation events. In other words, the performance and UX issues that you may observe are mostly related to a limitation of the WP7 OS which comes from the fact that user input is processed on the UI thread. Since Microsoft announced that they will be introducing a new thread as of the Mango release, which will handle manipulation processing, we think that this issue will be fixed very soon.

    We are still interested to take a look at your application and see if we can help so feel free to prepare a sample project that demonstrates your both scenarios: the one that uses the LPIL and the one without it.

    Please note that you will have to open a new support ticket in order to be able to attach your project.

    Thanks for your time.

    Best wishes,
    Deyan
    the Telerik team
    Let us know about your Windows Phone 7 application built with RadControls and we will help you promote it. Learn more>>
  3. DevCraft banner
Back to Top