Gnome 3.34 naprawił różne błędy wydajności wpływające na Ubuntu 19.04

gnom3.34

Kilka dni temu było to zrobione post na forum Ubuntu, który onProgramiści kanoniczni zauważyli, że środowisko pulpitu „Skorupa gnoma” w wersji Ubuntu 19.04, który jest oparty na Gnome 3.32, był zauważalnie wolniejszy niż inne środowiska graficzne.

Początkowo zakładano, że powodem jest użycie JavaScript, ale okazało się, że JavaScript stanowił tylko dziesięć procent kodu w połączeniu Gnome Shell z menadżerem okien Mutter i nie było to tak naprawdę odpowiedzialne za obserwowaną powolność.

Następnym założeniem było to, że oprogramowanie przeciążało procesor lub kartę graficzną. Ale pomiary wykazały, że tak nie jest. Zamiast tego okazało się, że procesory musiały zbyt długo siedzieć bezczynnie.

Ważną rzeczą do zapamiętania jest to, że większość kodu źródłowego znajduje się w projekcie Mutter, a nie w Gnome Shell. Ogólnie rzecz biorąc, tylko około 10% powłoki Gnome jest napisane w JavaScript, jeśli wziąć pod uwagę Mutter, a około 90% jest napisane w C.

Dlatego programiści mogli skupić swoje badania na synchronizacji, określane w artykule jako „czas rzeczywisty”. Ponieważ Gnome i Mutter przetwarzają pętlę zdarzeń Glib każdy w jednym wątku, są podatni na opóźnienia.

Dłuższe opóźnienie może spowodować pominięcie jednej z ramek które składają się na obraz na monitorze. Objawia się to zauważalnym opóźnieniem dla użytkownika na monitorze.

Mierząc różne opóźnienia, programiści znaleźli nie mniej niż pół tuzina błędów Gnome naprawionych w Gnome 3.34.

Pierwszy błąd doprowadził do pominięcia ramki, ponieważ po opóźnieniu szeregowania ramek o kilka milisekund, czas, w którym ramka musiałaby zostać odbudowana, został niepoprawnie obliczony.

Ale poprawienie tego błędu, który nie zawsze występował, sprawiło, że prezentacja była dużo płynniejsza.

Po drugie, lTwórcy stwierdzili, że prawie wszystkie klatki były opóźnione na X.org ponieważ obliczenia w tabeli zostały ustawione zbyt wcześnie. Przy częstotliwości odświeżania 60 Hz ekran był opóźniony o 16 ms.

W tym przypadku nie ma to wpływu na Wayland. Kolejny błąd dotyczy tylko Waylanda. Problem polegał na tym, że w Mutterze szybkość wyświetlania wskaźnika myszy była ustawiona na 60 Hz, co mogło powodować problemy z obciążeniem procesora nawet do 100%, jeśli częstotliwość odświeżania była inna.

również Mutter miał inny problem, który jak dotąd został tylko częściowo rozwiązany. W rezultacie wszystkie zdarzenia wejściowe zostały opóźnione do następnej klatki, czyli do 16 ms przy 60 Hz.

Kolejne opóźnienie było spowodowane poprawkami zastrzeżonych sterowników Nvidii na X.org, które nie są już potrzebne.

Podkreślono również inny problem, określa, co wpływa na wskaźnik myszy, w którym były wykonywane wywołania OpenGL, ma to ogromny wpływ i powoduje dodatkowy czas oczekiwania ze względu na niezbędną synchronizację między CPU a GPU.

W rezultacie Gnome 3.34 jest znacznie szybszy. Ya znane są co najmniej dwa inne problemy, które nie zostały jeszcze rozwiązane.

  1. Podczas korzystania z wielu monitorów awarie zaplecza Wayland powodują znaczne opóźnienia. Powinno to zostać naprawione według twórców Gnome 3.36, a tym samym Ubuntu 20.04.
  2. Drugi problem polega na tym, że nie wszystkie opóźnienia w Mutter zostały jeszcze rozwiązane. Artykuł kończy się wskazówkami dotyczącymi błędów, których należy unikać podczas rozwiązywania problemów, oraz perspektywą dalszego postępowania.

Optymalizacja Gnome powinien być dla Ubuntu 20. 04 w szeregu ulepszeń Na czym powinni się skupić? na nowoczesnym i szybkim sprzęcie. Pozostałe problemy dotyczące starszych i wolniejszych komputerów należy rozwiązać i rozwiązać w Ubuntu 20.10.

Jeśli chcesz dowiedzieć się więcej o publikacji, możesz sprawdzić poniższy link. 


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.