przystajnik

Ubuntu 19.10 ponownie ratuje GNOME

Pamiętacie ten moment, kiedy stwierdziliście, że nowe GNOME 3.xx jest może i fajne, ale żałośnie wolne? Niektórzy nawet wymieniali z tego powodu swoje CPU, karty graficzne. Ale to wszystko były działania pozorne. W nowoczesnym GNOME jego twórcom jakimś cudem wymyka istota środowiska graficznego. Bo wydajność i jakość animacji to pierwsze na co zwrócimy uwagę. Przycinki i inne spowolnienia w trakcie poważnej pracy doprowadzą nas już do szewskiej pasji. Okazuje się, że deweloperzy związani z Ubuntu i firmą Canonical zrobili na przestrzeni ostatnich miesięcy więcej dla wydajności GNOME 3.xx, niż zrobiono przez cały okres trwania tego projektu.

ubuntu

Ubuntu 19.10

Daniel Van Vugt, jeden z deweloperów Ubuntu, w brawurowym technicznie wpisie wyłożył kawę na ławę i opisał czym zajmował się jego zespół przed wydaniem Ubuntu 19.10. Zauważyli oni bowiem, że GNOME 3.32 z wersji 19.04 chociaż połatane, poprawione i z usuniętymi wyciekami pamięci, nadal jest w widocznym sposób wolniejsze od innych środowisk. Dlatego zaczęto analizować sytuacje, gdy GNOME Shell beztrosko przestawiał się w tryb „odpoczynku”, zamiast aktywnie dbać o render następnych klatek do zaktualizowania ekranu. To sytuacja odwrotna niż ta, która nas trapi na co dzień, kiedy CPU i GPU jest wykorzystywane ponad normę za sprawę „zakorkowanych” procesów i wydarzeń. W przypadku GNOME sytuacji nie pomaga fakt, że GNOME Shell i Mutter są jednowątkowe (potrafią korzystać z jednego rdzenia CPU). Wielu uważa, że głównym winowajcą jest Javascript użyte w tym środowisku. Ale stosunek kodu w C do Javascriptu to 90% do 10%.

Dzięki innowacyjnemu podejściu udało się zidentyfikować kilka momentów, które rzutowały na jakość funkcjonowania całego środowiska.

Po pierwsze zauważono, że jeżeli coś zakłóci wyliczanie i proces renderowania klatek, niektóre klatki zostają pominięte. W rezultacie użytkownik odczuwa to jako czkawkę na ekranie. Po naprawieniu tego błędu GNOME 3.34 trzyma fason oraz stałą liczbę klatek.

Kolejno, zauważono, że Xorg spóźnia się o jedną klatkę w porównaniu do sesji Waylanda. Stary, powolny Xorg? Niekoniecznie. Tutaj sprawcą było zbyt szybkie przystępowanie do renderowania kolejnej klatki. W wyniku system „nie wyrabiał” i całość była o jedną klatkę wolniejsza, niż powinna być. Po zwiększeniu odstępu czasowego pomiędzy renderowaniem klatek, wszystko wróciło do normy.

Okazało się, że Mutter (menedżer okien) jest bardzo sentymentalny i nadal niektóre jego elementy są odświeżane zgodnie z nomenklaturą sprzed dekady. Pamiętacie monitory kineskopowe? I tak np. Mutter limitował odświeżanie pozycji kursora do 60Hz. To powodowało, że inne komponenty systemu (np. sterowniki NVIDII) rozpędzając CPU do 100% w wyniku błędnej logiki zdarzeń.

gnome

GNOME i tapety

Wszystkie powyższe wyliczenia, limity dla klatek, błędne założenia i ramy czasy powodowały, że Mutter kolejkował zdarzenia z urządzeń wskazujących i reagował na nie z widocznym opóźnieniem. To już przeszłość.

W widoczny sposób usprawniono też działanie sesji pod sterownikami NVIDII. W trybie przeszłym możemy już mówić o niemożność zsynchronizowania działań GPU i CPU. Mutter wykonywał swoje obliczenia, GPU próbowało „zaczekać” i… wiadomo. Jednak po powyższych poprawkach menedżer okien zachowuje się bardziej przewidywalnie i jego współpraca z GPU zyskała na jakości. W GNOME 3.34 sesja pod sterownikami NVIDII jest o wiele szybsza i płynniejsza.

Oczywiście powyższe to nie tylko buńczuczne przechwałki. Daniel Van Vugt jest przekonany (i zapewne wielu użytkowników też), że Ubuntu 19.10 i GNOME 3.34 jest o wiele szybsze od swojego poprzednika. Jednak zidentyfikowano kilka innych błędów, nad usunięciem których nadal trwają prace.

Teraz czas na fundamentalne pytanie. Czy powrót Ubuntu do GNOME to najlepsze co mogło spotkać Ubuntu… czy może projekt GNOME?
 

Post navigation

20 comments for “Ubuntu 19.10 ponownie ratuje GNOME

  1. Arek
    26 października, 2019 at 22:33

    Co z tego jak w gnome wciąż brakuje podstawowych funkcji jak np. Zarządzanie planem zasilania? Albo konfiguracja zachowania po zamknięciu klapy laptopa czy zmiana tła na ekranie logowania (w Ubuntu jest takie fioletowe).
    Tak wiem że grzebiąc ręcznie w plikach konfiguracyjnych da się to spersonalizować ale wychodzę z założenia że system jest dla mnie a nie odwrotnie.
    Plasma pokazuje, że się da.

  2. Asmita
    27 października, 2019 at 8:19

    Owszem, da się. Nie o to jednak chodzi, że programiści tworzący środowisko GNOME nie potrafią tych elementów stworzyć. Chodzi o to, że nie chcą. To ich produkt i będzie wyglądał tak, jak sobie zażyczą. Jeżeli ich wymarzona, wypieszczona forma środowiska Ci odpowiada, proszę bardzo, możesz go używać. Jeżeli czegoś Ci brakuje, to idź sobie. Przepraszam, jest dla Ciebie droga zbawienia. Zaprogramuj to sam – może być nowy element do środowiska, może być wtyczka, możesz też otworzyć fork i zacząć rozwijać środowisko po swojemu. Tak więc – jeżeli potrafisz coś samodzielnie zaprogramować, to masz jakieś prawo głosu. Jeżeli nie – milcz i ciesz się, że ktoś Ci łaskawie pozwala pracować.

  3. Kamil Milewski
    27 października, 2019 at 21:58

    gnome to najlepszy benchmark

  4. Dobrecki
    27 października, 2019 at 22:36

    Tak więc – jeżeli potrafisz coś samodzielnie zaprogramować, to masz
    jakieś prawo głosu. Jeżeli nie – milcz i ciesz się, że ktoś Ci łaskawie
    pozwala pracować.

    A ty wiesz że odnoszę to samo wrażenie co do twórców Gnome3? Zrobili sobie Kółeczko Wzajemnej Adoracji i bardzo nie lubią kiedy użytkownicy próbują im przeszkadzać w tworzeniu sztuki dla sztuki, czyli dziwadełka zwanego Gnome3.

    Było to widać wyraźnie już przy przejściu z Gnome 2x na 3x, kiedy wykazali się arogancją na poziomie profesjonalnym.

    Luzik, za 10 albo 15 lat zajrzę do nich i zobaczę czy zmądrzeli?
    A na dziś mam bardzo stabilne XFCE, wypasioną Plasmę, obiecujący Cinnamon… ich twórcy jakoś nie mają podobnych problemów ze zrozumieniem potrzeb użytkowników swoich środowisk.

  5. Asmita
    27 października, 2019 at 22:47

    To nie jest tak, że tylko twórcy GNOME mają ten problem. Panowie od Plasmy też zrobili sobie rewolucję przy okazji QT5. Tylko, że w ich przypadku nie odbiło się to aż tak na stronie użytkowej ich środowiska. W ogóle odnoszę wrażenie, że ignorowanie nietechnicznych użytkowników to częste zjawisko wśród programistów zajmujących się rozwojem systemów linuksowych. My, programiści, nie potrzebujemy czegoś, to ty, drogi nietechniczny użyszkodniku, też nie potrzebujesz.

    Jednak to nie tak, że mnie to jakoś bardzo martwi. Pozwalam im żyć swoim życiem, a Linuksa używam, kiedy nadaje się do moich zamiarów lepiej niż Windows. Mam za to chwilę radości za każdym razem, gdy „wyznawcy” Linuksa pytają, dlaczego nie jest on królem na desktopach. Otóż nie jest, bo desktopy to już nie komputery specjalistów. a zwykłych ludzi. I to pod nich trzeba robić system, jeżeli chce się desktopy opanować.

  6. Asmita
    28 października, 2019 at 0:12

    Co do Plasmy, to się zgodzę. Niezależnie od zmian większych i mniejszych widać, że obecna postać środowiska to efekt ewolucji. I dobrze, nie ma aż tak wielkich niespodzianek.

    Tak, to byłby temat rzeka, do tego bez możliwości osiągnięcia jakiegokolwiek kompromisu 😀

  7. Dobrecki
    27 października, 2019 at 23:51

    Jest dużo słuszności w w tym co piszesz, ale chyba trochę przesadzasz?
    I owszem, KDE czyli dzisiejsza Plasma sprawiła użytkownikom kilka niespodzianek, ale generalnie widać tu pozytywną ewolucję, użyteczne modernizacje, rozwój. Przewidywalność.

    Natomiast Gnome przy przejściu z Gnome 2x na 3x zafundowała użytkownikom terapię szokową, wykluczającą użycie ich produktu ze środowisk roboczych.
    Kto mądry zaufa dziś Gnome i postawi powiedzmy 10 komputerów na tym środowisku w swojej firmie?

    Takie rzeczy powinny być tworzone i konsultowane z użytkownikami gdzieś na boku, przy okazji funkcjonowania normalnego, stabilnego i przewidywalnego środowiska roboczego. Użytkownik powinien mieć czas na oswojenie się z nowinką, na przekonanie się ile to jest warte w codziennej pracy, na rozwiązanie wynikłych z tego u niego problemów. Powinien mieć wybór a nie zostać postawiony przed faktem dokonanym – bierzesz ciemnoto co ci dajemy, albo wypieprzaj jeśli się nie podoba.
    A tak właśnie postąpiło Gnome z tego co pamiętam.
    Niczym nastolatek – zbawiciel, rewolucjonista.

    Podobną arogancją może bezkarnie popisywać się Microsoft, monopolista który mniej lub bardziej brudnymi sztuczkami uzależnił od siebie rynek i biura.
    Ale nie Gnome, dla którego jest kilka albo i kilkanaście przewidywalnych i sprawdzonych zamienników. No i użytkownicy Linuksów, w odróżnieniu od reszty populacji zwykle doskonale wiedzą czego wymagają od środowiska i kto tu do kogo powinien się dopasować.

    Co do Linuksów na desktopach … Może nie zalewajmy tego wątku tematem rzeką? 😉

  8. Asmita
    28 października, 2019 at 0:12

    Co do Plasmy, to się zgodzę. Niezależnie od zmian większych i mniejszych widać, że obecna postać środowiska to efekt ewolucji. I dobrze, nie ma aż tak wielkich niespodzianek.

    Tak, to byłby temat rzeka, do tego bez możliwości osiągnięcia jakiegokolwiek kompromisu 😀

  9. Marcin Adamski
    28 października, 2019 at 7:13

    Jeśli chodzi o KDE/Plasma, projekt Trinity Desktop nie powstał bez powodu: przez dość długi czas KDE4 było mniej używalne niż pierwsze wersje Gnome3.

  10. pavbaranov
    28 października, 2019 at 13:19

    Projekt Trinity powstał z tych samych powodów, co MATE. Osoby, które nie potrafiły się odnaleźć w KDE4, które w istocie było pewnego rodzaju rewolucją w świecie KDE postanowiły utrzymywać kod KDE 3.5.x. A i tak owa „rewolucja” między KDE 3.x a KDE4 była mniejsza niż pomiędzy GNOME 2 a 3.

  11. Marcin Adamski
    28 października, 2019 at 18:31

    Była równie poważna, chociaż z innego powodu. I poszła w innym kierunku. Dopiero KDE/Plasma 5 sprawiła, że KDE stało się ponownie używalne. Jeśli chodzi o GNOME3 i gnome-shell, to zmieniła się sama praca z pulpitem, jak dla mnie in plus, chociaż z pewnymi uproszczeniami jednak przegięli.
    W gnome-shell najtrudniej jest porzucić stare przyzwyczajenia…

  12. pavbaranov
    28 października, 2019 at 19:42

    Wiesz, używam KDE od czasów trójki. Jeśli ktoś mówi, że KDE 4 było nieużywalne – bredzi. Ot, zmiana, która musiała – z pewnych powodów – zostać wprowadzona. Fakt, szkoda, że po Qt3 nie zaistniało dopiero Qt5, bowiem Qt4 można traktować jako wersję przejściową.
    Nt. GNOME 3 nie będę się wypowiadać bo dla mnie na tym po prostu pracować się nie da.

  13. pavbaranov
    28 października, 2019 at 21:39

    Chyba wiem co mówię. Używałem go od bodaj 4.1 aż do końca. Jeśli się sypało, to w znakomitej większości przypadków było to wynikiem bądź błędów deweloperów, którzy nie wiedzieli jak to ogarnąć, albo użytkowników, którzy kompletnie nie wiedzieli jak to ogarnąć. Zresztą jak zwykle – zasadniczy problem (z dowolnym systemem, dowolnym DE, dowolną dystrybucją, jeśli nie polega na pieprzeniu sprawy przez deweloperów) leży po stronie użytkownika.

  14. Marcin Adamski
    28 października, 2019 at 22:48

    To Cię zaskoczę: używałem KDE jeszcze bez numerków, choć w końcówce swojego istnienia…
    2 i 3 tak, 4 było przerażająco niestabilne i zasobożerne (bardziej niż Beryl z KDE3), dopiero Plasma 5 jest środowiskiem na miarę KDE3…
    GNOME3, fakt trzeba zmienić sporo przyzwyczajeń, gołe (bez wtyczek) jest… no zbyt gołe…, potrzeba wtyczek…
    Jednak system wtyczek w gnome-shell bije na głowę Plasmoidy, tak ilością dostępnych jak i stabilnością
    …a za cierpliwość odwdzięcza się fenomenalną jak dla mnie ergonomią pracy, zwłaszcza jeśli pracuje się na laptopie za pomocą touchpada zamiast myszki

  15. Artanis
    28 października, 2019 at 20:56

    Chyba przespałeś KDE 4. Sypało się to niesamowicie. Dopiero w późniejszych odsłonach stało się jako-tako używalne (choć mnie odrzuca wyglądem i wolę Gnome), acz nawet próbując KDE Neon jakieś 1,5 roku temu, pierwsze wysypki napotkałem po 15 minutach pracy (i niewiele dłużej trwało moja styczność z tymże).

  16. pavbaranov
    29 października, 2019 at 8:30

    To i ja Cię zaskoczę, przyznając w jednym zakresie rację: tak, KDE4 miało zdecydowanie większy apetyt na zasoby komputera od wersji poprzednich. Niemniej jednak trudno – chyba – wymagać by DE w XXI w. nadal było robione na komputery z początku, czy połowy lat 90 ub.w. Jeśli chodzi o niestabilność – może jestem szczęściarzem, a może używałem jakiejś dystrybucji, która to lepiej poskładała – nie doświadczyłem.
    Co do GNOME 3 – no właśnie dla Ciebie jest ono fenomenalnie ergonomiczne, a dla mnie kompletnie nieergonomiczne. Zwłaszcza jeśli pracuje się na laptopie za pomocą touchpada zamiast myszki 😉
    Każdy ma jakieś swoje preferencje i fajnie, że w świecie DE nie jesteśmy zdani w linuksie wyłącznie na jedno rozwiązanie i każdy może sobie dobrać takie, które jemu odpowiada.

  17. pavbaranov
    29 października, 2019 at 8:30

    W czasach KDE 4 nie poprawiałem i nie kompilowałem sobie niczego. W początkowym okresie Plazmy – sporo. Obecnie mniej, ale jeśli z jakiejś przyczyny zachodzi taka potrzeba to i to robię. I guru nie jestem. Raczej – być może – szczęściarz.
    Pamiętajmy jeszcze o tym, że sporo, doprawdy sporo zależy od dystrybucji. Są takie, gdzie KDE jest na dokładkę, bo trzeba by było, ale ani odpowiedniej opieki to nie ma, ani nawet kompilowane w prawidłowy sposób nie jest. Działać – działa chyba wyłącznie siłą rozpędu.

  18. Marcin Adamski
    29 października, 2019 at 10:39

    No i to jest właśnie jeden z plusów linuksa: dostosowujesz desktop pod siebie, a nie siebie pod desktop.
    Nie powiem, dużo i długo używałem KDE, ale stale ciągnęło mnie do GNOME, poza tym kwestie licencyjne GTK są jasne, a Qt jest na podwójnej licencji, co przy aplikacjach komercyjnych ma spore znaczenie.

  19. Artanis
    29 października, 2019 at 7:52

    „Jeśli się sypało, to w znakomitej większości przypadków było to wynikiem
    bądź błędów deweloperów, którzy nie wiedzieli jak to ogarnąć, albo
    użytkowników, którzy kompletnie nie wiedzieli jak to ogarnąć.”

    Tak, oczywiście, wina użytkownika. 😀

    Skoro Twoim zdaniem KDE 4 było stabilne, to albo miałeś wielkie szczęście, albo faktycznie jesteś jakimś gosu, który najpierw sam sobie poprawia kod, a potem kompiluje własny build.

  20. MiloszI
    29 października, 2019 at 12:05

    Lubię Gnome3, ale przesiadłem się na totalny minimalizm. Konkretnie na DWM. Szybkie, zwinne, z tagami. Próbowałem kilku tego typu środowisk i DWM usiadł mi (póki co) najlepiej. KDE nigdy mi nie pasowało. I jest opasłe, jak Gnome.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »