Prestazioni degli effetti del desktop

From KDE UserBase Wiki
Revision as of 18:03, 4 June 2012 by Dariocambie (talk | contribs)

Performance di Effetti Desktop

Le performance degli "Effetti Desktop" in KDE Plasma Workspace sono determinate principalmente dall'interazione tra l'hardware grafico (la GPU), i relativi driver ed il "Compositore" di (Kwin). Il Compositore cerca di scegliere le migliori impostazioni disponibili per la tua GPU chiedendo al driver quali caratteristiche sono supportate dall'hardware. Talvolta aiutare KWin suggerendo le reali potenzialità del proprio hardware può migliorare le performance.

Scegliere il driver corretto

Determinare il driver in uso

E' importante avere il driver corretto installato ed in uso. Se non è utilizzato alcun driver, oppure se ne è usato uno errato gli effetti desktop ripiegano su un backend grafico non-accelerato (XRander).

Informazioni sul driver in uso sono disponibili attraverso KInfoCenter. Clicca su Informazioni Grafica -> OpenGL ed analizza le informazioni fornite dal modulo mostrato. Le informazioni principali riguardo al driver si trovano nella sezione Driver, in particolare le voce Vendor, Renderer e versione OpenGL/ES. Le informazioni sono quelle fornite dal driver e pertanto potrebbero essere difficili da decifrare.

OpenGL information in KInfoCenter
Se il Renderer riporta "Software Rasterizer" significa che nessun driver è installato. Per tutti gli altri driver controlla se è in uso quello corretto.

Driver disponibili

AMD (ex ATI)

Per le schede grafiche AMD/ATI sono disponibili due driver: fglrx o Catalyst ed i driver liberi Mesa (noti come radeon, r300, r600). Con i driver fglrx non sono disponibili tutte le funzionalità e le performance generali sembrano essere migliori con i driver Mesa. La raccomandazione è quindi di usare sempre i driver Mesa con gli effetti desktop. Se trovi l'informazione "Mesa" nella versione OpenGL/ES significa che stai già utilizzando i driver liberi e non devi fare nulla.

I driver Mesa esistono in versioni più e meno recenti. Dovresti assicurarti di stare usando una versione recente, cosa che può essere verificata dalla presenza della parola "Gallium" nella stringa del Renderer.

Intel

L'hardware intel usa i driver liberi Mesa. Non ci sono alternative disponibili.

NVIDIA

Per le schede grafiche NVIDIA sono disponibili due driver: i driver proprietari NVIDIA e quelli liberi Mesa (noti anche come nouveau). I driver liberi sono ancora sotto sviluppo e non sono disponibili su tutte le distribuzioni e per tutti gli hardware. In generale è raccomandabile usare i driver proprietari. Stai utilizzando i driver proprietari se la stringa Versione OpenGL/ES riporta NVIDIA.

Installare i driver

L'installazione dei driver è diversa a seconda della distribuzione linux utilizzata. Consulta la documentazione della tua distribuzione in materia.

Versione OpenGL

KWin supporta sia OpenGL 1.x sia OpenGL 2.x. Come impostazione predefinita KWin usa le potenzialità di OpenGL2 se queste sono disponibili. OpenGL 2 permette di usare più effetti, ma richiede hardware più recente. E' importante sapere che anche se il tuo driver supporta solo es. OpenGL 1.4 è possibile che KWin usi caratteristiche di OpenGL 2 che sono disponibili tramite estensioni al driver.

Puoi trovare la versione di OpenGL supportata dal tuo driver nella stringa "Versione OpenGL/ES" in KInfoCenter, come descritto sopra. La versione è definita dalle prime due o tre cifre, es. 2.1.

Non è banale definire se KWin utilizzi OpenGL 1 o 2 in quanto ciò è definito al momento dell'esecuzione. Il miglior test disponibile è utilizzare l'effetto Inversione che può essere abilitato nella scheda Impostazioni di Sistema -> Effetti Desktop -> Tutti gli effetti. In seguito all'abilitazione lo schermo dovrebbe invertirsi usando la scorciatoia da tastiera Meta + Ctrl + I. Se ciò avviene si sta usando OpenGL 2, se non accade nulla è in uso solo OpenGL 1.

E' possibile forzare KWin ad usare OpenGL 1 tramite la scheda Impostazioni di Sistema -> Effetti Dekstop -> Avanzate e deselezionando Utilizza gli shaders OpenGL 2 . Questo può migliorare le performance per schede video vecchie. In generale è completamente sicuro utilizzare OpenGL 2 anche se il driver riporta di supportare OpenGL 3.x (al momento della scrittura supportato solo dai driver NVIDIA).

Tip

Per schede video moderne gli Shaders OpenGL 2 portano a migliori performance rispetto a OpenGL 1. Disabilitare questa opzione non porterà a migliori performance.


kwin_gles

A partire dalla versione 4.8 di KWin è possibile utilizzare il binario compilato separatamente kwin_gles come sostituto di kwin. Esso si comporta quasi nello stesso modo dell'eseguibile kwin in modalità OpenGL2, con la lieve differenza che usa egl al posto di glx come interfaccia nativa per la piattaforma.

Warning

Ciò significa che se il normale kwin non funziona in modalità OpenGL2 è improbabile che kwin_gles possa funzionare.


Per testare kwin_gles devi eseguire kwin_gles --replace in Konsole. Poiché questa è una funzionalità piuttosto nuova non è ancora così testata come il normale kwin e feedback sono sempre benvenuti. Assumendo che il test abbia successo e che si voglia usare kwin_gles quotidianamente si può aggiungere uno script eseguibile in ~/.kde4/env/ che esporti la variabile d'ambiente KDEWM=kwin_gles.

Generazione miniature

Il Compositore supporta diversi metodi di generazione delle miniature mostrate come anteprime nella barra delle applicazioni o usate da effetti come Presenta Finestre. La resa di miniature più accurate richiede ovviamente l'utilizzo di più risorse.

Il metodo di generazione delle miniature può essere scelto in Impostazioni di Sistema -> Effetti Dekstop -> scheda Avanzate -> casella di scelta mutlipla Metodo di ridimensionamento, Sono disponibili le seguenti opzioni:

  • Grossolano
  • Approssimato
  • Preciso

La tabella presenta un riassunto di come le miniature sono generate con le diverse impostazioni.

Panoramica su come sono create le miniature con diverse impostazioni
Grossolano: Crisp
Approssimato: Smooth
Preciso: Accurate

Come impostazione predefinita è utilizzato il metodo Preciso. Con hardware Intel Preciso non è mai usato e non può essere abilitato a meno che la variabile d'ambiente KWIN_FORCE_LANCZOS sia impostata ad 1.

Modificare le impostazioni da Preciso ad Approssimato può migliorare significativamente le performance di effetti come Presenta Finestre.

Velocità delle animazioni

Le animazioni richiedono del tempo e la durata di un'animazione è ciò che fa pensare alle persone che l'interfaccia sia alla moda oppure lenta. Si tratta di sensazioni molto soggettive e la differenza tra troppo veloce e troppo lenta può essere di millisecondi. E' impossibile avere un valore perfetto per tutti gli utenti.

Il livello dela durata generale delle animazioni può essere variato tramite Impostazioni di Sistema -> Effeti Desktop -> scheda generale -> scleta multipla Velocità animazioni. Le opzioni variano da "Estremamente lente" ad "Istantanee" che non genera alcuna animazione. Modificando il valore da "Normale" a "Veloci" molti utenti segnalano di avere un'interfaccia più reattiva.

Sistema grafico Qt

A partire da KDE Software Compilation 4.7 (rilasciata nel Luglio del 2011) il Compositore può utilizzare il sistema grafico Qt raster invece di quello nativo (X11). Ciò interessa solo per il rendering delle decorazioni delle finestre e non è correlato con i backend di composizione (OpenGL/XRender).

Quale sistema grafico sia usato dipende dalle impostazioni predefinite della distribuzione in uso. Per il Compositore raster è raccomandato, in particolare se si utilizzando i driver proprietari NVIDIA.

Decorazioni Finestre

Alcune decorazioni delle finestre generano animazioni quando una finestra viene attivata. Questo influenza le performance degli effetti se durante un'animazione il focus si sposta e viene cambiata la finestra attiva. L'impatto sulle performance può essere ridotto usando il sistema grafico "raster" (vedi sopra).

Il decoratore di finestre di default, Oxygen, fornisce un'opzione per disabilitare le animazioni: Impostazioni di Sistema -> Aspetto -> Decorazioni Finestra -> Configura Decorazioni... -> scheda generale casella Abilita Animazioni. Disabilitare le animazioni può migliorare le performance.

Tutte le decorazioni finestra che possono essere scaricate con lo strumento Scarica nuove decorazioni... usano queste animazioni, ma non è possibile disabilitarle. Se c'è un impatto sulle performance a causa del tema scelto, si raccomanda di provare ad usare un tema diverso. In generale le decorazioni dei temi non sono ottimizzate e tendono ad essere gradevoli alla vista ma graficamente onerose.

Un'altra area delle decorazioni finestre che può avere un impatto sulle performance del sistema grafico sono le ombre. Anche in questo caso Oxygen fornisce un'impostazione per disabilitarle, nello stesso dialogo di configurazione descritto sopra, nella scheda "Ombre" mentre generalmente altri temi non offrono opzioni per disabilitare le ombre.

Effetti di sfocatura

L'effetto di sfocatura è uno dei più pesanti effetti forniti dal Compositore. Come impostazione predefinita viene abilitato per tutte le schede video eccetto quelle Intel. L'impatto sulle performance dell'effetto sfocatura dipende dal numero di finestre aperte e traslucide. Hanno particolare impatto sulle performance gli stili traslucidi (es. Oxygen Translucent) e le decorazioni finestra traslucide (es. Aurorae). Se viene utilizzato uno di questi temi e le performance non sono soddisfacenti si raccomanda di disabilitare l'effetto di sfocatura o di cambiare tema.

Le performance dell'effetto di sfocatura possono essere configurate attraverso Impostazioni di sistema -> Effetti desktop -> scheda Tutti gli effetti -> box di configurazione Effetto di sfocatura. Muovere la barra dell'intensità verso "Leggero" richiede meno risorse mentre muoverla verso "Forte" ne richiede di più. Dalla versione 4.8 (rilasciata nel gennaio 2012) può essere mantenuto il livello preimpostato (Intermedio) che migliora le performance anche con effetti traslucidi.

Impostazioni avanzate degli effetti desktop

Il Compositore fornisce alcune opzioni avanzate tramite Impostazioni di sistema -> Effetti Desktop -> scheda Avanzate. Alcune delle impostazioni sono già stata spiegate. Questa sezione si concentrerà sulle rimanenti opzioni. Modificare queste impostazioni in generale non migliora le performance ma, semmai, le peggiora. Il Compositore usa come impostazione predefinita le migliori impostazioni possibili.

Tipo di composizione

L'opzione tipo di composizione permette di scegliere il motore di composizione, OpenGL o XRender. OpenGL è l'opzione predefinita, che consente l'accelerazione hardware. XRender è disponibile anche se non sono installati i driver OpenGL (es. macchine virtuali) e usa principalmente la CPU per il render. Molti effetti non sono disponibili con XRender.

Information

Se non ci sono buone ragioni per modificarla, l'opzione predefinita OpenGL è la scelta giusta. Se OpenGL non è disponibile viene scelto automaticamente XRender.


Tieni le miniature delle finestre

Questo difficilmente avrà impatto sulle performance. E' un'opzione per determinare quanto a lungo devono essere conservate le miniature delle finestre. La cosa migliore è non toccare questa impostazione.

Sospendi gli effetti del desktop per le finestre a schermo intero

Questa impostazione influisce sulle performance delle finestre a schermo intero, come i giochi. Il Compositore viene sospeso fintanto che è presente una finestra a schermo intero. Lo svantaggio è che si verifica lo sfarfallamento delle finestre che appaiono sopra la visualizzazione a schermo intero (es. menu contestuali) ed è troppo generico. Inoltre su alcune distribuzioni (es. Kubuntu 11.04) questa opzione, se abilitata, causa un crash con schede grafiche Intel al momento della chiusura della finestra a schermo intero.

Se il compositore deve essere disabilitato mentre si utilizzano applicazioni a schermo intero, come giochi o video, è meglio disabilitare la composizione attraverso la scorciatoia Alt + Shift + F12 o, a partire da 4.7 (rilasciata nel luglio 2011) tramite attraverso regole specifiche per la finestra del gioco o dell'applicazione a schermo intero.

Modalità OpenGL

Warning

Questa opzioni è obsoleta ed è stata rimossa a partire da 4.7 (Luglio 2011). Ogni impostazione eccetto quella predefinita ("Texture from Pixmap") potrebbe interrompere il funzionamento del sistema grafico.


Abilita render diretto

Warning

Quest'opzione è obsoleta ed è stata rimossa a partire dalla versione 4.8 (Gennaio 2012).

Il compositore determina autonomamente se il render diretto può e deve essere usato. Variare questa impostazione può compromettere la stabilità del sistema.

Usa Sinc. vert.

Sinc. Vert. permette di sincronizzare la composizione con la frequenza di aggiornamento dello schermo. A meno che vi siano buone ragioni per modificarla diversamente, questa opzione dovrebbe rimanere abilitata. Anche se l'opzione è disabilitata il compositore tenta di usare una frequenza di aggiornamento supportata dal monitor, e come impostazione predefinita viene usata una frequenza di aggiornamento di 60Hz.

Per sistemi con schermi multipli è importante sapere che il render può essere sincronizzato con un solo schermo. Nel caso gli schermi abbiano frequenze di aggiornamento diverse potrebbe essere opportuno disabilitare questa opzione ed impostare una frequenza di aggiornamento manuale.