# Informazioni su &kappname;

Thomas
Luebking
thomas.luebking@web.de
Luciano
Montanaro

    mikelima@cirulla.net

Traduzione del documento
2005
Thomas Luebking
&FDLNotice;
2005-01-15
2.0.1

&kappname; è un motore di resa grafica che usa composite per &kwin;.

Questo documento è una spiegazione generale di ciò che fa, come funziona e quali siano le restrizioni, piuttosto che una documentazione su come usarlo (visto che funziona automaticamente sullo sfondo).

KDE
kwin
motore di rendering

## Introduzione

&kappname; è basato su xcompmgr, l'applicazione di riferimento di Keith Packards che usa la nuova estensione composite di X.

Un gestore di composizione intercetta l'output delle finestre di X e le compone in una singola immagine da mostrare sullo schermo. Il vantaggio di fare ciò è che è possibile fare quasi ogni cosa con il contenuto delle finestre, incluso miscelarne il contenuto (semitrasparenza) o attaccarvi un'ombra. Puoi anche aggiungere dar loro una tinta, aggiungere brutta pubblicità a qualsiasi finestra, strizzarle, spezzarle, aggiungere un effetto di linee di scansione o qualsiasi cosa tu riesca ad immaginare, con i soli limiti dell'hardware.

## Xorg

Perché &kappname; funzioni, devi usare X.org 6.8 o successivo. X.org 6.7 o XFree86 non funzionano.

### Configurazione

È necessario abilitare esplicitamente l'estensione Composite. Aggiungi una nuova sezione al file di configurazione di X.org:

    Section "Extensions"
        Option "Composite" "Enable"
    EndSection

Se è possibile per la GPU della tua scheda grafica (il complesso chip che fa funzionare la scheda), attiva l'accelerazione per l'estensione Render. L'estensione è gestita al meglio dalle schede NVIDIA, e in modo meno completo dalle schede ATI.

    Section "Device"
    ....
    ....
        Option     "RenderAccel" "true"
    ....
    ....
    EndSection

&kappname; dovrebbe essere disponibile ora. Per maggiori informazioni vedi le FAQ.

## Impostazioni

Questo capitolo descrive quali parametri sono modificabili, quali risultati visibili otterrai e quale sono gli impatti sulle prestazioni.

### Semitrasparenza

Un oggetto semitrasparente è uno che permette alla luce di passarvi attraverso. Nei termini delle finestre sul desktop, ciò significa de i contenuti di una finestra sono visibili attraverso un'altra che vi sta sopra.

La semitrasparenza permette di enfatizzare delle finestre speciali, di avere una vista tridimensionale sul desktop, di tener traccia delle finestre coperte, e semplicemente, è bella. Il prezzo è che la miscelazione dei componenti costa un po' delle capacità del sistema.

Puoi configurare la semitrasparenza indipendentemente per i seguenti elementi:

Finestre attive

  Si suggerisce di disattivare la semitrasparenza per le finestre attive. Il motivo principale sono le prestazioni, e secondariamente perché per per leggere il contenuto della finestra semitrasparente il tuo cervello dovrà scartare le informazioni che traspaiono, che è stancante.

Finestre inattive

  Se richiedi la semitrasparenza per le finestre inattive, le finestra attive saranno enfatizzate e attrarranno maggiormente l'attenzione. Però se scegli un valore troppo basso potresti avere difficoltà a trovare una finestra inattiva. Se scegli un valore molto basso (< 20&percnt;) potresti essere incapace di distinguere l'ordine di sovrapposizione delle finestre — quindi potresti accidentalmente fare clic sul pulsante OK di una finestra quando volevi solo attivarne un'altra. I valori ottimali sono fra il 60&percnt; e l'80&percnt;.

Finestre in movimento

  Anche se avere le finestre in movimento quasi trasparenti (opacità < 20&percnt;) è un bell'effetto, c'è un grosso prezzo da pagare in prestazioni, in particolare se non disattivi le ombre (vedi sotto). Prova l'impostazione e decidi se il sistema è troppo lento da dover mantenere le finestre opache. Questo valore si applica anche alle finestre in stato di ridimensionamento.

Finestre agganciate

  Poiché le finestre agganciate, come Kicker non sono spostate mai o quasi, ed hanno dimensioni limitate, questo è un effetto puramente visivo, e non avrà effetti negativi sulle prestazioni.

Tratta le finestre da "tenere sopra" come quelle attive

  Se hai configurato una finestra per rimanere sopra le altre, di solito vorrai anche mantenerla a fuoco, quindi ha senso darle la stessa enfasi.

Disabilita le finestre ARGB

  XRender gestisce le finestre con maschera alfa, cioè sezioni semitrasparenti. Attualmente non ci sono quasi applicazioni che usano questa funzionalità, perché non serve senza un gestore della composizione. Ciò può cambiare in futuro.

  D'altra parte, quasi tutte le applicazioni gtk 1.x (ad esempio xmms) impostano questa maschera alfa, e ciò risulta in finestre quasi inutilizzabili (a meno che le finestre sottostanti non siano nere) quindi puoi disabilitare la gestione delle finestre con visuale ARGB da qui per poter usare le applicazioni gtk. In un prossimo futuro è sperabile che ci sarà un patch per gtk per correggere questo problema.

### Ombre

Perché qualcuno dovrebbe volere che le finestre gettino ombra? Be' forse solo perché hanno un bell'aspetto, o perché permette una separazione maggiore fra le finestre, o... perché sono troppo carine!

Utilizza ombre

  Poiché le ombre costano in potenza di CPU e GPU, possono essere disattivate, pur mantenendo la capacità di usare il canale alfa generale.

Dimensione finestra attiva
Dimensione finestra inattiva
Dimensione finestra agganciata

  Puoi selezionare diverse dimensioni per le ombre per i diversi tipi o stati delle finestre. I valori non sono assoluti, ma si applicano a tutte le risoluzioni dei tuoi schermi.

  In linea di principio, puoi cambiare le regole come vuoi (se modifichi il file di configurazione con un editor di testo, anche oltre il massimo offerto di 32) ma ombre più grandi costano più risorse di CPU e GPU.

Spostamento verticale
Spostamento orizzontale

  Normalmente le finestre gettano un'ombra uguale in tutte le direzioni, come se ci fosse una fonte luminosa centrale. Chi ha familiarità con &MacOS; può preferire uno scostamento verticale, chi usa &Windows; può preferire uno scostamento verso sudest. Fai degli esperimenti finché non sei soddisfatto.

Colore ombra

  Di solito le ombre, in quanto assenza di luce, appaiono come sfumature di grigio (quindi l'ombra più scura è nera, cioè assenza completa di luce). Ma, forza, è un mondo virtuale, e se preferisci delle ombre rosa, perché no?

Togli l'ombra durante il movimento

  Marca questa casella se hai bisogno di prestazioni maggiori (particolarmente durante il movimento delle finestre semitrasparenti).

Togli l'ombra durante il ridimensionamento

  È una buona idea marcare questa voce sia che usi o no il ridimensionamento (o lo spostamento) semitrasparente. La pixmap dell'ombra delle finestre deve essere ricreata continuamente durante il ridimensionamento, e ciò ha un grosso impatto sulle prestazioni del sitema.

### Effetti

Apparizione graduale delle finestre
Sfuma nei cambiamenti di opacità

  Invece di far comparire improvvisamente una nuova finestra, potresti preferire che compaia lentamente. Sebbene questo effetto faccia colpo, c'è un grosso prezzo da pagare in termine di velocità, ed è difficile interagire in modo corretto con le finestre che sono in uno stato di transizione.

Velocità di comparsa
Velocità di scomparsa

  Per i motivi di utilizzabilità menzionati sotto Apparizione graduale delle finestre, è più pratico usare alte velocità di comparsa e (come zuccherini per gli occhi) velocità basse di scomparsa. Ciò fornisce dei begli effetti mantenendo bassa la latenza perché appaiano le informazioni.

## Problemi

L'estensione Composite è piuttosto nuova. Può causare parecchi problemi ed anche far schiantare X, quindi è fortemente raccomandato di non abilitare nemmeno l'estensione Composite in Xorg.conf sui sistemi mission critical. Se però puoi permetterti il rischio di un sistema un pò più instabile, è bello poter avere qualche effetto grafico gradevole.

In questo caso potresti notare qualche difetto. Ecco alcuni problemi comuni e dei metodi per aggirarli:

Ho X.org 6.8.x, ma &kappname; non parte

Devi abilitare esplicitamente l'estensione Composite, aggiungi una nuova sezione a /etc/X11/XorgConfig:

    Section "Extensions"
       Option "Composite" "Enable"
    EndSection

Ok, &kappname; funziona, ma è lento come una lumaca

Se è gestita dalla tua GPU (principalmente NVIDIA, e qualche scheda ATI), assicurati di aver attivato l'accelerazione per Render.

    Section "Device"
    ....
    ....
    Option     "RenderAccel" "true"
    ....
    ....
    EndSection

Se è ancora lento, puoi provare a modificare l'uso della memoria. Puoi abbassare la profondità di colore dello schermo (&eg; da 24 a 14) o puoi abbassare la risoluzione (&eg; da 1280x1024 a 1024x768).

Nota che attualmente il fattore limitante per l'estensione Composite sembra essere la dimensione della cache della CPU.

dopo aver abilitato l'estensione Composite, non riesco ad eseguire nessuna applicazione GLX. Ho una scheda NVIDIA.

Per prevenire alcuni problemi, NVIDIA ha disattivato il supporto GLX quando l'estensione Composite è attiva. È possibile riattivare GLX, ma possono presentarsi problemi con alcune combinazioni di kernel/driver/GPU.

    Section "Device"
    ....
    ....
    Option  "AllowGLXWithComposite" "true"
    ....
    ....
    EndSection

Volevo giocare a un gioco che usa SDL (ma non GL), diciamo scummvm, ma quando compmgr è attivo, vedo dolo ombre!

Questo è un problema con il PictType riportato da SDL.

Metodo per aggirare il problema:

    Invece di chiamare direttamente scummvm, usa SDL_VIDEO_X11_VISUALID=0x24 scummvm. Ciò indica a SDL di usare un formato noto, e potrai giocare come sempre.

L'applicazione XXX si rifiuta di partire dopo aver abilitato l'estensione Composite.

L'applicazione YYY non funziona più dopo aver abilitato l'estensione Composite.

L'applicazione ZZZ ha un aspetto bizzarro dopo aver abilitato l'estensione Composite.

L'estensione Composite è ancora sperimentale.

Metodo per aggirare il problema:

Invece di chiamare direttamente `appName`, esegui `XLIB_SKIP_ARGB_VISUALS=1 appName`

Applicazioni note per causare problemi:

- Tutte le applicazioni gtk1 (&eg; gmplayer, xmms, gaim) — avvio non riuscito o non sono utilizzabili o fanno schiantare X

- &kuickshow; — mostra solo un riquadro nero

- &Qt; Designer — fa schiantare X

- &kopete; — fa schiantare X

- &kolf; — fa schiantare X

Cerco di guardare un video, ma riesco a vedere solo artefatti nella finestra del video.

Stai usando xv come backend per il video. Questo usa una modalità di sovrimpressione, in cui il contenuto del video è scritto direttamente nella memoria della scheda video, saltando il passaggio per X. Quindi la finestra sembra statica (uno sfondo colorato) e non è aggiornata dall'estensione Damage.

Si spera che ci sarà presto una correzione per questo problema. Attualmente i risultati migliori si ottengono con Xine, ma i video semitrasparenti non sono molto veloci comunque.

## Riconoscimenti e licenza

### Autori

Thomas Luebking baghira-style@gmx.net - Editor

&underFDL; &underGPL;