Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Аналог DoEvent


Автор: inkognitum 3.1.2008, 11:35
Добрый день.

Есть одна проблема.... занимаюсь вектором (уже были вопросы по этому поводу )) )

Предпологается что у меня будет неограниченое количество объектов. Я уже придумал как урезать и не просчитывать все ненужно дабы все расчеты ускорить, слава богу с техническим алгоритмом проблем нет... расчитывает 100000 объектов без проблем мгновенно благодаря всевозможным алгоритмам..... НО рисует медлено! (((( 

Я уже спрашивал как можно нарисовать все в памяти так чтобы это ускорить но как показала практика это не спасло.....
На горизонте вижу следущее решение я буду прорисовывать поэтапно.

я рисую самые важные объекты для пользователя потом уже второстепенные за секунды 2-3  он мне показывает все объекты. Но все это дело происходит в цикле и понятно дело пока он рисует на 2-3 секунды программа безжизнена....

возможно ли в C# реализовать аналог вункции в VB - DoEvent.
так чтобы во время цикла пользователь мог нажиматьна кнопки двигать окошко ну чтобы программа была активна.... я понимаю что это замедлит прорисовку.

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

Заранее спасибо!

Автор: ivashkanet 3.1.2008, 11:39
inkognitum, как ни странно так это и называется, только поискать нужно:
Код

Application.DoEvents();

Автор: farad 4.1.2008, 20:00
Такие задачи лучше решать с помошью второго потока, а выуживать время от времени накопившиеся сообщения с помощью DoEvents годится разве что для обновления прогрессбара в окне. Со вторым потоком будет быстрее, тем более что одноядерные процы, только в бухгалтерии остались smile  и спецально под них оптимизировать графическую программу как-то странно.

Автор: jonie 9.1.2008, 19:36
вариант использовать аппаратуру ? Direct подобные технологии?)

Автор: mr.DUDA 10.1.2008, 11:35
Цитата(jonie @  9.1.2008,  18:36 Найти цитируемый пост)
вариант использовать аппаратуру ? Direct подобные технологии?)

Смотря для чего, часто хватает обычного GDI+ как ни странно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)