Производительность C # /. Net форм с большим количеством элементов управления - PullRequest
1 голос
/ 04 января 2011

Количество элементов управления в форме влияет на ее производительность? Что если элементы управления помечены как невидимые? Что если несколько элементов управления видны, но полностью покрыты только несколькими элементами управления (например, панель, содержащая пару элементов управления)?

Я спрашиваю об этом с точки зрения приложений, таких как пакеты 3D-моделирования, программное обеспечение для редактирования видео и т. Д. У них есть скрытые панели, вкладки, свитки, анимированные ящики и тому подобное.

Кто-нибудь делал такие тесты производительности? Считает ли это целесообразным?

Ответы [ 2 ]

3 голосов
/ 04 января 2011

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

Тип управления также имеет значение.Сторонние или пользовательские элементы управления иногда могут состоять из нескольких элементов управления, каждый из которых имеет свой собственный дескриптор.

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

2 голосов
/ 04 января 2011

Без проведения теста производительности легко сказать, что слишком много элементов управления имеют проблему с производительностью,

  • Увеличено использование памяти (объекты пользовательского интерфейса очень велики).
  • OnPaint и другие базы сообщений методы будут вызваны (для контроля или для родителей в наследство иерархия)
...