ADN Open CIS
Сообщество программистов Autodesk в СНГ

30/07/2018

Ускоряем ComboBox-ы в формах на WPF

Ускоряем ComboBox-ы в формах на WPF

Если Вы разрабатываете UI ваших addin-ов с использованием технологии WPF, то, вероятно замечали "тормоза" интерфейса, что особенно заметно в элементах управления "выпадающий список" (ComboBox)

Давайте разберемся, как можно ускорить работу Ваших форм в Revit.

WPF может работать в двух режимах:

1) Default - в этом режиме используется аппаратное ускорение для вывода графики, если оно доступно, в противном случае используется программный режим

2) SoftwareOnly - программный вывод графики без использования аппаратного ускорения

Посмотрим, какой же режим вывода графики использует Revit. В команде выведем диалоговое окно (необходимо подключить сборку PresentationCore из Framework-а):

Код - C#: [Выделить]
  1.  
  2. using System.Windows.Media;
  3. ...
  4. TaskDialog.Show("dev", $"{RenderOptions.ProcessRenderMode}");
  5. ...
  6.  

Скорее всего, при запуске команды будет выведено окно:

В принципе, для ускорения UI достаточно где-то в Вашем коде переключить:

Код - C#: [Выделить]
  1.  
  2. RenderOptions.ProcessRenderMode = RenderMode.Default;
  3.  

После этого будет выведено

Этого же можно добиться без программирования, для этого необходимо поставить галку "Использовать аппаратное ускорение" в окне Файл -> Параметры на вкладке "Интерфейс"

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 30.07.2018