9

http://bubblemark.comで簡単なテスト「Silverlight 2.0 アニメーション テスト」を試してみましたが、驚くべきことに Moonlight は Linux で 26 fps しか提供しませんでした。Windows/Silverlight 3 では、まったく同じマシンで 192 fps が得られました。Moonlight が Silverlight よりも遅いのはなぜですか?

Moonlight の現在の速度が制限要因になる可能性があるため、Silverlight で高 fps のマルチプラットフォーム アプリを開発する場合、このパフォーマンス ギャップは非常に重要です。

「moonlight は再実装なので、遅いに違いない」、「公式バージョンより遅れている」などの些細なことだけを言わなければならない場合は、回答しないでください。

特にムーンライトのコードと現在の状態に精通している人からの、ある種の信頼できる回答に興味があります。

ありがとう!

4

3 に答える 3

20

2.0 のリリース後に行われたいくつかの最適化の微調整により、状況が少し改善されるはずです。ただし、一般的な答えは、現在、Moonlight は Windows 上の Silverlight ほどハードウェア アクセラレーションを利用していないということです。

これの一部は、Linux のグラフィックス ドライバーが、Moonlight で使用される低レベルのグラフィックス ライブラリである Cairo で使用される特定のコード パスに対して最適化されていないことです。

ただし、言い訳はさておき、David Reveman (有名な XGL/Compiz 作成者) を招いて Moonlight の最適化と Silverlight 3.0 シェーダー効果の実装に協力してもらいました。彼は、Moonlight で OpenGL を利用してレンダリングを高速化することを検討しています。

また、絶対に必要なものよりも大きな画面領域が無効になる (したがって再描画される) 原因となるいくつかのバグを解決する必要があると思います。これは、レンダリングが大幅に遅くなるもう 1 つの領域です。

それがあなたの質問に答えることを願っています。さらに質問がある場合は、IRC (irc.gnome.org の #moonlight) でお気軽にお問い合わせください。

于 2010-01-27T23:39:59.753 に答える
4

私の推測では、Silverlight 3 はハードウェア アクセラレーションを利用していると思います。

Moonlight 2 はそうではありません。

于 2010-01-27T20:43:46.700 に答える
1

jstedfast の回答によると、Moonlight 4 プレビュー (3.99.0.3) で、画面の検証/ハードウェア アクセラレーションに問題があるように見えることを確認しました。ツール ヒントをメイン画面に割り当てるだけで、インターフェイスが遅くなり、Moonlight では使用できなくなりますが、Silverlight では同じハードウェアで問題なく動作します。ただし、非グラフィカル操作の実行時間は同等です。

于 2011-08-04T21:12:45.250 に答える