TaskDialog оочень медленный

Автор Тема: TaskDialog оочень медленный  (Прочитано 4855 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bargoolАвтор темы

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
TaskDialog оочень медленный
« : 15-10-2015, 16:45:30 »
Экспериментировал тут с TaskDialog - либо он очень медленный, либо я его неправильно готовлю.
Может, есть какие неочевидные способы ускорить обработку чертежа в рамках работы с TaskDialog?

Код приводить незачем, всё как здесь и здесь

Как пример, операция, состоящая из 90 шагов без диалога занимает 2 секунды. Если обновлять диалог на каждом шаге (ну, прогресс бар там подвигать..), то это дело занимает уже 15 секунд.
Если обновлять раз в 10 шагов, то уже ухудшения времени выполнения практически нет.. Но неплавно это получается, а "бесконечный" MarqueeProgressBar вообще теряет смысл.
Алексей

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: TaskDialog оочень медленный
« Ответ #1 : 15-10-2015, 17:40:08 »
Ты при этом модифицируешь чертеж и вызываешь в коде периодически
Код - C# [Выбрать]
  1. tr.TransactionManager.QueueForGraphicsFlush();
  2. acApp.DocumentManager.MdiActiveDocument.Editor.Regen();
?
Если да, то понятно что это будет очень медленно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн bargoolАвтор темы

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
Re: TaskDialog оочень медленный
« Ответ #2 : 15-10-2015, 18:06:19 »
Модифицирую чертёж в рамках одной транзакции, ни регена, ни QueueForGraphicsFlush не делаю.
Просто последовательная обработка и модификация множества блоков
Алексей

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: TaskDialog оочень медленный
« Ответ #3 : 15-10-2015, 21:57:31 »
Давай готовый пример проекта, который я смогу погонять. Если не найду как обойти эту проблему - отправлю в ADN DevHelp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн bargoolАвтор темы

  • ADN Club
  • ***
  • Сообщений: 111
  • Карма: 6
Re: TaskDialog оочень медленный
« Ответ #4 : 16-10-2015, 15:12:45 »
К вечеру постараюсь подготовить
Алексей