Gnome 3.34修復了影響Ubuntu 19.04的各種性能錯誤

地精3.34

幾天前完成了 Ubuntu論壇上的帖子,他規範的開發人員已經註意到,桌面環境 “侏儒殼” 在Ubuntu 19.04版中, 基於Gnome 3.32, 它明顯比其他桌面環境慢。

最初假設原因是使用JavaScript, 但是事實證明,在Gnome Shell和Mutter窗口管理器的組合中,JavaScript僅佔代碼的百分之十,而這實際上並不能解決所觀察到的緩慢問題。

下一個假設是該軟件使CPU​​或圖形卡超載。 但是測量表明事實並非如此。 相反,出現的是處理器被迫閒置了太長時間。

這裡要注意的重要一點是,大多數源代碼都在Mutter項目中,而不是Gnome Shell中。 因此,總體上,當您考慮使用Mutter時,只有大約10%的Gnome Shell是用JavaScript編寫的,而大約90%是用C編寫的。

因此, 開發人員能夠將他們的研究重點放在時間上, 在本文中稱為“實時”。 因為Gnome和Mutter處理了一個事件循環 將Glib放在單個線程中, 他們很容易拖延。

更長的延遲可能會導致其中一幀被跳過 組成顯示器上的圖像。 對於監視器上的用戶,這表現為明顯的滯後。

通過測量各種延遲,開發人員發現不少於Gnome 3.34中修復的Gnome錯誤。

第一個錯誤導致跳幀,因為在幾毫秒的幀編程延遲後,錯誤地計算了必須重建幀的時間。

但是糾正此錯誤(並非總是會發生)使演示更加流暢。

第二,我開發人員發現X.org上的幾乎所有幀都被延遲了 因為表計算設置得太早。 在60 Hz的幀頻下,顯示會滯後16 ms。

在這種情況下,Wayland不會受到影響。 另一個錯誤僅涉及Wayland。 問題是在Mutter中,將鼠標指針的顯示速度設置為60Hz,如果刷新率不同,這可能會導致CPU使用率高達100%的問題。

穆特還有另一個問題,到目前為止只有部分解決了。 結果,所有輸入事件都延遲到下一幀,即在16 Hz時最多延遲60 ms。

另一個延遲是由於X.org上Nvidia專有驅動程序的修復引起的,現在不再需要這些修復程序。

另一個問題也突出了,它確定了影響鼠標指針的因素,在其中進行了OpenGL調用,由於CPU和GPU之間的必要同步,這會造成極大影響並導致額外的等待時間。

結果, Gnome 3.34的速度明顯更快。 Ya 至少還有兩個尚未解決的已知問題。

  1. 當使用多台顯示器時,Wayland後端的崩潰會導致嚴重的延遲。 這應該根據Gnome 3.36以及Ubuntu 20.04上的開發人員進行修復。
  2. 第二個問題是尚未解決Mutter的所有延遲問題。 本文以解決問題時應避免的錯誤提示以及下一步的思路作為結束。

最佳化 Gnome應該適用於Ubuntu20。04進行了許多改進 他們應該關注什麼? 在現代,快速的硬件上。 在Ubuntu 20.10中需要解決並解決影響較早和較慢計算機的其餘問題。

如果您想進一步了解該出版物, 您可以檢查以下鏈接。 


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。