Швидкодія стільничних ефектів

From KDE Wiki Sandbox
This page is a translated version of the page Desktop Effects Performance and the translation is 100% complete.

Швидкодія стільничних ефектів

Швидкодія стільничних ефектів у робочих просторах Плазми KDE здебільшого визначається взаємодією графічного обладнання (графічного процесора), його драйвера і підпрограми композитного відтворення (Kwin). Підпрограма композитного відтворення намагається вибрати найкращі з доступних параметрів для вашого графічного процесора опитуванням драйвера щодо можливостей обладнання. Іноді ваша допомога KWin у визначенні реальних можливостей обладнання може покращити швидкодію.

Вибір належного драйвера

Визначення назви драйвера, який використовується

Важливо, щоб у системі було встановлено і використано належний драйвер. Якщо драйвер не буде встановлено або буде встановлено не той драйвер, стільничні ефекти буде повернуто у режим без апаратного прискорення (XRender).

Дані щодо використано драйвера можна отримати за допомогою Центру інформації. Виберіть пункт Графічна інформація -> OpenGL і вивчіть дані, показані відповідним модулем. Відповідні дані буде показано у розділі Драйвер, зокрема пункти Постачальник, Відтворювач і Версія OpenGL/ES. Дані буде надано драйвером, можливо вам буде важко у них розібратися.

Дані щодо OpenGL у KInfoCenter
Якщо для пункту відтворювача вказано «Програмне відтворення», драйвер не встановлено. Якщо використано інший драйвер, будь ласка, перевірте, ви використано належний драйвер.

Доступні драйвери

AMD/ATI

Для обладнання AMD/ATI створено два драйвера: закритий fglrx або Catalyst і відкриті драйвери Mesa (також відомі як radeon, r300, r600). У разі використання драйвера fglrx доступні не всі функціональні можливості, а швидкодія загалом краща за швидкодію драйвера Mesa. Втім, рекомендується використання драйверів Mesa для обробки стільничних ефектів. Якщо у полі версії OpenGL/ES вказано «Mesa», ви користуєтеся вільними драйверами, — нічого робити не треба.

Існує дві версії драйверів Mesa: старіша і новіша. Вам потрібна новіша версія, та версія, для якої у рядку відтворювача буде слово «Gallium».

Intel

Обладнанням Intel використовуються вільні драйвери Mesa. Альтернативних драйверів не існує.

NVIDIA

Для обладнання NVIDIA створено два драйвери: закритий драйвер NVIDIA і відкриті драйвери Mesa (він називається nouveau). Розвиток вільних драйверів все ще триває, ними можна скористатися не у всіх дистрибутивах і не для всіх карток. Загалом, рекомендується використовувати закриті драйвери. Ви користуєтеся закритими драйверами, якщо у рядку Версія OpenGL/ES вказано NVIDIA.

Встановлення драйвера

Спосіб встановлення драйвера залежить від вашого дистрибутива. Будь ласка, зверніться до документації, щоб дізнатися більше.

Версія OpenGL

У KWin передбачено підтримку OpenGL 1.x і OpenGL 2.x. Типово у KWin використовуються можливості OpenGL 2, якщо вони доступні. Використання OpenGL 2 надає змогу скористатися більшою кількістю ефектів, але накладає обмеження на швидкодію обладнання. Важливо зауважити, що навіть якщо у вашому драйвері передбачено лише підтримку OpenGL 1.4, KWin може використовувати можливості OpenGL 2, доступ до яких здійснюється за допомогою розширень драйвера.

Визначити версію OpenGL, роботу якої забезпечує ваш драйвер, можна за допомогою рядка «Версія OpenGL/ES» вікна інформації Центру інформації, як це описано вище. Версія визначається першими двома або трьома цифрами, наприклад 2.1.

Визначити, яку версію OpenGL використовує KWin, 1 або 2, непросто, оскільки сама програма визначає версію під час роботи. Найкращим з доступних тестів є використання ефекту «Інверсія», увімкнути який можна за допомогою вкладки Системні параметри -> Стільничні ефекти -> Всі ефекти. Після вмикання ефекту кольори екрана буде обернуто після натискання комбінації клавіш Meta + Ctrl + I. Інверсію буде виконано, якщо використовується OpenGL 2. Якщо використовується OpenGL 1, нічого не станеться.

KWin можна наказати використовувати OpenGL 1 за допомогою вкладки Системні параметри -> Стільничні ефекти -> Додатково: зніміть позначення з пункту Використовувати шейдери OpenGL 2. Таким чином можна покращити швидкодію на застарілому обладнанні. Загалом, повністю безпечно використовувати шейдери (програми для побудови тіней) OpenGL 2, якщо система повідомляє про підтримку версії 3.x (доступна лише для NVIDIA на час написання цієї сторінки).

Підказка
На сучасному обладнанні шейдери OpenGL 2 покращують швидкодію, порівняно з шейдерами OpenGL 1. Зняття позначення з цього не є універсальним рецептом для покращення швидкодії.


kwin_gles

Починаючи з версії 4.8 KWin, можна скористатися окремо зібраним бінарним файлом kwin_gles замість kwin. Цей файл працює так само, як звичайний файл програми kwin у режимі OpenGL2, але використовує інтерфейс платформи egl замість glx.

Попередження
Це означає, що якщо ваш «звичайний» kwin не працює у режимі OpenGL 2, ймовірно, що і kwin_gles не працюватиме.


Щоб спробувати kwin_gles, вам слід віддати команду kwin_gles --replace у Konsole. Оскільки ця програма є доволі новою, її тестування її у форматі замінника kwin є недостатнім, будь-які відгуки будуть дуже цінними. Якщо тестування відбулося успішно і ви бажаєте користуватися kwin_gles замість звичайного варіанта програми, додайте до ~/.kde4/env/ виконуваний скрипт, який експортуватиме змінну середовища KDEWM=kwin_gles.

Масштабування мініатюр

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

Метод масштабування можна змінити за допомогою спадного списку Системні параметри -> Стільничні ефекти -> Додатково -> Спосіб масштабування. Передбачено такі варіанти:

  • Швидкий
  • Плавний
  • Точний

У наведеній нижче таблиці ви можете ознайомитися з мініатюрами, створеними за використання різних параметрів.

Огляд показу мініатюр за різних значень параметрів
Швидкий: Швидкий
Плавний: Плавний
Точний: Точний

Типово використовується спосіб «Точний». На обладнанні Intel спосіб «Точний» ніколи не використовується, його не можна увімкнути, якщо для змінної середовища KWIN_FORCE_LANCZOS визначено значення 1.

Перемикання зі способу «Точний» на «Плавний» може значно покращити швидкодію ефектів, зокрема ефекту «Показ вікон».

Загальна швидкість анімації

Показ анімацій вимагає певного часу, тривалість їхньої обробки змушує декого вважати, що інтерфейс працює повільно, а система «замерзає». Оцінки швидкодії інтерфейсу такого роду є дуже суб’єктивними, оскільки відмінність між дуже швидким показом і дуже повільним може складати лічені мілісекунди. Неможливо визначити ідеальне значення для всіх користувачів.

Рівень тривалості загальних анімацій можна змінити за допомогою спадного списку Системні параметри -> Стільничні ефекти -> Загальні -> Швидкість анімації. Значення можна вибрати у діапазоні від «Фантастично повільна» до «Миттєва». За використання останнього варіанта анімації буде вимкнено. Зміна зі «Звичайна» до «Швидка» надає змогу деяким користувачам отримати комфортніші умови для роботи.

Графічна підсистема Qt

З випуску 4.7 (липень 2011 року) підпрограма композитного відтворення може використовувати графічну систему Qt raster замість native (X11). Зміна графічної системи стосується лише обрамлення вікон, її не пов’язано з модулями композитного відтворення (OpenGL/XRender).

Графічна система, яка використовується, залежить від типових параметрів дистрибутива. Рекомендуємо вам скористатися системою «raster», особливо якщо використовується драйвер NVIDIA. KWin завжди вибирає найкращу графічну систему для вибраного способу композитного відтворення. Можна рекомендувати такі поєднання:

  • OpenGL з raster
  • XRender з native
  • Без композитного відтворення:
    • native у випадку віддалених з’єднань (рекомендоване обрамлення вікон: Ноутбук)
    • raster, якщо використовується складне обрамлення вікон (зокрема Oxygen і Plastik у 4.10 або пізніших версіях)

Обрамлення вікон

За використання деяких обрамлень вікон під час активації вікна виконуються анімації. Це впливає на швидкодію ефектів, якщо під час анімації змінюється активне вікно. Вплив на швидкодію можна зменшити використанням графічної системи «raster» (див. вище).

У типовому стилі обрамлення вікон, Oxygen, передбачено вимикання анімацій: Системні параметри -> Вигляд робочого простору -> Обрамлення вікон -> Налаштувати обрамлення... -> Загальні, пункт Увімкнути анімацію. Вимикання анімації може покращити швидкодію.

Подібні анімації використовуються у всіх обрамленнях вікон, які можна отримати за допомогою вікна Отримати нові обрамлення..., але вимкнути анімацію неможливо. Якщо через використання певної теми погіршується швидкодія, рекомендуємо вам використати іншу тему. Загалом, теми обрамлення не оптимізовано: вони мають виглядати добре, а не працювати швидко.

Ще одним аспектом роботи обрамлення вікон, який може вплинути на швидкодію, є тіні. Знову ж таки, у типовому обрамленні вікон Oxygen передбачено можливість вимикання тіней за допомогою того самого вікна налаштовування, яке було описано вище: вкладка «Тіні». У інших темах обрамлень може бути не передбачено можливості вимикання тіней.

Ефект розмивання

Ефект розмивання є одним з найвимогливішим до ресурсів ефектів підпрограми композитного відтворення. Типово, цей ефект буде увімкнено для всіх графічних карток, окрім карток Intel. Вплив ефекту розмивання на швидкодію залежить від кількості відкритих і прозорих вікон. Особливо впливають на швидкодію прозорі стилі віджетів (наприклад Oxygen Translucent) і прозорі обрамлення вікон (наприклад Aurorae Themes). Якщо використано таку тему і швидкодія є поганою, рекомендуємо вам або змінити тему або вимкнути ефект розмивання.

Швидкодією системи за використання ефекту розмивання можна керувати за допомогою діалогового вікна налаштування ефекту розмивання: вкладка Системні параметри -> Стільничні ефекти -> Всі ефекти. Пересування повзунка потужності ефекту до пункту «Слабкий» може зменшити використання ресурсів, а пересування повзунка до пункту «Сильний» потребує додаткових ресурсів. З версії 4.8 (випуск у січні 2012 року) можна користуватися проміжними варіантами (типовими) без погіршення швидкодії навіть за використання прозорих тем.

Додаткові параметри стільничних ефектів

Налаштуваннями підпрограми композитного відтворення передбачає деякі додаткові параметри налаштовування на вкладці Системні параметри -> Стільничні ефекти -> Додатково. Деякі з параметрів вже описано. У цьому розділі описано решту параметрів. Зміна цих параметрів, загалом кажучи, не покращує швидкодії, а лише погіршує її. Здебільшого підпрограма композитного відтворення використовує найкращі можливі значення параметрів.

Тип композитного відтворення

Тип композитного відтворення надає змогу вибрати модуль композитного показу, XRender або OpenGL. Типово використовується OpenGL з апаратним прискоренням. XRender можна скористатися, навіть якщо встановлено драйвер з можливостями OpenGL (наприклад, у віртуальних машинах). За його використання цього модуля для показу використовується процесор. Багатьма ефектами не можна скористатися, якщо використовується XRender.

Інформація
Якщо у вас немає реальної причини для зміни модуля, скористайтеся типовим модулем OpenGL. Якщо OpenGL не можна буде скористатися, система автоматично повернеться до використання XRender.


Зберігати мініатюри вікон

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

Призупинка дії ефектів стільниці у повноекранних вікон

Цей пункт впливає на швидкодію у повноекранних вікнах, зокрема вікнах ігор. Підпрограму композитного відтворення буде вимкнено на час роботи повноекранного вікна. Недоліком може бути блимання під час появи вікна над повноекранним вікном (наприклад, під час появи контекстного меню), яке є доволі поширеним. Крім того, у деяких дистрибутивах (наприклад, Kubuntu 11.04) драйвер Intel призводить до аварійного завершення роботи середовища під час закриття повноекранних вікон.

Якщо підпрограму композитного відтворення слід вимикати для повноекранних програм, зокрема ігор або відео, краще вимкнути композитне відтворення за допомогою комбінації клавіш Alt + Shift + F12 або з часу версії 4.7 (випущено у липні 2011 року) за допомогою створення окремого правила для вікна.

Режим OpenGL

Попередження
Цей пункт є застарілим, його вимкнено у версії 4.7 (випущено у липні 2011 року). Будь-які варіанти, окрім «Текстура з малюнків», може призвести до некоректної роботи стільниці.


Увімкнути апаратне відтворення

Попередження
Цей пункт є застарілим, його було вилучено у версії 4.8 (випущено у січні 2012 року).


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

Використовувати VSync

VSync надає змогу синхронізувати обробку зображення. Якщо у вас немає вагомих причин змінювати типову поведінку, цей пункт має бути позначено. Навіть якщо позначку з пункту не буде знято, підпрограмою показу буде виконано спробу використати частоту кадрів, яка підтримується екраном. Типово використовуватиметься частота кадрів у 60 Гц.

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