Performanța efectelor de birou

From KDE Wiki Sandbox
Revision as of 09:47, 5 December 2013 by Ovidiub13 (talk | contribs) (Created page with "* OpenGL cu raster")

Performanța Efectelor de Desktop

Performanța efectelor de Desktop în Spațiile de lucru KDE Plasma este în mare determinată de interacțiunea dintre placa video (GPU) cu driverul său și Compozitorul (KWin). Compozitorul încearcă să aleagă cele mai bune setări disponibile pentru GPU-ul dumneavoastră întrebând driver-ul ce suportă hardware-ul. Uneori, spunându-i lui KWin ce suportă hardware-ul întradevăr poate îmbunătății performanța.

Selectând driverul correct

Determinând driverul utilizat

Este important să aveți driver-ul corect instalat și utilizat. Dacă nici un driver sau driver-ul greșit este utilizat efectele de Desktop vor trece pe un backend non-accelerat (XRender).

Informația despre driver-ul utilizat este disponibilă prin KInfoCenter. Click pe Informații despre grafică -> OpenGL și studiați informațiile furnizate în modulul afișat. Informațiile relevante sunt găsite în secțiunea Driver, în special în Furnizor, Randor și Versiune OpenGL/ES. Informațiile sunt furnizate de driver și analiza lor poate fi dificilă.

Inforații despre OpenGL în KInfoCenter
Dacă randatorul spune "Rasterizat din Software" atunci nu este instalat nici un driver. Pentru toate celelalte drivere verificați dacă este utilizat cel corect.

Drivere disponibile

AMD/ATI

Pentru hardware AMD/ATI sunt disponibile două drivere: driverul proprietar fglrx sau Catalyst și driverele libere Mesa (cunoscute ca radeon, r300, r600). Cu driverul fglrx nu toate funcționalitățile sunt disponibile și performanța în general pare a fi mai bună decât cu driverele Mesa. Recomandarea este să folosiți întotdeauna drivere Mesa cu efecte de desktop. Dacă în secțiunea Versiune OpenGL/ES" găsiți "Mesa", atuncea dumneavoastră utilizați driverele libere și nu trebuie să faceți nimic.

Driverele Mesa exista în versiuni de drivere mai vechi și mai noi. Ar trebui să vă asigurați că le utilizați pe cele noi, pe care le puteți identifica prin cuvândtul "Gallium" în secțiunea Randor.

Intel

Hardwareul Intel utilizează driverele libere Mesa. Nu sunt disponibile alternative.

NVIDIA

Pentru hardwareul NVIDIA sunt disponibile două drivere: driverul proprietar NVIDIA și driverele libere Mesa (cunoscute ca nouveau). Driverele libere sunt încă intens dezvoltate și nu sunt disponibile pentru toate distribuțiile și pentru toate plăcile video. În general este recomandat să se utilizeze driverele proprietare. Utilizați driverel proprietare dacă apare NVIDIA în secțiunea Versiune OpenGL/ES.

Installing the Driver

Instalarea driverului este specific distribuției utilizate. Consultați documentația distribuției ce o utilizați despre acest subiect.

Versiune OpenGL

KWin suportă OpenGL 1.x și OpenGL 2.x. Implicit KWin utilizează funcții din OpenGL 2 dacă sunt disponibile. OpenGL 2 permite să se utilizeze mai multe efecte, dar necesită un hardware mai performant. Este important de știut că chiar dacă driverul dumneavoastră suportă doar OpenGL 1.4, spre exemplu, este posibil ca KWin să utilizeze funcții ale OpenGL 2 care sunt disponibile prin extensii ale driverului.

Puteți găsi versiunea de OpenGL furnizată de driverul dumneavoastră în secțiunea "Versiune OpenGL/ES" în KInfoCenter după cum este descris mai sus.Versiunea este definită de primele două sau trei cifre, de exemplu 2.1.

Nu este ușor să se determine dacă KWin folosește OpenGL 1 sau 2 pentru că aceasta se determină doar în momentul rulării. Cel mai bun test disponibil este utilizarea evectului Inversare care poate fi activat în Configurări de sistem -> Efecte de birou -> fila Toate efectele. După activare ecranul ar trebui să aibă culorile inversate când se folosește scurtătura Meta + Ctrl + I. Dacă se inversează se utilizează OpenGL 2, dacă nu se întâmplă nimic, se utilizează OpenGL 1.

Este posibil ca KWin să fie forțat să utilizeze OpnGL 1 prin <menychoice> Configurări de sistem -> Efecte de birou -> fila Avansat</menuchoice> și dezactivând Folosește umbritoare OpenGL 2. Asta poate îmbunătății performanța pe hardware-ul mai vechi. În general este complet în siguranță să se utilizeze Umbritoarele OpenGL 2 dacă driverul raportează o versiune de 3.x (disponibil doat cu NVIDIA în momentul scrierii).

Template:Sfat

kwin_gles

Începând cu KWin versiunea 4.8 este posibil sa se utilizeze binarul contruit separat kwin_gles ca un înlocuitor pentru kwin. Se comportă aproape la fel ca executabilul kwin în modul OpenGL 2 cu mica diferență că utilizează egl în loc de glx ca interfața platformei native.

Template:Atenție

Pentru a testa kwin_gles trebuie doar să rulați kwin_gles --replace în Konsolă. Din moment ce este o funcționalitate relativ nouă nu este testată la fel de amănunțit ca kwin și feedbackul este întotdeauna bine venit. Presupunând că testul a rulat cu succes și că doriți să utilizați kwin_gles în mod regulat puteți adăuga un script executabil în ~/.kde4/env/ care exportă variabila de mediu KDEWM=kwin_gles.

Scalarea imaginilor în miniatură

Compozitorul suportă diferite metode de scalare pentru imaginile în miniatură după cum sunt randate în previzualizarea din bara de activități sau în efecte ca Ferestre Prezente. Se încearcă randarea imaginilor în miniatură cu cea mai mare acuratețe posibilă care de asemenea necesită mai multe resurse.

Metoda de scalare poate fi schimbată în Configurări de sistem -> Efecte de birou -> fila Avansat -> lista de opțiuni Metoda de scalare. Următoarele configurări sunt disponibile:

  • Aspru
  • Neted
  • Precis

Tabelul oferă o vedere de ansamblu la cum sunt randate imaginile în miniatură cu diferite configurări.

Vedere de ansamblu la cum sunt randate imaginile în miniatură cu diferite configurări
Aspru: Aspru
Neted: Neted
Precis: Precis

În mod implicit se utilizează Precis. Pe hardware Intel Precis nu este utilizat niciodată și nu poate fi activat decât dacă variabila de mediu KWIN_FORCE_LANCZOS este setată pe 1.

Schimbând de la Precis la Neted poate îmbunătării semnificativ performanța efectelor de genul Ferestre prezente.

Viteza generală a animațiilor

Animațiile au o durată, iar durata animațiilor este ceea ce face oamenii să creadă că o interfață este rapidă sau lentă. Acesta este un sentiment foarte subiectiv și diferența dintre prea rapid și prea încet poate însemna câteva milisecunde. Este imposibil să existe o valoare perfectă pentru toți utilizatorii.

Durata globală a animațiilor poate fi modificată prin Configurări de sistem -> Efecte de birou -> fila General -> lista de opțiuni Viteza animației. Opțiunile variază de la "Extrem de încet" la "Instantaneu" care nu rendează nici o animație. Prin schimbarea de la "Normal" la "Rapid" mulți utilizatori au raportat o interfață mai vioaie.

Sistemul grafic Qt

De la versiunea 4.7 (Lansată în Iulie 2011) Compozitorul poate utiliza sistemul grafic Qt raster în locul de nativ (X11). Asta este relevant numai pentru randarea decorațiilor feresterlor și nu are legătură cu backendurile de compoziție (OpenGL/XRender).

Care sistem grafic este utilizat depinde de configurările implicite ale distribuției. Pentru Compozitor raster este recomandat în special dacă se utilizează driverul NVIDIA. KWin întotdeauna va selecta cel mai bun sistem grafic pentru compozitorul ales. Următoarele combinații generale pot fi recomandate:

  • OpenGL cu raster
  • XRender with native
  • No Compositing:
    • native in case of remote connections (recommended window decoration: Laptop)
    • raster if using fancy window decoration (including Oxygen and Plastik in 4.10 or later)

Window Decorations

Some Window Decorations perform animations when a window gets activated. This influences the performance of effects if during an animation the active window changes. The performance impact can be reduced by using the graphics system "raster" (see above).

The default window decoration Oxygen provides an option to disable the animations: Systemsettings -> Workspaces Appearance -> Window Decorations -> Configure Decoration... -> General tab Checkbox Enable animations. Disabling the animations can improve the performance.

All window decorations which can be downloaded through the Get New Decorations... dialog use such animations, but it is not possible to disable them. If there is an performance impact due to the theme, it is recommended to use a different one. In general the themed decorations are not optimized and provided to look good and not to be fast.

Another area of window decorations which can impact the performance are shadows. Again the default decoration Oxygen provides a setting to disable them in the same configuration dialog as described above in tab "Shadows" and the themed decorations do not provide an option to disable shadows.

Blur Effect

The Blur Effect is one of the most expensive effects provided by the Compositor. By default it gets enabled for all hardware except Intel hardware. The performance impact of the blur effect depends on the number of open and translucent windows. Especially translucent widget styles (e.g. Oxygen Translucent) and translucent window decorations (e.g. Aurorae Themes) have an impact on the performance. If such a theme is used and the performance is bad it is recommended to either change the theme or disable the Blur effect.

The performance of the Blur effect can be adjusted through Systemsettings -> Desktop Effects -> All Effects tab -> Configuration dialog of Blur effect. Moving the slider for strength to "Light" requires less resources while moving it towards "Strong" requires more resources. Since 4.8 (release January 2012) the intermediate rendering results can be kept (default) which improves the performance even with translucent themes.

Advanced Desktop Effects Settings

The Compositor provides some advanced settings under Systemsettings -> Desktop Effects -> Advanced tab. Some of the settings have already been explained. This section focuses on the remaining settings. Changing these settings in general do not improve the performance but make it worse. The Compositor uses the best possible settings.

Compositing type

The Compositing type allows choice of the compositing backend, either XRender or OpenGL. By default OpenGL is used which is hardware accelerated. XRender is available even if no OpenGL driver is installed (e.g. virtual machines) and uses mostly the CPU for rendering. Many effects are not available with XRender.

Information
If there is no good reason to change, the default OpenGL is the correct choice. If OpenGL is not available there is an automatic fallback to XRender.


Keep window thumbnails

This has hardly any influence on performance. It is an option to decide how long thumbnails are kept. Best is to not touch this setting.

Suspend desktop effects for fullscreen windows

This setting influences the performance of fullscreen windows such as games. The compositor is suspended as long as there is a fullscreen window. The disadvantage is that it causes flickering when a window appears on top of the fullscreen window (e.g. a context menu) and is too generic. As well on some distributions (e.g. Kubuntu 11.04) the Intel driver causes a crash when closing the fullscreen window.

If the compositor should be disabled while a fullscreen application such as games or video is used it is better to disable compositing either through the shortcut Alt + Shift + F12 or since 4.7 (Released July 2011) through a window specific rule for the window.

OpenGL mode

Warning
The setting is obsolete and has been removed in 4.7 (Released July 2011). Any setting except the default "Texture from Pixmap" is likely to break your desktop.


Enable direct rendering

Warning
The setting is obsolete and has been removed in 4.8 (Released January 2012).

The compositor determines by itself whether direct rendering can and has to be used. Changing this setting will most likely break functionality.

Use VSync

VSync allows you to synchronize the rendering with the screen. Unless there is good reason to change, this setting should be enabled. Even if the setting is disabled the Compositor tries to use the frame rate the screen supports and by default a frame rate of 60 Hz is used.

For multiple screens it is important to know that the rendering can only be synchronized with one screen. In case the screens have a different frame rate it might be valid to disable this option and to set a manual frame rate.