Производительность Silverlight

Мы рассматриваем возможность перехода с Adobe Flex на Silverlight, потому что Flex работает слишком медленно.

Меня интересует не графическая производительность, а вычислительная производительность и скорость выполнения кода.

Есть ли у кого-нибудь какие-нибудь анекдоты о своем опыте работы с Silverlight?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
7
0
4 841
7

Ответы 7

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

В отличие от Flex, Silverlight является многопоточным. Что при правильном использовании дает вам возможность писать высокопроизводительные приложения. Об этом есть много статей и сообщений в блогах. Вот образец ...

http://www.silverlighthack.com/post/2008/09/07/Silverlight-MultiThreading-with-a-Computational-Process-(Counting-Primes).aspx

  1. Silverlight допускает многопоточность, которая отлично подходит для обработки больших объемов данных (и, кроме того, заставляет пользовательский интерфейс казаться более быстрым / более отзывчивым для пользователя)
  2. Приложения Silverlight 2, написанные в> Net, должны работать так же быстро, как и приложения .Net. Они скомпилированы локально и запускаются «изначально» в управляемой среде, поэтому производительность должна быть такой же, как и у любого .Net-приложения, которое я считаю чертовски хорошим или, по крайней мере, ограниченным талантом программиста и не ограниченным набором инструментов.
  3. Меня очень беспокоит то, что вы работаете на клиенте, и у вас будет мало возможностей знать, какая скорость будет от клиента к клиенту. Минимальные требования для SL довольно скудные
  4. Кроме того, много-o-обработка обычно означает много-o-данных, поэтому вы захотите изучить использование изолированного хранилища (еще одна интересная функция SL) и сжатие любых вызовов WCF (используйте IIS7 и включите динамическое сжатие)

tobinharris опубликовал результаты теста по вычислению 1 000 000 простых чисел. Silverlight был явным победителем по производительности.

Не уверен, как flex работает на стороне клиента.

Что мне нравится в Silverlight, так это то, что настоящий язык ООП (C#), и все это скомпилировано, о вычислительной мощности Скотт Гатри опубликовал ссылку на шахматную игру (тот же алгоритм / подход к реализации, но javascript против silverlight), интересно, как ведет себя SL.

В приложении, которое я разработал, у меня не было проблем с производительностью (некоторые образцы управляют более чем 70 таблицами и отношениями), работая с LINQ to XML ... jejej, где я обнаружил, некоторые образцы борются с некоторыми ошибочными элементами управления на SL (комбо и сетка данных).

HTH Браулио

Чтение этого сайта и комментариев, относящихся к различным сообщениям, может вам помочь:

http://www.shinedraw.com/flash-vs-silverlight-gallery/

Реальность такова, что Silverlight в настоящее время имеет худший растеризатор с некоторыми проблемами (описанными на сайте, ссылка на который приведена выше). Но, как уже упоминалось здесь, вы получаете и другие преимущества, которые могут помочь процессу рендеринга, например многопоточность. Недавно мы столкнулись с множеством проблем с растеризацией входного текста, из-за которых наши презентации Flash (ради этого разговора, Flex - это Flash) зависали, на данный момент нет действительно хорошего решения для этого во Flash.

Я также предлагаю вам, чтобы здесь высказывали свое мнение в основном веб-программисты и системные программисты, а не программисты компьютерной графики.

Чтобы добавить к ответу Кэриден, Microsoft работает над многопоточной библиотекой, которая упрощает написание многопоточного кода (будет частью .Net 4.0). Эта библиотека, скорее всего, войдет в библиотеки Silverlight в будущей версии.

Было подтверждено, что Silverlight 3 по крайней мере имеет модель потоков на основе «Задачи», которую использует ParallelFx / .NET 4.

Richard Szalay 20.03.2009 12:38

Другие вопросы по теме