1 / 67

Dramatically increase performance for large amounts of data in Xaml GridView and ListView

Dramatically increase performance for large amounts of data in Xaml GridView and ListView. Chipalo Street Program Manager II 3-158. Agenda. Panning Item virtualization Placeholder elements Incremental update Startup Presenter elements Customizing presenters. Panning .

asabi
Download Presentation

Dramatically increase performance for large amounts of data in Xaml GridView and ListView

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dramatically increase performance for large amounts of data in XamlGridView and ListView Chipalo Street Program Manager II 3-158

  2. Agenda • Panning • Item virtualization • Placeholder elements • Incremental update • Startup • Presenter elements • Customizing presenters

  3. Panning

  4. Data template vs. item container template

  5. Data template vs. item container template

  6. Data template vs. item container template

  7. Panning perf overview

  8. Panning perf overview

  9. Panning perf overview

  10. Panning perf overview

  11. Panning perf overview – UI virtualization

  12. Panning perf overview – UI virtualization

  13. Use ItemsStackPanel or ItemsWrapGrid to get item virtualization. The framework automatically does this for all apps that use the default ItemsPanel.

  14. Item virtualization improvements

  15. Panning perf overview

  16. Panning perf overview UI thread work

  17. Panning perf overview render item 21

  18. Panning perf overview render item 22

  19. Panning perf overview render item 23

  20. Placeholders increase perceived performance • <GridViewShowsScrollingPlaceholders="true“>

  21. All apps running on Windows 8.1 get placeholders for free.

  22. Perf improvement from placeholders

  23. Incrementally updating the data template

  24. Incrementally updating the data template UI thread work

  25. Incrementally updating the data template UI thread work

  26. Incrementally updating the data template phase 0

  27. Incrementally updating the data template phase 1

  28. Incrementally updating the data template phase 2

  29. Incrementally updating the data template UI thread work

  30. Incrementally updating the data template phase 0

  31. Incrementally updating the data template phase 1

  32. Incrementally updating the data template phase 2

  33. Incrementally updating the data template phase 2

  34. Incrementally updating the data template phase 3

  35. ContainerContentChanging • <GridViewContainerContentChanging=“YourCCCEventHandler“> • ContainerContentChangingargs • Phase • RegisterUpdateCallback • Handled • ItemContainer • Item • InRecycleQueue • ItemIndex

  36. Consider implementing incremental updating for scenarios when rendering items is expensive.

  37. Using ContainerContentChanging to implement incremental updating

  38. Startup

  39. Data template vs. item container template

  40. Data template vs. item container template

  41. Data template vs. item container template

  42. Win 8 item container templates are expensive

  43. Win 8 item container templates are expensive

  44. Win 8 item container templates are expensive

  45. Win 8 item container templates are expensive

  46. Many items exacerbate problem • 1050 objects created for state alone!

  47. Item presenters Windows 8 Windows 8.1

  48. All apps that use default item container visuals start up to 26% faster when running on Windows 8.1

  49. Use presenters in customized item container templates • <GridViewItemPresenter • SelectionChecMarkVisualEnabled=“False” • SelectionBackground=“#FFFF8c00” • SeletionBorderThickness=“5” /> = +

More Related