|
Производительность рисования в WPF
|
|||
---|---|---|---|
#18+
Здравствуйте, Ситуация такая, есть приложение рисующее большое количество объектов(~1500) Мышкой и скролом объекты перемещаются и зумируются. В основном это эллипсы, кривые и текст. Приложение написано с использованием GDI+. Все хорошо, но иногда проседает производительность когда много текста выведено. Решили переделать это в WPF. Но тут возникли еще большие тормоза. Делаю так: 1. есть WPF-контрол, который ложиться на обычную форму через elementhost 2. в контроле переопределен OnRender, в котором выведено событие Paint, для прорисовки из вне. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
3. Дальше создается коллекция Geometry, и во внешнем событии прорисовывается Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
4. Все трансформации делаю так (например Zoom) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Все хорошо работает, тока тормоза жуткие!!! Про перемещении мышкой вообще молчу!!! Хотя на GDI+(private void Paint(object sender, PaintEventArgs e)) все намного лучше. Что делаю не так? Если нужно, могу выслать тестовый пример моей поделки! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2013, 13:58 |
|
Производительность рисования в WPF
|
|||
---|---|---|---|
#18+
есть WPF-контрол, который ложиться на обычную форму через elementhost обычная форма ето винформс? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 21:48 |
|
Производительность рисования в WPF
|
|||
---|---|---|---|
#18+
_devel, без кода бесполезно гадать. Но имхо нет смысла делать тоже самое на WPF. А если делать, то по другому. Вот мне так кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2013, 10:24 |
|
|
start [/forum/topic.php?fid=21&fpage=26&tid=1441237]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 439ms |
0 / 0 |