2010-01-27 12 views
9

He intentado con la prueba simple "Silverlight 2.0 animation test" en http://bubblemark.com, sorprendentemente Moonlight solo brindó 26 fps en Linux. Windows/Silverlight 3 me dio 192 fps en la misma máquina. ¿Por qué Moonlight es mucho más lento que Silverlight?Moonlight 2 vs Silverlight 3: gran brecha de rendimiento

Esta brecha de rendimiento es muy importante si está planeando desarrollar aplicaciones de alta velocidad y multiplataforma en Silverlight, ya que la velocidad actual de Moonlight puede ser un factor limitante.

No responda si las únicas cosas que tiene que decir son trivialidades como "la luz de la luna es una reimplantación, debe ser más lenta" o "va a la zaga de la versión oficial".

Estoy interesado en algún tipo de respuesta automática, especialmente de alguien familiarizado con el código y el estado actual de Moonlight.

Gracias!

+0

¿Su comparación se basó en hardware nativo (no virtualizado)? – JasonTrue

+0

Sí. Arranque dual a Windows Xp y Ubuntu 9.10 con los controladores de gráficos propietarios más recientes en ambos sistemas. – monofan

+0

Sospecho que Justin está en lo cierto, será una cosa de aceleración de hardware, sin embargo, dado que está buscando una respuesta "autorrectante", quizás debería considerar preguntar en el foro de la luz de la luna aquí: - http://go-mono.com/forums/ ahí es donde los desarrolladores de moonlight estarán pasando el rato. – AnthonyWJones

Respuesta

4

Supongo que Silverlight 3 está utilizando Hardware Acceleration.

Moonlight 2 no lo es.

+0

Sin embargo. Está siendo trabajado en ™ – skolima

20

Se han realizado algunos ajustes de optimización después de la versión 2.0, lo que debería mejorar un poco las cosas. La respuesta general, sin embargo, es que Moonlight actualmente no aprovecha la aceleración de hardware tanto como Silverlight en Windows.

Parte de esto es que los controladores de gráficos en Linux no están optimizados para las rutas de código particulares utilizadas por Cairo, la biblioteca de gráficos de bajo nivel utilizada por Moonlight.

Sin embargo, dejando las excusas, hemos reunido a David Reveman (el famoso creador de XGL/Compiz) para trabajar con nosotros en la optimización de Moonlight y la implementación de los efectos de sombreado de Silverlight 3.0 para nosotros. Él buscará que Moonlight aproveche OpenGL para una renderización más rápida.

Creo que también tenemos algunos errores que hacen que un área más grande de la pantalla se invalide (y por lo tanto se vuelva a dibujar) de lo que es absolutamente necesario. Esta es otra área que causa importantes ralentizaciones en la renderización.

Espero que responda a su pregunta. Si tiene más preguntas, no dude en consultarnos en el IRC en #moonlight en irc.gnome.org

+0

Usted señor es mi héroe, nunca esperé obtener una respuesta tan buena :) – monofan

1

Según la respuesta de jstedfast, he confirmado que en la vista previa de Moonlight 4 (3.99.0.3), parece que hay una problema con la validación de pantalla/aceleración de hardware. Simplemente asignando una punta de herramienta a la pantalla principal ralentiza la interfaz hasta el punto de que no se puede usar en Moonlight, pero funciona bien en Silverlight bajo el mismo hardware. Sin embargo, las operaciones no gráficas tienen tiempos de ejecución comparables.

+0

Las operaciones "no gráficas" están en la parte superior del código Mono, ¿verdad? –

+0

Se puede confirmar: Moonlight 3.99 aún no se puede usar en el modo de visualización FullScreen (por ejemplo, http://news.sky.com) - ¿Es hora de deshacerse completamente de Linux ...? – Chris

Cuestiones relacionadas