]> Information om &kappname; ThomasLuebking thomas.luebking@web.de Stefan Asserhäll
stefan.asserhall@comhem.se
Översättare
2005 Thomas Luebking &FDLNotice; 2005-01-15 2.0.1 &kappname; är en uppritningsmaskin för sammansättningar som används av &twin;. Det här dokumentet är mer en relativt allmän förklaring av vad den gör, hur den fungerar och vilka begränsningar den har, än en dokumentation av hur den används (eftersom den fungerar automatiskt i bakgrunden). KDE twin uppritningsmaskin
Inledning &kappname; är baserad på xcompmgr, Keith Packards referensimplementering för att använda de nya funktionerna i X. Sammansättningshanteraren fångar utmatning från X-windows och ritar upp dem i en enda bild som visas på skärmen. Fördelen med att göra detta är att man kan göra i stort sett vad som helst med fönstrens innehåll, inklusive att sammanfoga dem (genomskinlighet) eller lägga till skuggor. Man kan också tona dem, lägga till otrevlig reklam på varje fönster, klämma ihop dem, fragmentera dem, lägga till spår eller vad som helst annat du kan föreställa dig, bara begränsat av hårdvaran. Xorg Det är nödvändigt att ha X.org 6.8 eller senare för att få &kappname; att fungera. X.org 6.7 eller äldre eller XFree86 fungerar inte. Inställning Du måste explicit aktivera sammansättningsutökningen. Lägg till en ny sektion i X.org inställningsfil. Section "Extensions" Option "Composite" "Enable" EndSection Om det stöds av din grafikprocessor, GPU (den komplexa krets som styr moderna grafikkort), aktivera acceleration med Render. Det stöds bäst av NVIDIA, och mindre fullständigt av ATI-kort. Section "Device" .... .... Option "RenderAccel" "true" .... .... EndSection &kappname; ska nu vara tillgänglig. För mer information, se Vanliga frågor. Inställningar Det här kapitlet beskriver de parametrar du kan finjustera, vad deras synliga resultat blir och deras påverkan på prestanda. Genomskinlighet Ett genomskinligt objekt är ett som låter ljus passera igenom. När det gäller fönster på skrivbordet, betyder det att innehållet i fönster syns genom det som är överst. Genomskinlighet låter dig betona vissa fönster, få en tredimensionell vy av skrivbordet, hålla ordning på täckta fönster och bara se trevligt ut. Priset är att det kostar viss systemkapacitet att sammanfoga saker och ting. Du kan ställa in genomskinlighet oberoende för följande objekt: Aktiva fönster Du föreslås att inaktiverar genomskinlighet hos det aktiva fönstret. Den huvudsakliga orsaken är prestanda, och i andra hand eftersom när du tittar på innehållet i ett genomskinligt fönster måste hjärnan filtrera bort den irriterande informationen som lyser igenom, vilket är tröttande. Inaktiva fönster Om du ställer in inaktiva fönster att vara genomskinliga, verkar aktiva fönster vara betonade och är enklare att fokusera på. Om du dock väljer ett lägre värde, kan du ha svårighet att hitta ett inaktivt fönster. Om du väljer mycket låga värden (< 20 %) kanske du inte kan skilja på ordningen fönster är lagrade på varandra, så du kan klicka på knappen Ok av misstag i en dialogruta, när du bara ville aktivera ett fönster. De bästa värdena är mellan 60 % och 80 %. Flyttade fönster Även om det är en trevlig effekt med mycket genomskinlighet (med värdet < 20 %) när fönster flyttas, blir priset att betala i prestanda högt, särskilt om du inte inaktiverar skuggor (se nedan). Prova det och om du känner att systemet är långsamt, behåll fönster som flyttas ogenomskinliga. Värdet gäller också fönster där storleken håller på att ändras. Dockade fönster Eftersom systembrickor som Kicker sällan eller aldrig flyttas, och oftast har begränsad storlek, är detta enbart visuellt och påverkar inte systemets prestanda negativt. Behandla fönster med "Behåll över andra" som aktiva Om du ställer in ett fönster att vara ovanför andra, vill du ofta ha fokus på det, så det kan vara vettigt att ge det samma betoning. Inaktivera ARGB-fönster XRender stöder fönster med alfamask, dvs. genomskinliga delar. För närvarande finns det inga eller mycket få program som använder sig av funktionen, eftersom den inte är vettig utan att använda sammansättningshantering. Det kan ändas i framtiden. Å andra sidan, ställer de flesta GTK 1.x-program (t.ex. xmms) in en sådan alfamask, vilket resulterar i nästan oanvändbara fönster (så länge fönstret som ligger under inte är svart), så du kan inaktivera stöd för ARGB-fönster här för att kunna använda GTK-program. Det kommer förhoppningsvis finnas en programfix för GTK i en nära framtid för att rätta det här. Skuggor Varför skulle någon vilja att fönster kastar skuggor? Ja, kanske bara för att det ser snyggt ut, eller för att det tillåter bättre separation av fönster, eller... för att det ser snyggt ut! Använd skuggor En skugga kostar vissa extra prestanda för processorn och grafikprocessorn, så de kan inaktiveras medan en allmän alfakanalmöjlighet behålls. Aktiva fönsters storlek Inaktiva fönsters storlek Dockade fönsters storlek Du kan välja flera olika skuggstorlekar för olika fönstertillstånd eller -typer. Värdena är inte absoluta, utan gäller skärmens upplösning. I princip kan du ställa in alla värden du vill (om du redigerar inställningsfilen med en texteditor, lång mer än 32 som tillhandahålls), men större skuggor kostar mer prestanda hos processorn och grafikprocessorn. Vertikal position Horisontell position Normalt skulle fönstret kasta en skugga likadan runt omkring, som motsvarar en ljuskälla rakt framifrån. Användare bekanta med &MacOS; kan vilja ha en vertikal förskjutning, medan användare av &Windows; kan föredra en viss förskjutning åt sydost. Experimentera med värdena till du är nöjd. Skuggfärg Oftast syns skuggor som frånvaro av ljus i gråa nyanser (så den maximala skuggan är svart, eller inget ljus alls). Men det här är minsann en virtuell värld, och om du till och med skulle vilja ha rosa skuggor, så varför inte? Ta bort skuggor vid flyttning Markera det här om du behöver mer prestanda (särskilt när du använder genomskinliga fönster vid förflyttning). Ta bort skuggor vid ändring av storlek Det är en god idé att markera det här vare sig genomskinliga fönster används vid storleksändring (och förflyttning) eller inte. Punktavbildningarna av fönstrens skuggor måste skapas om hela tiden under storleksändring, vilket ger stor påverkan på systemprestanda. Effekter Tona in fönster Tona mellan ändringar i genomskinlighet Istället för att bara låta ett nytt fönster dyka upp, kan du vilja tona in det långsamt. Även om det ser imponerande ut, ger det ett lika imponerade pris i prestanda, och det är svårt att använda fönster som håller på att tonas på ett meningsfullt sätt. Intoningshastighet Uttoningshastighet På grund av användbarhetsorsakerna som nämns under Tona in fönster, är det mest praktiskt att använda en snabb intoningshastighet och (för mer ögongodis) en långsam uttoningshastighet. Det ger trevliga effekter och ett system som känns mjukt, samt låg latenstid innan information visas. Problem Hela sammansättningsutökningen är mycket ny. Den kan orsaka allvarliga problem, och till och med krascha X, så du uppmanas starkt att aldrig aktivera sammansättningsutökningen i Xorg.conf för kritiska produktionssystem. Om du dock kan ta risken med ett något mindre stabilt system, är det verkligen trevligt att se en del ögongodis. I följande fall kan du märka några problem. Här är några populära sätt att komma förbi dem: Jag har X.org 6.8.x, men &kappname; startar inte Du måste explicit aktivera utökningen Composite. Lägg till en ny sektion i /etc/X11/XorgConfig: Section "Extensions" Option "Composite" "Enable" EndSection Ok, &kappname; fungerar, men det är förskräckligt långsamt Om det stöds av din grafikprocessor, GPU, (i huvudsak NVIDIA-kort, och i viss mån ATI-kort), försäkra dig först om att du har aktiverat acceleration med Render. Section "Device" .... .... Option "RenderAccel" "true" .... .... EndSection Om den fortfarande är långsam kan du försöka justera minnesanvändningen. Minska antingen skärmdjupet (t.ex. från 24 till 16) eller minska upplösningen (t.ex. från 1280x1024 till 1024x768). Observera att den begränsande faktorn för sammansättningsutökningen för närvarande verkar vara processorns cachestorlek. Efter att ha aktiverat sammansättningshanteraren kan jag inte längre köra några GLX-program. Jag har ett NVIDIA-kort. För vissa problem inaktiverade NVIDIA stöd för GLX när sammansättningshanteraren är aktiv. Att aktivera det igen är möjligt, men kan orsaka problem för vissa kombinationer av kärna, drivrutin och grafikprocessor. Section "Device" .... .... Option "AllowGLXWithComposite" "true" .... .... EndSection Jag ville spela ett spel med SDL (men inte GL), såsom scummvm, men när sammansättningshanteraren har aktiverats kan jag bara se en skugga. Det här är ett problem med PictType som rapporteras av SDL. Ett sätt att komma förbi problemet: Istället för att direkt anropa scummvm, anropa SDL_VIDEO_X11_VISUALID=0x24 scummvm. Det talar om för SDL att använda ett format som stöds och du kan spela som vanligt. Program XXX vägrar starta efter sammansättningshanteraren har aktiverats. Program YYY förstör X efter sammansättningshanteraren har aktiverats. Program ZZZ ser konstigt ut efter sammansättningshanteraren har aktiverats. Sammansättningsutökningen är fortfarande experimentell. Ett sätt att komma förbi problemet: Istället för att anropa programnamn direkt, anropa XLIB_SKIP_ARGB_VISUALS=1 programnamn Program som är kända orsaker till problem: Alla GTK 1-program (t.ex. gmplayer, xmms, gaim): Misslyckas att starta, ser oanvändbart konstiga ut, eller kraschar X. &kuickshow;: Visar bara en svart ram &Qt; Designer: Kraschar X &kopete;: Kraschar X &kolf;: Kraschar X Jag försöker titta på en video, men ser bara artefakter i videofönstret. Du använder xv som videogränssnitt. Det är överlagringsläget, där videoinnehållet skrivs direkt till videokortets minne, och går förbi X. Därför verkar fönstret vara statiskt (färgad bakgrund) och uppdateras inte av skadeutökningen. Det kommer förhoppningsvis finnas en rättning av detta i framtiden. För närvarande fås bäst resultat vid användning av Xine, men att visa genomskinliga videor är ändå inte snabbt. Tack till och licenser Upphovsmän Thomas Luebking baghira-style@gmx.net: Redaktör &underFDL; &underGPL;