Как ускорить рендеринг winforms.NET

|Am.n^m + Am-1.n^m-1 + … A1.n + A0| <= n^m (|Am| + |Am-1|/n + … + |A1|/n^m-1 + |A0|/n^m)

Выберите несколько n0 и установите

c = (|Am| + |Am-1|/n0 + … + |A1|/n0^m-1 + |A0|/n0^m).

Это гарантирует, что

n >= n0 implies |f(n)| <= c.n^m

потому что c(n) < c(n0).

8
задан Ólafur Waage 26 March 2009 в 11:30
поделиться

4 ответа

Существует простой способ ускорить воспринятое выполнение многих средств управления, особенно информационно емких как listviews, поля списков, поля комбинированного списка и т.д.

Перед заполнением их, называют BeginUpdate () методом и когда сделанный вызов EndUpdate (). Это отключает перерисовку управления, пока Вы не сделаны, заполнив его с данными.

6
ответ дан 5 December 2019 в 19:02
поделиться

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

1
ответ дан 5 December 2019 в 19:02
поделиться

Прошу прощения. Это - то, для чего поточная обработка. "Операционные проблемы перекрестного потока" четко определены и существуют общие шаблоны для контакта с ними. Просто уменьшите места, где потоки взаимодействуют к минимуму (в этом случае, это было бы единственное место - после того, как данные загружаются), и это становится тривиальным.

Существуют также некоторые классы, которые делают многопоточность в приложении winforms намного легче, поскольку они абстрагируют далеко взаимодействие между потоками. BackgroundWorker (связываются с сообщением в блоге об этом) выполнит работу над другим потоком для Вас и уведомляет Вас, когда его сделанные путем увольнения события в UI распараллелят. Вы извлекаете пользу из многопоточности без любой из ловушек.

2
ответ дан 5 December 2019 в 19:02
поделиться

Назад в дни VB я использовал LockWindowUpdate API. Так как это берет дескриптор окна, это должно быть применимо также с WinForms. Хотя, никогда пробуемый.

0
ответ дан 5 December 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: