В каком порядке панели наиболее эффективны с точки зрения времени рендеринга и производительности?
Много раз, когда более одной панели подходит для нужного макета, я знаю, что есть разница во времени рендеринга для разных типов панелей.
Например,MSDN говорится, что
Относительно простойPanel
, такие какCanvas
, может иметь значительно лучшую производительность, чем более сложныйPanel
, такие какGrid
.
Итак, с точки зрения времени рендеринга и производительности, в каком порядке панели WPF наиболее эффективны?
Панели WPF:
Canvas
DockPanel
Grid
UniformGrid
StackPanel
WrapPanel
VirtualizingPanel
/ VirtualizingStackPanel
Я почти уверен, что видел список этого где-то в Интернете, но я не могу найти его сейчас.
Идеальный ответ, который я ищу, - предоставить мне список панелей в том порядке, в котором они отображаются быстрее. Я понимаю, что количество детей - это большой фактор эффективности панелей, поэтому ради этого вопроса предположим, что каждая панель имеет толькоLabel
/TextBox
пара.
Кроме того, я хотел бы список исключений, таких как конкретные панели, которые работают лучше, чем другие, в зависимости от определенных условий.
Обновить
Подводя итог на основепринятый ответ ниже производительность панели основана на количестве и расположении дочерних элементов, однако в общем случае список от самого быстрого до самого медленного:
Canvas
StackPanel
WrapPanel
DockPanel
Grid
Кроме того,VirtualizingPanel
/ VirtualizingStackPanel
всегда следует использовать, если на экране много предметов, которые не всегда умещаются.
Я очень рекомендую вам прочитатьпринятый ответ ниже для более подробной информации, прежде чем просто выбрать элемент из этого списка.