我在http://bubblemark.com上尝试了简单的测试“Silverlight2.0动画测试”,令人惊讶的是,Moonlight在Linux上只提供了26fps。在完全相同的机器上,Windows/Silverlight3给了我192帧/秒。为什么Moonlight比Silverlight慢这么多?
如果你计划在Silverlight中开发高fps的多平台应用程序,这种性能差距真的很重要,因为Moonlight当前的速度可能是一个限制因素。
如果你要说的只是一些琐碎的事情,比如"moonlight是重新实现的,它一定会慢一些“,或者”它落后于官方版本“,请不要回答。
我感兴趣的是一些作者的答案,特别是来自熟悉Moonlight的代码和当前状态的人。
谢谢!
发布于 2010-01-28 07:40:00
部分原因是Linux上的图形驱动程序没有针对Cairo使用的特定代码路径进行优化,Cairo是Moonlight使用的低级图形库。
他将考虑让Moonlight利用OpenGL进行更快的渲染。
我认为我们也有一些bug需要解决,这些bug会导致屏幕上比绝对必要的区域更大的区域无效(并因此重新绘制)。这是导致渲染速度大大减慢的另一个方面。
希望这回答了你的问题。如果您有更多的问题,请随时在#moonlight on irc.gnome.org中的IRC上向我们提问。
发布于 2010-01-28 04:43:47
我的猜测是Silverlight3正在利用硬件加速。
“月光2”可不是。
发布于 2011-08-05 05:12:45
根据jstedfast的回应,我已经确认在Moonlight4预览版(3.99.0.3)中,屏幕验证/硬件加速似乎存在问题。简单地给主屏幕分配一个工具提示会使界面变慢,以至于它在Moonlight中无法使用,但在Silverlight中在相同的硬件下工作得很好。但是,非图形操作的执行时间与之相当。
https://stackoverflow.com/questions/2150087
复制相似问题