2010-01-27 8 views
9

Я пробовал простой тест «Silverlight 2.0 animation test» на http://bubblemark.com, на удивление Moonlight предоставил только 26 кадров в секунду в Linux. Windows/Silverlight 3 дал мне 192 кадра в секунду на одном и том же компьютере. Почему Moonlight намного медленнее Silverlight?Moonlight 2 vs Silverlight 3: огромный разрыв производительности

Этот разрыв производительности очень важен, если вы планируете разрабатывать высокопроизводительные приложения с несколькими платформами в Silverlight, поскольку текущая скорость Moonlight может быть ограничивающим фактором.

Пожалуйста, не отвечайте, если единственное, что вы должны сказать, это тривиальность, такая как «лунный свет - это повторная реализация, он должен быть медленнее» или «он отстает от официальной версии».

Меня интересует какой-то аутсорсивный ответ, особенно от знакомого с кодом и текущего состояния Moonlight.

Спасибо!

+0

Было ли ваше сравнение основано на собственном (не виртуализированном) оборудовании? – JasonTrue

+0

Да. Двойная загрузка в Windows Xp и Ubuntu 9.10 с использованием последних проприетарных графических драйверов на обеих системах. – monofan

+0

Я подозреваю, что Джастин прав, это будет аппаратное ускорение, однако, поскольку вы ищете «авторский» ответ, вам, возможно, стоит подумать о том, чтобы задать вопрос на форуме лунного света здесь: - http://go-mono.com/forums/ вот где разработчики лунного света будут болтаться. – AnthonyWJones

ответ

4

Я предполагаю, что Silverlight 3 использует аппаратное ускорение.

Moonlight 2 нет.

+0

Тем не менее. Он работает над ™ – skolima

20

Было несколько попыток оптимизации, которые вошли после выпуска 2.0, что должно немного улучшить ситуацию. Однако общий ответ заключается в том, что Moonlight в настоящее время не использует преимущества аппаратного ускорения, как это делает Silverlight в Windows.

Часть из этого заключается в том, что графические драйверы в Linux не оптимизированы для конкретных кодовых путей, используемых Cairo - низкоуровневой графической библиотекой, используемой Moonlight.

Однако, в оправдание, мы привлекли Дэвида Ревемана (известного создателя XGL/Compiz) для работы с нами по оптимизации Moonlight, а также для реализации эффектов шейдера Silverlight 3.0 для нас. Он будет изучать возможность использования Moonlight OpenGL для более быстрого рендеринга.

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

Надеюсь, что ответит на ваш вопрос. Если у вас есть еще вопросы, не стесняйтесь спрашивать нас на IRC в #moonlight на irc.gnome.org

+0

Вы, сэр, мой герой, я никогда не ожидал получить такой отличный ответ :) – monofan

1

Ответ от jstedfast, я подтвердил, что в предварительном просмотре Moonlight 4 (3.99.0.3), похоже, выпуск с проверкой экрана/аппаратным ускорением. Простое назначение подсказки на главный экран замедляет интерфейс до такой степени, что он неприменим в Moonlight, но отлично работает в Silverlight под тем же оборудованием. Однако неграфические операции имеют сравнимое время выполнения.

+0

«Неграфические» операции находятся поверх кода Mono, не так ли? –

+0

Может подтвердить - Moonlight 3.99 по-прежнему непригоден в режиме FullScreen, смотря видео (например, http://news.sky.com) - Время полностью вырезать Linux ...? – Chris