|
WPF - Performance
|
|||
---|---|---|---|
#18+
Дело было вечером - делать было нечего... Расчихлил на досуге билдер С++ 6.0 и стал гулькаться, захотелось сравнить производительность нативного UI с технологиями дотнета. В общем много чего написал и много чего нового узнал, но самый простой пример, вот такой элементарный кусочек говнокода: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Т.е. имеем 3 текстбокса и кнопочку, как видим нихрена этот код не делает просто "террорезирует" UI. Никаких оптимизаций и кастомных настроек, чисто новый проект в студии, фреймворк 4.0. Вводим в первые два текстбокса по циферке, жмем кнопочку и ждем. Что имеем? WinForms: 40 - 45с Silverlight: 50 - 60c WPF... а он тупо глохнет на этой "задачке"! Если в цикле задать i < 10000 то считает 30 секунд! Кто-нибудь может это прокоментировать? Почему "мега-технология" прямо из коробки так лажает? Аналог на билдере С++ отрабатывает за 15-20 секунд. Аналог на Java отрабатывает за 25-30 секунд. Написал аналог на Silverlight с биндингами в XAML, получил провал по производительности ~30%. Ваши коментарии... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2013, 11:41 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
Ждешь МСУ?:) По теме: WPF в первую очередь UI, графики, например, прекрасно отрабатывают (это без DirectX). WPF использует бесшовное взаимодействие с DirectX, в этом весь профит. Кроме того, ни одно UI не предназначено для вышеописанной задачи. Что касается Java и C, там UI очень тонкий слой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2013, 14:12 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKI, если сделать нормально - лажать не будет. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Работает очень даже на ура. Вы же не будете в реальном приложении "так" вешать UI? Все пойдет в бэкграунд. Так, что тест совсем не тест :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2013, 15:36 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
И еще, типа "тест": С постоянно дерганным UI - 117 сек. Без дерганье UI - 40 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2013, 15:51 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
Абсолют, у меня 203 сек. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2013, 17:47 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
От машины, точнее видекарты сильно зависит. Чем мощнее карта тем быстрее впф. Я реальные тесты гонял типа скорость загрузки стилей а не такую синтетическую фигню. И мерять с помощью стопватча конечно можно но результаты не о чем. Мерять надо время рендеринга. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 23:44 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpuОт машины, точнее видекарты сильно зависит. Чем мощнее карта тем быстрее впф. Предлагаю под эту задачу "облака" разогнать! gpuЯ реальные тесты гонял типа скорость загрузки стилей а не такую синтетическую фигню. И мерять с помощью стопватча конечно можно но результаты не о чем. Мерять надо время рендеринга. Система не может с бэкграундом поле обновить, а мы скорость загрузки стилей меряем и рендеринг. Предлагаю температуру шпинделя винчестера померять, как без нее то? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 09:12 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpuОт машины, точнее видекарты сильно зависит. Чем мощнее карта тем быстрее впф. Я реальные тесты гонял типа скорость загрузки стилей а не такую синтетическую фигню. И мерять с помощью стопватча конечно можно но результаты не о чем. Мерять надо время рендеринга. интересно на тесты загрузки стилей посмотреть. Как мерили скорость рендеринга? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 11:34 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
James Bond FRСистема не может с бэкграундом поле обновить Не пытайтесь дискутировать о вкусе устриц с тем кто их ел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 23:45 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
netivanинтересно на тесты загрузки стилей посмотреть. Как мерили скорость рендеринга? Завтра выложу ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 23:46 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpuJames Bond FRСистема не может с бэкграундом поле обновить Не пытайтесь дискутировать о вкусе устриц с тем кто их ел. Перечитал пост три раза, но так и не понял глубину мысли, чесслово. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 09:15 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
netivanКак мерили скорость рендеринга? CompositionTarget.Rendering меряли когда евент не приходил. netivanинтересно на тесты загрузки стилей посмотреть. 10000 обьектов в ListView Test1 обычний пример с ListView Test2 CellTemplate (Datatemplate) в ListView Test3 Стиль для Button в каждой столбце ListView Test4 ControlTemplate для Button в Style Произведенные измерения однозначно показывают что каждое усложнение UI приводит к замедлению ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 12:08 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
James Bond FRgpuпропущено... Не пытайтесь дискутировать о вкусе устриц с тем кто их ел. Перечитал пост три раза, но так и не понял глубину мысли, чесслово. Ничего страшного, просто ВПФ надо уметь готовить, как впрочем и все остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 12:11 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpuНичего страшного, просто ВПФ надо уметь готовить, как впрочем и все остальное. Ну так у Вас есть все шансы порвать зал аплодисментами. Пока не один кашевар не приблизил результат "синтетического теста" к результатам тех же винформ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 12:23 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpu, а че на немецком?:( Код теста интереснее,чем результат. То, что замедление очевидно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 12:46 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
А почему максимальное видимые всего 46? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 15:05 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIgpuНичего страшного, просто ВПФ надо уметь готовить, как впрочем и все остальное. Ну так у Вас есть все шансы порвать зал аплодисментами. Пока не один кашевар не приблизил результат "синтетического теста" к результатам тех же винформ. Делать мне больше нечего. винформ не поддерживает ДиректХ. ВПФ поддерживает. Сделай сложную форму с кучей анимацией и кучей елементов на винформ и ВПФ. Результат будет другой. Собственно мне паралельно что там на винформах происходит,заслуживающие доверия сравнениния одного с другим можно найти в инете. Только надо внимательно на имена авторов смотреть, ибо немногие способны отделить теплое от мягкого. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 15:50 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
АбсолютА почему максимальное видимые всего 46? Имеено столько присутствует как махимум для конкретной формы которую препарировали для тестов ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 15:52 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
netivangpu, а че на немецком?:( Бывший МС Regional Director по Германии делал. netivanКод теста интереснее,чем результат. То, что замедление очевидно :) Не могу, коммерческая тайна и стоило все исследование несколько десяток тысяч евров. Но информация к размышлению лаптоп1 : DELL Notebook Precision M4500, i7, Nvidia Quadro FX 880 лаптоп2 : DELL Notebook Precision M6500, i7 (2.5…3.6 GHz), 16 GB RAM, SSD, Nvidia Quadro 5010M время рендеринга ТестАпп со стилями лаптоп1: 186 ms ТестАпп без стилей лаптоп1: 34 ms ТестАпп со стилями лаптоп2: 63 ms ТестАпп без стилей лаптоп2: мах. 32 ms ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 16:02 |
|
WPF - Performance
|
|||
---|---|---|---|
#18+
gpu, ясно, эх было бы интересно. НО справедливости ради 32 и 183 мс вряд ли заметит пользователь приложения... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 16:16 |
|
|
start [/forum/topic.php?fid=21&fpage=26&tid=1441256]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 161ms |
0 / 0 |