Gnome 3.34 виправив різні помилки продуктивності, що впливали на Ubuntu 19.04

гном3.34

Кілька днів тому це було зроблено допис на форумі Ubuntu, який вінРозробники Canonical відзначають, що середовище робочого столу "Оболонка гнома" у версії Ubuntu 19.04, який базується на Gnome 3.32, це було помітно повільніше, ніж в інших робочих середовищах.

Спочатку передбачалося, що причиною було використання JavaScript, але виявилося, що JavaScript складав лише десять відсотків коду в поєднанні оболонки Gnome разом із менеджером вікон Mutter, і що це насправді не відповідало за спостережувану повільність.

Наступним припущенням було те, що програмне забезпечення перевантажувало центральний процесор або відеокарту. Але вимірювання показали, що це не так. Натомість з’ясувалося, що процесори були змушені сидіти без діла надто довго.

Тут важливо відзначити, що більша частина вихідного коду знаходиться в проекті Mutter, а не в оболонці Gnome. Отже, загалом лише близько 10% оболонки Gnome написано на JavaScript, якщо врахувати Муттера, а близько 90% написано мовою C.

Таким чином, розробники змогли зосередити свої дослідження на термінах, в статті згадується як "реальний час". Оскільки Gnome і Mutter обробляють цикл подій Ковзайте по одній нитці, вони схильні до затримок.

Будь-яка довша затримка може спричинити пропуск одного з кадрів які складають зображення на моніторі. Це виявляється в помітній затримці для користувача на моніторі.

Вимірюючи різні лаги, розробники виявили не менше півдюжини помилок Gnome, виправлених у Gnome 3.34.

Перша помилка призвела до пропуску кадру, оскільки після затримки програмування кадру на кілька мілісекунд час неправильної обробки кадру було розраховано.

Але виправлення цієї помилки, яка траплялася не завжди, робило презентацію набагато плавнішою.

По-друге, лРозробники виявили, що майже всі кадри були затримані на X.org оскільки розрахунок таблиці був встановлений занадто рано. При частоті кадрів 60 Гц екран затримувався на 16 мс.

У цьому випадку на Wayland це не впливає. Ще одна помилка стосується лише Вейленда. Проблема полягала в тому, що в Mutter швидкість відображення вказівника миші була встановлена ​​на 60 Гц. Це могло спричинити проблеми до 100% використання центрального процесора, якщо швидкість оновлення була іншою.

також Маттер мав ще одну проблему, яка на сьогодні вирішена лише частково. В результаті всі вхідні події були затримані до наступного кадру, тобто до 16 мс при 60 Гц.

Ще одна затримка була викликана виправленнями власних драйверів Nvidia на X.org, які зараз більше не потрібні.

І ще одна проблема також була виділена, визначає, що впливає на вказівник миші, в якому здійснювалися дзвінки OpenGL, це надзвичайно впливає і викликає додаткові очікування через необхідну синхронізацію між ЦП і графічним процесором.

В результаті, Gnome 3.34 значно швидший. Ya відомі принаймні дві інші проблеми, які ще не вирішені.

  1. При використанні декількох моніторів збій у серверній частині Wayland спричиняє значні затримки. Це слід виправити на думку розробників на Gnome 3.36, а отже, і на Ubuntu 20.04.
  2. Друга проблема полягає в тому, що ще не всі затримки в Mutter вирішені. Завершується стаття порадами щодо помилок, яких слід уникати під час усунення несправностей, та перспективою щодо подальших дій.

Оптимізація Gnome повинен бути для Ubuntu 20. 04 у ряді вдосконалень На чому їм слід зосередитись? на сучасному та швидкому обладнанні. Інші проблеми, що стосуються старих і повільних комп’ютерів, потребують вирішення та вирішення в Ubuntu 20.10.

Якщо ви хочете дізнатись більше про публікацію, Ви можете перевірити наступне посилання. 


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.