# &kappname;'i info

Thomas Luebking thomas.luebking@web.de
Marek Laane

    bald@starman.ee

Tõlge eesti keelde
2005 Thomas Luebking
&FDLNotice;
2005-01-15
2.0.1

&kappname; on komposiittrenderduse mootor, mida kasutab &kwin;.

Käesolev dokument kujutab endast üsna üldist tööpõhimõtte selgitust ning piirangute loetlemist, mitte aga sõna otseses mõttes kasutamisõpetust (pealegi töötab see nagunii automaatselt taustal).

KDE kwin renderdusmootor

## Sissejuhatus

&kappname;'i aluseks on xcompmgr - Keith Packardi komposiitlaienduse teostus X'i uute võimaluste ärakasutamiseks.

Komposiidihaldur hangib X Windowsi väljundi ja teisendab selle üheks pildiks, mida näidatakse ekraanil. Selle eeliseks on see, et akende sisuga saab ette võtta põhimõtteliselt kõike, sealhulgas neid ühte sulatada (läbipaistvus) või varje omistada. Samuti võib neid toonida, mis tahes aknale suvalise pealdise anda, neid moonutada, tükeldada või võtta ette midagi muud - piiri seab vaid sinu kujutlusvõime (tõsi küll, ka riistvara).

## X.org

&kappname;'i tööks on vajalik X.org 6.8 või uuem. X.org 6.7 või vanem või XFree86 ei tööta.

### Seadistamine

Komposiitlaiend tuleb vahetult sisse lülitada. Lisa selleks X.org-i konfiguratsioonifaili uus sektsioon:

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

Kui sinu GPU (uuemate graafikakaartide graafikaprotsessor) seda toetab, aktiveeri renderdamise kiirendamine. NVIDIA toetab seda päris hästi, ATI suhteliselt kesiselt.

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

Nüüd peaks &kappname; kasutamisvalmis olema. Rohkem infot annab KKK.

## Seadistused

Käesolev peatükk kirjeldab, milliseid parameetreid on võimalik muuta, kuidas nende muutmine visuaalselt väljendub ja mida see jõudlusele tähendab.

### Läbipaistvus

Läbipaistev objekt on selline, mis lubab valgusel endast läbi minna. Töölaual asuva akna korral tähendab see seda, et akna sisu on võimalik näha ka läbi selle peal paikneva akna.

Läbipaistvus võimaldab spetsiaalseid aknaid rõhutada, anda töölauale ruumilist välimust, hoida silma peal teiste alla jäänud akendel või ka lihtsalt mõnusat tunnet luua. Kuid seline mõnu ja asjade ühtesulatamine tuleb mõistagi süsteemi suurema koormuse arvelt.

Läbipaistvust saab eraldi seadistada järgmistel elementidel:

Aktiivsed aknad

  Soovitatav on aktiivse akna läbipaistvus välja lülitada. Peamine põhjus on jõudlus, teiseks aga tähendab sisu uurimine läbipaistvas aknas parajat peavalu ja on üldiselt üpris kurnav.

Mitteaktiivsed aknad

  Kui muuta mitteaktiivsed aknad läbipaistvaks, tulevad aktiivsed aknad paremini esile ja neile on lihtsam keskenduda. Kui aga valida väike väärtus, võib olla keerukas hiljem mitteaktiivseid aknaid üles leida. Kui valida väga väike väärtus (< 20%), ei pruugi akende eristamine üldse enam võimalik olla ning sa võid hoopis klõpsata mõne dialoogi nupule OK, kuigi tahtsid ainult akent aktiveerida. Optimaalsed väärtused on vahemikus 60% kuni 80%.

Liikuvad aknad

  Kuigi akende liigutamisel võib läbipaistvus (< 20%) olla päris vahva, mõjutab see märgatavalt jõudlust, eriti kui sa ei ole varje (vaata allpool) välja lülitanud. Kuid seda tasub proovida ja kui süsteem tundub liiga aeglaseks muutuvat, on mõtet jätta aknad liigutamisel läbipaistmatuks. See väärtus käib ka akende kohta, mille suurust muudetakse.

Dokitud aknad

  Kuna paneelile dokitud aknaid liigutatakse harva ja enamasti on need üsna tillukesed, on see rohkem silmailuks ega mõjuta märkimisväärselt süsteemi jõudlust.

Teiste peal hoitavaid aknaid peetakse aktiivseks

  Kui oled määranud akna paiknema teiste peal, soovid ilmselt enamasti seda ka fookuses hoida, nii et on mõttekas seda aktiivsete akende moodi rõhutada.

ARGB akende keelamine

  XRender toetab alfamaskiga aknaid, &ie; läbipaistvaid sektsioone. Praegu on äärmiselt vähe rakendusi, mis seda võimalust ära kasutavad, sest ilma komposiidihaldurita ei ole sel erilist mõtet. Tulevikus võib asi muidugi muutuda.

  Samas kehtestab enamik GTK 1.x rakendusi (⪚ xmms) sellise alfamaski, mille tulemuseks on peaaegu kasutamiskõlbmatud aknad (kui just allasuvad aknad ei ole päris mustad), mistõttu võiks ARGB akende toetuse välja lülitada, et ka GTK rakendusi normaalselt kasutada. Loodetavasti paigatakse GTK peagi, et sellest probleemist üle saada.

### Varjud

Miks peaks keegi tahtma, et aknad varje heidaks? Nojah, see on ju lihtsalt lahe või siis lubab aknaid paremini eristada või ... nojah, tegelikult on see päris lahe!

Varjude kasutamine

  Kuna varjud nõuavad omajagu CPU/GPU võimsust, on nad välja lülitatud, samas säilitatakse üldine alfakanali funktsioon.

Aktiivse akna suurus
Mitteaktiivse akna suurus
Dokitud akna suurus

  Akende erinevatele olekutele ja tüüpidele saab valida erineva varju suuruse. Väärtused ei ole absoluutsed, vaid arvestavad ekraanilahutusega.

  Põhimõtteliselt võib määrata mis tahes väärtuse (konfiguratsioonifaili tekstiredaktoris muutes kaugelt enam kui dialoogi 32), kuid suurem vari koormab rohkem CPU/GPU-d.

Püstnihe
Rõhtnihe

  Vaikimisi heidab aken igas suunas võrdse varju, nagu valgustataks seda eest. &MacOS;-i kasutajatele võib meeldida püstnihe, &Windows; kasutajatele kerge nihe kagu suunas. Katseta, kuni leiad meelepärased väärtused.

Varju värv

  Tavaliselt on vari, mis tähendab ju valguse puudumist, hallikates toonides (nii et maksimaalne varju värv on must ehk valguse täielik puudumine), kuid arvutis on tegemist ju virtuaalse maailmaga ja siin võib heita isegi roosat varju!

Liikumisel varjud eemaldatakse

  Sisselülitamisel paraneb jõudlus (eriti juhul, kui kasutad läbipaistvaid liikuvaid aknaid).

Suuruse muutmisel varjud eemaldatakse

  See on mõttekas sisse lülitada sellele vaatamata, kas kasutada akende suuruse muutmisel (liigutamisel) läbipaistvust või mitte. Suuruse muutmisel luuakse akna varju pikselraster kogu aeg uuesti, mis mõjutab tunduvalt süsteemi jõudlust.

### Efektid

Hajuvad aknad
Hajumine läbipaistvuse muutumisel

  Uued aknad ei pruugi ühe hooga esile tulla, vaid võivad ka tasapisi nähtavale ilmuda ning kaduda. See on küll muljetavaldav, kuid sama muljetavaldav on selle efekti mõju jõudlusele ja süsteemi kiirusele ning tegelikult on ka suhteliselt keeruline tegelda akendega, mis parajasti hajuvad.

Ilmumise kiirus
Hajumise kiirus

  Põhjustel, mida mainisime valikut Hajuvad aknad tutvustades, on praktiline kasutada kiiret ilmumist ja (silmailu huvides) aeglast hajumist. See tagab päris laheda efekti, jätab süsteemist parema mulje ning ka info ei kao nii kiiresti.

## Probleemid

Komposiitlaiendus on veel päris uus. See võib tekitada mitmesuguseid probleeme ja isegi X'i krahhi, mistõttu on väga soovitatav komposiitlaiendust failis Xorg.conf mitte sisse lülitada missioonikriitilistes süsteemides. Kui sa aga ei pelga võimalikku ebastabiilsust, siis annab selle kasutamine kindlasti omajagu juurde esteetilises mõttes.

Kasutamise korral võib esineda teatud probleeme. Tutvustame siin mõningaid, mis paistavad olevat levinumad, ning räägime, kuidas neist üle saada:

Mul on X.org 6.8.x, aga &kappname; ei hakka tööle

Komposiitlaiendus tuleb otseselt sisse lülitada, lisades selleks vastava sektsiooni faili /etc/X11/XorgConfig:

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

Olgu, &kappname; töötab, aga on neetult aeglane

Kui GPU seda toetab (peamiselt NVIDIA, aga ka mõnel ATI kaardil), kontrolli, et oleksid aktiveerinud renderdamise kiirendamise:

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

Kui see kiirust ei paranda, võiks proovida mälukasutust kohendada. Selleks võib vähendada ekraanisügavust (⪚ 24 pealt 16 peale) või lahutust (⪚ 1280x1024 pealt 1024x768 peale).

Palun arvesta, et praegu paistab komposiitlaienduse üks piiravaid tegureid olevat CPU puhvri suurus.

Pärast komposiitlaienduse sisselülitamist ei saa ma enam üldse GLX-rakendusi kasutada. Mul on NVIDIA kaart.

Mõningate probleemide tõttu on NVIDIA GLX-i toetuse välja lülitanud, kui komposiit on sisse lülitatud. Seda saab muidugi uuesti aktiveerida, kuid teatud kerneli/draiveri/GPU kombinatsioonide korral võivad tõesti probleemid tekkida.

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

Tahtsin mängida SDL-i (aga mitte GL-i) kasutades üht mängu (näiteks scummvm), aga kui compmgr on sisse lülitatud, näen ainult varju!

SDL on teatanud, et PictType tekitab probleeme.

Lahendus:

    Selle asemel, et kutsuda scummvm vahetult välja, kutsu see välja käsuga
    SDL_VIDEO_X11_VISUALID=0x24 scummvm.
    See annab SDL-ile käsu kasutada toetatud vormingut ning sa saad mängida just nii, nagu oled harjunud.

Rakendus XXX ei hakka pärast komposiitlaienduse sisselülitamist enam tööle.

Rakendust YYY tabavad pärast komposiitlaienduse sisselülitamist pidevalt krahhid.

Rakendus ZZZ paistab pärast komposiitlaienduse sisselülitamist üsna veider.

Komposiitlaiendus on ikka veel eskperimentaalne.

Lahendus:

Selle asemel, et kustuda `rakenduseNimi` vahetult välja, kutsu see välja käsuga `XLIB_SKIP_ARGB_VISUALS=1 rakenduseNimi`

Rakendused, millega teadaolevalt tekib probleeme:

- Kõik GTK1 rakendused (⪚ gmplayer, xmms gaim) - käivitamine ebaõnnestub või paistavad kasutuskõlbmatud ja veidrad või X'i krahh

- &kuickshow; - näitab ainult musta raami

- &Qt; Disainer - X'i krahh

- &kopete; - X'i krahh

- &kolf; - X'i krahh

Püüan videot vaadata, aga näen aknas ainult artefakte.

Sa kasutad video taustaprogrammina xv'd. See töötab ülelaotusrežiimis, mille korral video sisu kirjutatakse X'i vahele jättes otse videokaardi mällu. Seepärast paistab aken olevat staatiline (värvilise taustaga) ning damage-laiendus ei uuenda seda.

Loodetavasti see probleem peagi parandatakse. Praegu annab parimaid tulemusi Xine kasutamine, kuid läbipaistva video esitamine ei ole nagunii kuigi kiire.

## Autorid ja litsents

### Autorid

Thomas Luebking baghira-style@gmx.net - toimetaja

&underFDL; &underGPL;