Здравствуйте, notacat, Вы писали:
S>>Чего они хотят добиться своими наглядными пособиями для холивара — N>я так поняла, что это просто способ оказать моральное давление на MS
Так не дети же,
Scott Barnes
Former Microsoft Rich Platforms Product Manager
Founder of FIXWPF.org
Вы читали, что проект создан экс менджером программы, занимавшейся Wpf. Сложно сказать, что это на данной стадии. Но сам факт того, что чем больше разговоров о дизайн патернах и юнит тестинге, тем хреновее качество продукта, отрицать сложно. Думаю, андрерстафинг здесь непричем.
Посмотрите на XamlWriter/XamlReader сколько они его мучают и вышло ли из этого что то путное? Или прокачка качества шрифтов за счет сервиса, да много чего.
DMS>Вы читали, что проект создан экс менджером программы, занимавшейся Wpf. Сложно сказать, что это на данной стадии. Но сам факт того, что чем больше разговоров о дизайн патернах и юнит тестинге, тем хреновее качество продукта, отрицать сложно. Думаю, андрерстафинг здесь непричем.
может ему за WPF обидно.
Снаружи можно только гадать. Мне лично кажется, что действительно WPF команду задвинули, и со стороны MS никаких движений, и со стороны юзеров большой активности не видно. Т.е. поначалу в коннекте и разных форумах поругались, а потом все на тормозах сползло
Есть такой чувак, майк давей я его блог иногда почитываю — он пишет, что исходя из факт создания сайта стоит фокусироваться на смежных технологиях, тип сервелата и 5го хтмла, интересный вывод huh? Думаете, степень развития сервелата (фичи, общая глючность типа должно, но не работает, утечки памаяти) выше чем у WPF?
DMS>Есть такой чувак, майк давей я его блог иногда почитываю — он пишет, что исходя из факт создания сайта стоит фокусироваться на смежных технологиях, тип сервелата и 5го хтмла, интересный вывод huh?
это у него цитата с FixWpf.
DMS>Думаете, степень развития сервелата (фичи, общая глючность типа должно, но не работает, утечки памаяти) выше чем у WPF?
я подробно не слежу, чисто что мимо пролетает — над Сильверлайтом MS работает, без конца какие-то письма шлют и версии фиксов, спрашивают, чего еще хочется для следующих версии и т.д..
Степень развития примерно такая же, а может быть действительно уже выше.
И общая глючность — это по сравнению с чем? Вот берешь параллельные вещи в WPF и Сильверлайте — очень часто работают по-разному, но наверняка не скажешь, какое поведение правильней.
Судя по нашим контролам — сильверлайт в народе популярней, и покупают больше, и в форумы саппорта больше пишут. Насколько я вижу, у конкурентов то же самое. А раз уже бизнес приложения начали на сильверлайте делать.. Видимо это глобальный тренд
Наверное у MS должна быть статистика на этот счет, интересно было бы посмотреть.
я недавно делала очередной рефакторинг и выяснила, что если правильно готовить, то производительность сильверлайта уже не хуже, чем в WPF, а местами даже лучше.
А по функциональности для моих контролов в Сильверлайте не хватает буквально нескольких вещей, типа полноценного drag&drop'а. Все отличия в xaml'е, байндингах и т.п. роли не играют — практически все можно реализовать на обоих платформах.
Re[7]: зыЖ
От:
Аноним
Дата:
24.02.11 15:57
Оценка:
Здравствуйте, notacat, Вы писали:
N>я недавно делала очередной рефакторинг и выяснила, что если правильно готовить, то производительность сильверлайта уже не хуже, чем в WPF, а местами даже лучше.
ну не знаю, не знаю. специально тестов не делал, но наблюдения показавают что сильверлайт таки тормознее во многих случаях
в WPF все-таки вся графика аппаратно ускоренная, а в сильверлайте самая простейшая анимация, если она связна с отривкой большего числа контролов — сразу тормозит. Например когда делается транзишион с одной фомочки на другую на весь экран. В wpf аналогичный эффект может отрабатываться плавно и красиво, а в сильверлайте рывками
N>А по функциональности для моих контролов в Сильверлайте не хватает буквально нескольких вещей, типа полноценного drag&drop'а. Все отличия в xaml'е, байндингах и т.п. роли не играют — практически все можно реализовать на обоих платформах.
с текстом беда — форматированный текст по сравнению с WPF -м совсем примитивный, и нету FrameworkContent элементов, поэтому тестовые объекты совсем примитивные, сделать полноценный текстовый редактор — та еще задачка. Ну или например нельзя вставить картинку из буфера обмена.
Здравствуйте, notacat, Вы писали:
N>я недавно делала очередной рефакторинг и выяснила, что если правильно готовить, то производительность сильверлайта уже не хуже, чем в WPF, а местами даже лучше.
вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext.
Хотя сказали что 5-ом силвере будет моментальная графика а не отложенная, жду не дождусь посмотреть и попробовать на скорость отрисовки 2D контента.
Здравствуйте, Holms, Вы писали:
H>Здравствуйте, notacat, Вы писали:
N>>я недавно делала очередной рефакторинг и выяснила, что если правильно готовить, то производительность сильверлайта уже не хуже, чем в WPF, а местами даже лучше. H>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext.
H>Хотя сказали что 5-ом силвере будет моментальная графика а не отложенная, жду не дождусь посмотреть и попробовать на скорость отрисовки 2D контента.
А еще он Freezable objects не поддерживает. Так что все эти прямоугольники приходится генерировать в UI Thread. Тормоза еще те
Здравствуйте, me2, Вы писали:
me2>А еще он Freezable objects не поддерживает. Так что все эти прямоугольники приходится генерировать в UI Thread. Тормоза еще те
во, во.
H>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext.
а зачем? Я конечно понимаю, что можно всяко извратиться, но по-моему, имеет смысл сравнивать конкретные приложения, а этюды в вакууме.
В конце концов, много ли вы лично используете приложений, которые занимаются рисованием кучи прямоугольников?
В сильверлайте разработчик не может так глубоко залезть, как в WPF, чтобы что-то руками сделать. Зато там многие наиболее часто употребимые вещи оптимизированы по сравнению с WPF.
У MS на эту тему хорошо Sima Ramchandani пишет: http://blogs.msdn.com/b/seema/archive/2009/05/28/tips-for-creating-massive-amounts-of-shapes.aspx . Возможно, найдете более быстрый способ для своих прямоугольников.
Вообще весь блог почитайте, кого производительность волнует. Кстати, если хорошие вопросы задавать — то она отвечает, и может на приоритеты MS в этом смысле повлиять.
Здравствуйте, Holms, Вы писали:
H>Здравствуйте, me2, Вы писали:
me2>>А еще он Freezable objects не поддерживает. Так что все эти прямоугольники приходится генерировать в UI Thread. Тормоза еще те H>во, во.
H>ждём 5 силвер и надеямся
До бетки уже осталось всего ничего (наверное, на MIX покажут). Сильно ждем. Если у них получится сделать кроссплатформенный (Windows, Windows Phone, MacOS) WPF — будет здорово. Если так посмотреть — все к этому идет.
Здравствуйте, notacat, Вы писали:
H>>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext. N>а зачем? Я конечно понимаю, что можно всяко извратиться, но по-моему, имеет смысл сравнивать конкретные приложения, а этюды в вакууме.
для биржевых чартов, и клиенту хоть убейся надо видеь > 1000 прямоугольников, обьяснять что это никчему бесполезно, иначе refund. N>У MS на эту тему хорошо Sima Ramchandani пишет: http://blogs.msdn.com/b/seema/archive/2009/05/28/tips-for-creating-massive-amounts-of-shapes.aspx . Возможно, найдете более быстрый способ для своих прямоугольников.
Я с ней лично говорил, Scott Guthrie познакомил, то что она говорит я использовал и так, всё-равно ничто не сравнится с DrawingContext в WPF.
И тот блог пост был создан после разговора со мной, второй и последний комент там мой, как видите ответа нету.
Здравствуйте, notacat, Вы писали:
H>>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext. N>а зачем? Я конечно понимаю, что можно всяко извратиться, но по-моему, имеет смысл сравнивать конкретные приложения, а этюды в вакууме.
H>для биржевых чартов, и клиенту хоть убейся надо видеь > 1000 прямоугольников, обьяснять что это никчему бесполезно, иначе refund.
это Candlesticks? Ну вот infragistics про свой чарт пишет, что они умеют много и быстро. Не смотрели коммерческие контролы на эту тему, что там с производительностью?
Re[10]: зыЖ
От:
Аноним
Дата:
25.02.11 09:44
Оценка:
use the bleedin' WritableBitmap — it's way more performant than 'material' visuals!
Здравствуйте, notacat, Вы писали:
N>это Candlesticks? Ну вот infragistics про свой чарт пишет, что они умеют много и быстро. Не смотрели коммерческие контролы на эту тему, что там с производительностью?
смотрел я на всё что есть, все чарты (мои конкуренты ) просто при достижении определиного количества обьектов начинают их групировать уменьшая их количетсво, что ни есть правильно для финансовых чартов.
Здравствуйте, Holms, Вы писали:
H>Здравствуйте, notacat, Вы писали:
H>>>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext. N>>а зачем? Я конечно понимаю, что можно всяко извратиться, но по-моему, имеет смысл сравнивать конкретные приложения, а этюды в вакууме. H>для биржевых чартов, и клиенту хоть убейся надо видеь > 1000 прямоугольников, обьяснять что это никчему бесполезно, иначе refund. N>>У MS на эту тему хорошо Sima Ramchandani пишет: http://blogs.msdn.com/b/seema/archive/2009/05/28/tips-for-creating-massive-amounts-of-shapes.aspx . Возможно, найдете более быстрый способ для своих прямоугольников. H>Я с ней лично говорил, Scott Guthrie познакомил, то что она говорит я использовал и так, всё-равно ничто не сравнится с DrawingContext в WPF. H>И тот блог пост был создан после разговора со мной, второй и последний комент там мой, как видите ответа нету.
Кстати, для равномерной (не Gradient) заливки можно использовать WriteableBitmapEx (http://writeablebitmapex.codeplex.com/). В частности, рисование в массив точек (можно в отличном от UI Thread) и перенос их на WriteableBitmap. Рисует очень быстро. Минусы — обычный цвет и отсутствие сглаживания(для прямоугольников не критично)
Здравствуйте, me2, Вы писали:
me2>Кстати, для равномерной (не Gradient) заливки можно использовать WriteableBitmapEx (http://writeablebitmapex.codeplex.com/). В частности, рисование в массив точек (можно в отличном от UI Thread) и перенос их на WriteableBitmap. Рисует очень быстро. Минусы — обычный цвет и отсутствие сглаживания(для прямоугольников не критично)
смотрел эту либу, как только добавять сглаживание начну тестить.
Здравствуйте, me2, Вы писали:
me2>Здравствуйте, Holms, Вы писали:
H>>Здравствуйте, notacat, Вы писали:
N>>>я недавно делала очередной рефакторинг и выяснила, что если правильно готовить, то производительность сильверлайта уже не хуже, чем в WPF, а местами даже лучше. H>>вы попробуйте вывести 1000 прямоугольников в силвере самым быстрым методом который знаете (я знаю только про Path -> GeometryGroup), а потом сравните скорость в WPF используя Canvas.OnRender -> DrawingContext.
H>>Хотя сказали что 5-ом силвере будет моментальная графика а не отложенная, жду не дождусь посмотреть и попробовать на скорость отрисовки 2D контента.
me2>А еще он Freezable objects не поддерживает. Так что все эти прямоугольники приходится генерировать в UI Thread. Тормоза еще те
Вот кстати UIThread — это проблема, я вот недавно решал простейшую задачку экспортнуть сильверлайтный рисунок в картинку, так практически всю работу приходиться делать в визуальном потоке, что при большом разрешении может несколько секунд занимать, при этом весь ГУЙ висит, даже прогресс не покажешь, и кнопку "Прервать" не сделаешь, так как аналога DoEvents() в сильверлайте тоже нету.
Здравствуйте, Holms, Вы писали:
H>смотрел я на всё что есть, все чарты (мои конкуренты ) просто при достижении определиного количества обьектов начинают их групировать уменьшая их количетсво, что ни есть правильно для финансовых чартов.
А над каким чартом ты сам работаешь? Нам иногда нужно быстро показывать сотни тысяч маркеров, на WinForms делали через AGG, ну а в WPF/SL, похоже, без WriteableBitmap не обойтись.
Здравствуйте, Andy77, Вы писали:
A>А над каким чартом ты сам работаешь? Нам иногда нужно быстро показывать сотни тысяч маркеров, на WinForms делали через AGG, ну а в WPF/SL, похоже, без WriteableBitmap не обойтись.
над этим. Текущая версия работает не очень, щас мы переделываем, вяроятно будем использовать WriteableBitmap, хотя нам нужно сглаживание линий а такого пока нету для него.