<para>&kappname; is een "composite rendering engine" die door &twin; gebruikt wordt.</para>
<para>Dit document is meer een algemene uitleg van wat het doet, hoe het werkt en wat de beperkingen zijn, en niet echt documentatie over hoe u het moet gebruiken (het werkt dan ook automatisch op de achtergrond).</para>
<para>&kappname; is gebaseerd op <application>xcompmgr</application>, Keith Packards referentie implementatie voor het gebruik van de nieuwe X-functies.</para>
<para>Een composite manager vangt de uitvoer van de X-windows en rendert deze als een enkele afbeelding, die dan op het scherm geplaatst wordt. Het voordeel van deze werkwijze is dat u bijna alles met de vensterinhoud kunt doen, zoals ze laten samenvloeien (transparantie) of schaduwen aanbrengen. U kunt ze ook inkleuren, een vervelende advertentie op elk venster plaatsen, ze in elkaar drukken, breken, scanlijnen toevoegen, of wat u maar kunt bedenken. U wordt alleen beperkt door de hardware.</para>
<para>Het is noodzakelijk dat u <emphasis>X.org 6.8 of nieuwer</emphasis> hebt om &kappname; te laten werken. Met X.org 6.7 of ouder of XFree86 werkt het niet.</para>
<para>Activeer de "Render-acceleration" (grafische versneller) als dit door uw <acronym>GPU</acronym> (de complexe chip die op moderne grafische kaarten het rekenwerk doet) ondersteunt wordt. Dit wordt het beste ondersteund door <trademark>NVIDIA</trademark>-kaarten en minder goed door ATI-kaarten.</para>
<para>Een transparant object laat licht door. In het geval van vensters op het bureaublad betekent het, dat de inhoud van vensters onderop zichtbaar is door het venster heen dat bovenop ligt.</para>
<para>Met transparantie kunt u bepaalde vensters duidelijker herkenbaar maken, een 3-dimensionaal beeld van het bureaublad krijgen, zien waar bedekte vensters zich bevinden, en het ziet er gewoon leuk uit. U betaalt er wel een prijs voor: het gebruikt meer systeembronnen.</para>
<listitem><para>We raden u aan om de transparantie voor het actieve venster uit te schakelen. De belangrijkste reden is dat de prestatie vermindert, de tweede reden is dat uw hersenen de irritante informatie die door het venster heen schijnt moet uitfilteren om de inhoud van een transparant venster te kunnen lezen, wat erg vermoeiend is.</para>
<listitem><para>Als u inactieve vensters transparant maakt, worden actieve vensters duidelijker herkenbaar en ze springen direct in het oog. Als u echter een lage waarde kiest, wordt het moeilijker om een inactief venster te zien. Als u een erg lage waarde (< 20%) kiest, wordt het bijna onmogelijk om vensters in de stapel te onderscheiden, u kunt dan per ongeluk op <guibutton>OK</guibutton> in een dialoogvenster klikken als u het venster alleen maar wilde activeren. Optimale waarden liggen tussen 60% en 80%.</para>
<term><guilabel>Vensters die verplaatst worden</guilabel></term>
<listitem><para>Hoewel het een fraai effect oplevert om een zeer transparant (dekking < 20%) venster te verplaatsen, is er een hoge prijs aan verbonden wat betreft de prestatie, vooral als u schaduwen niet uitschakelt (zie hieronder). Probeer het gewoon en als u merkt dat het systeem te langzaam wordt, laat u de vensters die verplaatst worden ondoorschijnend. Deze waarde heeft ook betrekking op vensters waarvan de grootte aangepast wordt.</para>
<listitem><para>Omdat vastgezette vensters, zoals Kicker, zelden of nooit verplaatst worden en meestal niet zo groot zijn, heeft het alleen een effect en wordt de prestatie van het systeem niet nadelig beïnvloed.</para>
<term><guilabel>Behandel vensters "op voorgrond" als actieve vensters</guilabel></term>
<listitem><para>Als u een venster op de voorgrond wilt houden, wilt u het in het algemeen in beeld houden, het is dan logisch om het dezelfde herkenbaarheid te geven.</para>
<listitem><para>XRender ondersteunt vensters met een alfa-masker, &ie; transparante gedeelten. Op het moment zijn er bijna geen toepassingen die van deze functie gebruik maken, omdat dit weinig zin heeft zonder het gebruik van een composite manager. Dit kan in de toekomst veranderen.</para>
<para>Aan de andere kant stellen de meeste gtk 1.x-toepassingen (⪚ <application>xmms</application>) zo'n alfa-masker in, dat de vensters bijna onbruikbaar worden (als de onderliggende vensters niet zwart zijn). U kunt de ondersteuning voor ARGB-vensters hier uitschakelen om gtk-toepassingen te kunnen gebruiken. Hopelijk komt er in de nabije toekomst een "patch" om dit te repareren.</para>
<para>Waarom zou iemand willen dat een venster schaduwen maakt? Misschien alleen omdat het er leuk uitziet, of omdat de vensters beter uit elkaar te houden zijn, of... omdat het er leuk uitziet!</para>
<listitem><para>Omdat schaduwen wat van de cpu/gpu vergt, kunnen ze uitgeschakeld worden met behoud van algemeen functioneren van het alfa-kanaal.</para>
<term><guilabel>Grootte van actief venster</guilabel></term>
<term><guilabel>Grootte van inactief venster</guilabel></term>
<term><guilabel>Grootte van vastgezet venster</guilabel></term>
<listitem><para>U kunt verschillende afmetingen voor de schaduwen voor verschillende typen vensters instellen. De waarden zijn niet absoluut, maar afhankelijk van de schermresolutie.</para>
<para>In principe kunt u elke waarde instellen (als u het configuratiebestand in een editor bewerkt, kunt u veel verder gaan dan <quote>32</quote>), maar grotere schaduwen vergen ook meer van de cpu/gpu.</para>
<listitem><para>Standaard komt er <quote>rondom een even brede</quote> schaduw, wat impliceert dat het licht van voren komt. Gebruikers die bekend zijn met &MacOS; hebben misschien liever een schaduw met een verticale offset, &Windows;-gebruikers hebben misschien voorkeur voor een offset rechtsonder. U kunt met de waarden experimenteren tot het naar uw zin is.</para>
<listitem><para>Gewoonlijk zijn schaduwen de afwezigheid van licht en worden ze weergegeven in grijstinten (zodat de diepste schaduwkleur zwart is, er is helemaal geen licht). Maar dit is een virtuele wereld, als u roze schaduwen wilt hebben, waarom ook niet?</para>
<term><guilabel>Schaduwen weglaten bij aanpassen van grootte</guilabel></term>
<listitem><para>Het is een goed idee om deze optie in te schakelen, of u de vensters nu transparant houdt bij het veranderen van de grootte (verplaatsen) of niet. De schaduw-pixmap van het venster moet continu opnieuw gemaakt worden, wat erg veel van het systeem vergt.</para>
<term><guilabel>Overvloeien bij veranderende dekking</guilabel></term>
<listitem><para>In plaats van een venster direct op het scherm te laten zetten, wilt u het misschien langzaam laten verschijnen, Dit ziet er indrukwekkend uit, maar het vergt ook indrukwekkend veel van het systeem. Bovendien is het moeilijk om op vensters te reageren die langzaam verschijnen. </para>
<listitem><para>Om de redenen die bij <guilabel>Vensters langzaam laten verschijnen</guilabel> al genoemd zijn, is het het meest praktisch om een hoge verschijnsnelheid en (voor een leuker visueel effect) een lage verdwijnsnelheid te gebruiken. Dit geeft mooie effecten en een soepel draaiend systeem, bovendien hoeft u niet lang op informatie te wachten.</para>
<para>De gehele Composite-extensie is vrij nieuw, Het kan verscheidene problemen veroorzaken, het kan zelfs X laten crashen, dus <emphasis>raden we u dringend aan om op kritieke productie-systemen de Composite-extensie in Xorg.conf zelfs niet in te schakelen</emphasis>. Als u echter een ietwat instabiel systeem kunt riskeren, is het toch wel leuk om wat visuele effecten te hebben.</para>
<para>Als dit ondersteund wordt door uw <acronym>GPU</acronym> (hoofdzakelijk <trademark>NVIDIA</trademark>, en in mindere mate door ATI-kaarten), zorg er dan voor dat u de Render-acceleration (grafische versneller) geactiveerd hebt.</para>
<para>Als het nog steeds langzaam is, kunt u proberen om het geheugengebruik bij te stellen. U kunt ofwel de schermdiepte verlagen (⪚ van 24 naar 16), ofwel de resolutie verlagen (⪚ van 1280x1024 naar 1024x768).</para>
<para>Na het inschakelen van de Composite-extensie kan ik geen enkele <acronym>GLX</acronym>-toepassing meer draaien. Ik heb een <trademark>NVIDIA</trademark>-kaart.</para>
<para>Ter voorkoming van sommige problemen heeft <trademark>NVIDIA</trademark> de ondersteuning van GLX uitgeschakeld wanneer Coposite geactiveerd is. Het kan weer ingeschakeld worden, maar dit kan problemen veroorzaken bij enkele kernel/driver/GPU-combinaties.</para>
<para>Ik wilde een spelletje doen dat <acronym>SDL</acronym> (maar geen <acronym>GL</acronym> gebruikt), zoals <application>scummvm</application>, maar wanneer de compmgr actief is, zie ik alleen maar een schaduw!</para>
<listitem><para>Alle gtk1 toepassingen (⪚ <application>gmplayer</application>, <application>xmms</application>, <application>gaim</application>) - weigeren op te starten of zien er raar uit of laten X crashen.</para></listitem>
<listitem><para>&kuickshow; - laat alleen een zwart frame zien</para></listitem>
<listitem><para>&Qt; <application>Designer</application> - laat X crashen</para></listitem>
<listitem><para>&kopete; - laat X crashen</para></listitem>
<listitem><para>&kolf; - laat X crashen</para></listitem>
<para>U gebruikt <quote>xv</quote> als video-backend. Dit is de "overlay"-modus, hier wordt de inhoud van de video rechtstreeks, buiten X om, naar het geheugen van de videokaart gestuurd. Daarom schijnt het venster statisch (gekleurde achtergrond) te zijn en wordt niet door de damage-extensie bijgewerkt.</para>
<para>In de toekomst wordt dit hopelijk gerepareerd. Momenteel geeft <application>Xine</application> de beste resultaten, maar het afspelen van transparante video's gaat, hoe dan ook, traag.</para>