X.Orgがマルチスレッドされないのはなぜですか? [閉鎖]

X.Orgがマルチスレッドされないのはなぜですか? [閉鎖]

私はここで(1)X.Orgがマルチスレッドではないことを読みました。引用:

グラフィカル集約的なタスクを実行する特定のアプリケーションは、デスクトップを簡単にフリーズすることができます(簡単で簡単に再現可能な例:WineでAdobe Photoshop 7.0を実行する、十分に大きな画像を開く、複雑なフィルタを適用する - Photoshopがタスクを完了するまでグラフィックセッションが完全に消えるを参照してください。) 。

この問題は私のコンピュータで頻繁に発生します。 Windowsでは(比較して申し訳ありません)、これは頻繁に発生しません。 GUIは、集中的な計算中でも反応を維持します。

X.Orgがこのように設計されたのはなぜですか?

将来、この問題を解決する予定はありますか(おそらくWayland、Mirなどの代替手段を使用して)。

この問題を少なくとも部分的に解決する代替Linuxデスクトップはありますか?

  1. http://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.current.html

答え1

関連質問:「X.orgソフトウェアの一部はマルチスレッドで構成されていますか?」

答えの1つを引用すると、次のようになります。

ES Raymondの本では、著者は次のように引用します。

Xサーバーは毎秒数百万のタスクを実行できますが、ポーリング/選択ループは使用しません。マルチスレッド実装のためのさまざまな努力は良い結果を得ませんでした。グラフィックサーバーのようにパフォーマンスに敏感なサーバーの場合、ロックとロック解除のコストが高すぎます。 ——ジムゲティス

私が理解したように、クライアントはマルチスレッドであり、実装によって異なります。クライアントはマルチスレッドが可能なウェイランドにも同様に適用されます。01.org:

クライアントライブラリはツールキットイベントループによく統合され、シングルスレッド環境とマルチスレッド環境の両方で動作するように設計されています。

関連情報