В каком порядке панели наиболее эффективны с точки зрения времени рендеринга и производительности?

Во многих случаях для макета, который мне нужен, подходит более одной панели, однако я знаю, что существует разница во времени рендеринга для разных типов панелей.

Например, MSDNутверждает, что

Относительно простая Panel, такая как Canvas, может значительно более высокая производительность, чем у более сложных Panel, таких как Grid.

Итак, с точки зрения времени рендеринга и производительности, в каком порядке панели WPF наиболее эффективны?

Панели WPF:

  • Canvas
  • DockPanel
  • Grid
  • UniformGrid
  • StackPanel
  • WrapPanel
  • VirtualizingPanel / VirtualizingStackPanel

Я почти уверен Где-то в инете видел этот список, но сейчас не могу найти.

Идеальным ответом, который я ищу, был бы список панелей в том порядке, в котором они будут отображаться быстрее всего. Я понимаю, что количество дочерних элементов является важным фактором эффективности панелей, поэтому ради этого вопроса предположим, что каждая панель имеет только пару Label/ TextBox.

Кроме того, мне нужен список исключений, таких как определенные панели, которые работают лучше, чем другие, в зависимости от определенных условий.

Обновление

Подводя итог на основе принятого ответаниже, производительность панели зависит от количества и расположения дочерних элементов, однако в целом список от самого быстрого к самому медленному выглядит следующим образом:

  • Canvas
  • StackPanel
  • WrapPanel
  • DockPanel
  • Grid

Кроме того, VirtualizingPanel/ VirtualizingStackPanelследует всегда использовать, если элементов много. которые не всегда помещаются на экране.

Я настоятельно рекомендую вам прочитать принятый ответниже для получения более подробной информации, прежде чем просто выбрать элемент из этого списка.

120
задан Community 23 May 2017 в 12:17
поделиться