alexrainman / CarouselView

CarouselView control for Xamarin Forms
MIT License
436 stars 176 forks source link

Images not rendered consistently on UWP #156

Closed Hangarspace closed 7 years ago

Hangarspace commented 7 years ago

Firstly, great work, your dedication and commitment to the Carousel control is fantastic and should be rewarded.

We are using the Carousel control in our Xamarin app, primarily focusing on UWP. The control is tied to a datasource that is a list of products. In simple terms each item has a text description and an ImageSource. We are finding there is a problem whereby the image is not always rendered for one or two items out of about 100.

The images are on disk and the data model is populated 100% correct. It happens maybe 50% of the time, and when it happens it is always the fourth item in the list. Changing the data so we swap the positions of say the 3rd and 4th items, the problem still occurs at the 4th position in the list. Inspecting the ImageSource for the missing item shows it has valid data.

Setting the carousel's itemsource to null and then back to the original source resolves the issue 95% of the time (or recreates it if you do this repeatedly). This does not cause the original datasource to be rebuilt or changed in anyway. The datasource is fully generated and populated before being attached to the view in the first place.

Calling an OnPropertyChanged notification for the imagesource property doesn't appear to have any effect.

It happens on multiple different tablets and desktop. I don't think its a performance issue or resource issue due to it happening on dev pc.

I have created a repro project that shows the behaviour. The repro project behaves slightly different in that the chances of it occuring are slight less, so if at first shows all images, scroll thru the first six or so and then tap the 'Reload' button and scroll back to the start where you will invaribly find missing images.

https://www.dropbox.com/s/rzdf92bld7dyuff/CarouselRepro.zip?dl=0

A second issue that I will mention because it could be connected...

One of our clients who is testing on Surface 3 devices has screen savers setup that return to the windows user logon screen on wakeup. They are finding that following the screen saver/logon, the Carousel has lost multiple images. We are not doing any processing that would attempt do anything in the sleep/wakeup/resume scenarios.

Many thanks in advance.

Hangarspace commented 7 years ago

Note suer if this would help at all, but I reproduced the repro app in a pure UWP (non xamarin) project using the FlipView control, and the issue does not appear to exist.

alexrainman commented 7 years ago

Can you try FFImageLoading?

Hangarspace commented 7 years ago

Will that work with images from that are on disk? I thought it was just to cache images from web?

I can definitely try it.

On 19 Jun 2017, at 17:00, Alex Rainman notifications@github.com<mailto:notifications@github.com> wrote:

Can you try FFImageLoading?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/alexrainman/CarouselView/issues/156#issuecomment-309485519, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFnUTVW6x3pd_kOf8q9IXrmPQC6MJRawks5sFpsngaJpZM4N-Idd.

Chris Stephens Mobile Analyst

[Visit innov8.co.uk]http://www.innov8.co.uk 'Excellence Through Innovation'

How to Contact our Support Helpdesk Visit our Customer Portalhttps://selfservice.innov8.co.uk/metro/GO Email the Support Helpdeskmailto:helpdesk@innov8.co.uk Call the Helpdesk: 0161 975 1666

[Twitter]http://www.twitter.com/innov8tech [LinkedIn] https://uk.linkedin.com/company/innov8-technology-ltd

Email: Chris.Stephens@innov8.co.ukmailto:Chris.Stephens@innov8.co.uk Mob: 07966 646 519 Tel: 0161 975 1600 Fax: 0161 975 1688

Sign-up to our Customer Newsletterhttp://marketing.innov8.co.uk/acton/fs/blocks/showLandingPage/a/10945/p/p-0003/t/page/fm/0

[Learn More]http://www.innov8.co.uk/wp-content/uploads/Sage-Premier-Plus.pdf


This email was sent to you by Innov8 Technology Ltd. 5 Riverview, The Embankment Business Park, Stockport, Cheshire, SK4 3GN. Company Number: 03306343

The statements and opinions expressed here are my own and may not represent those of Innov8 or its affiliates. This email is subject to copyright and the information within it is confidential and may be legally privileged. It is intended only for the named recipient(s). Access to this email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to our customers, any opinions or advice contained in this email are subject to the terms and conditions expressed in the contract of sale.

alexrainman commented 7 years ago

Yeah,it will work from disk :)

alexrainman commented 7 years ago

Problem solved?

Hangarspace commented 7 years ago

Yes thanks. I did send a mail yesterday, but you probably missed it.

Many thanks for your help.

On 21 Jun 2017, at 12:58, Alex Rainman notifications@github.com<mailto:notifications@github.com> wrote:

Problem solved?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/alexrainman/CarouselView/issues/156#issuecomment-310056733, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFnUTQl99NSEAaQWCN1RMbX6n0YAMjvyks5sGQVbgaJpZM4N-Idd.

Chris Stephens Mobile Analyst

[Visit innov8.co.uk]http://www.innov8.co.uk 'Excellence Through Innovation'

How to Contact our Support Helpdesk Visit our Customer Portalhttps://selfservice.innov8.co.uk/metro/GO Email the Support Helpdeskmailto:helpdesk@innov8.co.uk Call the Helpdesk: 0161 975 1666

[Twitter]http://www.twitter.com/innov8tech [LinkedIn] https://uk.linkedin.com/company/innov8-technology-ltd

Email: Chris.Stephens@innov8.co.ukmailto:Chris.Stephens@innov8.co.uk Mob: 07966 646 519 Tel: 0161 975 1600 Fax: 0161 975 1688

Sign-up to our Customer Newsletterhttp://marketing.innov8.co.uk/acton/fs/blocks/showLandingPage/a/10945/p/p-0003/t/page/fm/0

[Learn More]http://www.innov8.co.uk/wp-content/uploads/Sage-Premier-Plus.pdf


This email was sent to you by Innov8 Technology Ltd. 5 Riverview, The Embankment Business Park, Stockport, Cheshire, SK4 3GN. Company Number: 03306343

The statements and opinions expressed here are my own and may not represent those of Innov8 or its affiliates. This email is subject to copyright and the information within it is confidential and may be legally privileged. It is intended only for the named recipient(s). Access to this email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to our customers, any opinions or advice contained in this email are subject to the terms and conditions expressed in the contract of sale.