Лунный свет 2 против Silverlight 3: огромный разрыв производительности - PullRequest
9 голосов
/ 27 января 2010

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

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

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

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

Спасибо!

Ответы [ 3 ]

20 голосов
/ 28 января 2010

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

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

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

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

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

4 голосов
/ 27 января 2010

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

Лунный свет 2 - нет.

1 голос
/ 05 августа 2011

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

...