Ydelse for Skrivebordseffekter
Ydelse for Skrivebordseffekter
KDE Plasma arbejdsfladers ydelse for skrivebordseffekter bestemmes hovedsaligt af samspillet mellem grafikhardwaren (GPU), dens driver og Compositoren (Kwin). Compositoren prøver at vælge de bedst mulige indstillinger for din GPU ved at forespørge driveren om, hvad hardwaren understøtter. Undertiden kan det forbedre ydelsen, hvis du hjælper KWin med at finder ud af, hvad hardwaren virkelig understøtter.
Vælg den korrekte driver
Find ud af hvilken driver, der bruges
Det er vigtigt at have den rigtige driver installeret og bruge den. Hvis ingen driver eller en forkert driver bruges, så falder skrivebordseffekterne tilbage på en ikke-accelereret motor (XRender).
Information om den anvendte driver findes i KInfoCenter. Klik på og studér informationen, som vises i dette modul. Den relevante information findes i afsnittet Driver, specielt Producent, Rendering og OpenGL/ES-version. Informationen kommer fra driveren og kan være vanskelig at forstå.
Hvis der ud for Rendering står "Software Rastrerizer", så er der ikke installeret en driver. For alle andre drivere bør du tjekke om det er den rigtige der bruges. |
Tilgængelige drivere
AMD/ATI
Der er to tilgængelige drivere til AMD/ATI: Den ikke-frie fglrx eller Catalyst og den frie Mesa (kendt som radeon, r300 eller r600). Driveren fglrx har ikke al funktionalitet tilgængelig og Mesa synes generelt at have en bedre ydelse. Bruger du skrivebordseffekter, så anbefales det altid at bruge Mesa-driveren. Hvis der står "Mesa" ved OpenGL/ES-version, så bruger du den frie driver og skal ikke gøre mere.
Mesa-driveren findes i en ældre og en nyere version. Sørg for, at du bruger den nyere version, hvilket du kan se ved, at ordet "Gallium" optræder ved Rendering.
Intel
Intel-hardware bruger den frie Mesa-driver. Der findes ingen alternativer.
NVIDIA
Der findes to drivere til NVIDIA: den ikke-fri NVIDIA-driver og den frie Mesa-driver (også kendt som nouveau). Den frie driver er stadig under intens udvikling og findes ikke i alle distributioner og for al hardware. Generelt anbefales den ikke-fri driver. Hvis der står NVIDIA ved OpenGL/ES-version, så bruger du den ikke-fri driver.
Installation af driveren
Det afhænger af din distribution, hvordan du installerer drivere. Se mere om dette i din distributions dokumentation.
OpenGL-version
KWin understøtter OpenGL 1.x og OpenGL 2.x. Som standard bruger KWin funktioner fra OpenGL 2, hvis de er tilgængelige. OpenGL 2 lader dig bruge flere effekter, men behøver kraftigere hardware. Det er vigtigt at vide, at selv hvis din driver kun understøtter fx OpenGL 1.4, så er det muligt, at KWin bruger funktioner fra OpegGL 2, som er tilgængelige via udvidelser til driveren.
Du kan se, hvilken version af OpenGL din driver udbyder ved "OpenGL/ES-version" i KInfoCenter som beskrevet ovenfor. Versionen defineres i de første to eller tre decimaler, fx 2.1.
Det er ikke let at finde ud af, om KWin bruger OpenGL 1 eller 2, da dette alene bestemmes ved opstarten. Den bedste måde at teste det er at bruge effekten Invertér, som kan aktiveres i Meta + Ctrl + I. Hvis skærmen inverteres, så bruges OpenGL 2, men hvis der ikke sker noget, så bruges OpenGL 1.
. Når den er aktiveret, så skal skærmen inverteres når du bruger genvejenMan kan tvinge KWin til at bruge OpenGL 1 ved at gå til
og fravælge . Dette kan forbedre ydelsen for ældre hardware. Generelt er det helt sikkert at bruge OpenGL 2 shaders, hvis driveren har vesion 3.x (det er kun tilgængeligt for NVIDIA i øjeblikket).
kwin_gles
Fra version 4.8 af KWin er det muligt at bruge kwin_gles, som er bygget særskilt, som en erstatning for KWin. Den opfører sig næsten på samme måde som KWin i OpenGL2-tilstand med den lille forskel, at den bruger egl istedet for glx som det medfødte platformsinterface.
For at teste kwin_gles skal du køre kwin_gles --replace
i Konsole. Da dette er en ret ny funktion, så er den ikke lige så grundigt testet som den normale KWin, og feedback er altid velkommen. Hvis testen lykkedes og du gerne vil bruge kwin_gles regelmæssigt, så kan du føje et udførbart script til ~/.kde4/env/, som eksporteret miljøvariablen KDEWM=kwin_gles
.
Skalering af miniaturer
Compositoren understøtter forskellige skaleringsmetoder til visning af miniaturer i opgavelinjen eller i effekter som Præsentér vinduer. Miniaturerne forsøges vist så præcist som muligt, hvilket selvfølgelig kræver flere ressourcer.
Skaleringsmetoden kan ændres i
. Der er følgende valgmuligheder:- Klar
- Glat
- Præcis
Tabellen giver et overblik over, hvordan miniaturer ser ud med de forskellige indstillinger.
Overblik over, hvordan miniaturer ser ud med de forskellige indstillinger | |
---|---|
Klar: | |
Glat: | |
Præcis: |
Som standard bruges Præcis. På Intel-hardware bruges Præcis dog aldrig og kan ikke aktiveres medmindre miljøvariablen KWIN_FORCE_LANCZOS er sat til 1.
Det kan forbedre ydelsen ved effekter som Præsentér vinduer at skifte fra Præcis til Glat.
Generel hastighed af animationer
Animationer tager en vis tid, og animationernes varighed er det der får en brugerflade til at virke responsiv eller træg. Det er en meget subjektiv fornemmelse, og forskellen imellem for hurtig og for langsom kan være millisekunder. Det er umuligt at finde én værdi, som passer alle perfekt.
Det globale niveau for animationers varighed kan ændres med
. Det varierer fra "Ekstremt langsomt" til "Øjeblikkelig", hvilket ikke viser nogen animation. Mange brugere har rapporteret, at de fik en mere responsiv brugerflade ved at skifte fra "Normalt" til "Hurtigt".Qt's grafiksystem
Siden 4.7 (udgivet i juli 2011) kan compositoren bruge Qt's grafiske system raster i stedet for native (X11). Det er kun relevant for visning af vinduesdekorationer og er ikke relateret til hvilken type compositing der bruges (OpenGL/XRender).
Hvilket grafiksystem der anvendes afhænger af din distributions standardvalg. Det anbefales at bruge raster til compositoren, især hvis du bruger NVIDIA's driver. KWin vil altid vælge det bedste grafiksystem til din valgte kompositor. Følgende generelle kombinationer kan anbefales:
- OpenGL with raster
- XRender with native
- No Compositing:
- native in case of remote connections (recommended window decoration: Laptop)
- raster if using fancy window decoration (including Oxygen and Plastik in 4.10 or later)
Vinduesdekorationer
Nogle vinduesdekorationer udfører animationer, når et vindue bliver aktiveret. Det får så indflydelse på ydelsen af effekter, hvis det aktive vindue ændres under en animation. Forringelsen af ydelsen kan reduceres ved at bruge grafiksystemet "raster" (se ovenfor).
Standard-vinduesdekorationen Oxygen giver mulighed for at deaktivere animationerne:
. Det kan forbedre ydelsen af deaktivere animationer.Alle vinduesdekorationer som kan downloades med
bruger sådanne animationer, men det er ikke muligt at deaktivere dem. Hvis et tema giver anledning til forringet ydelse, så anbefales det at bruget et andet. Generelt er dekorationstemaer ikke optimerede; de er til for at se godt ud, ikke for at være hurtige.Skygger er et andet aspekt af vinduesdekorationer, som kan påvirke ydelsen. Igen har du mulighed for at deaktivere skygger i standardtemaet Oxygen i den samme indstillingsdialog som beskrevet ovenfor i fanebladet
, men dekorationstemaerne give ikke mulighed for at deaktivere skygger.Effekten Slør
Blandt compositorens effekter er Slør er en de mest krævende. Som standard er den aktiveret på al hardware undtagen Intels. Slør-effektens indflydelse på ydelsen afhænger af antallet af åbne og gennemsigtige vinduer. Især påvirker gennemsigtige vinduesdekorationer (fx Oxygen Translucent) og gennemsigtige vinduesdekorationer (fx Aurorae-temaer) ydelsen. Hvis sådanne temaer anvendes og ydelsen er ringe anbefales det enten at skifte tema eller deaktivere slør-effekten.
Slør-effektens ydelse kan justeres ved at gå til . Trækker du skyderen for effektens styrke mod Let, så bruger effekten færre ressourcer end hvis skyderen trækkes mod Stærk. Fra 4.8 (udgivet i januar 2012) kan mellemresultater af renderingen gemmes (det er standard), hvilket forbedrer ydelsen selv med gennemsigtige temaer.
og klikke på knappenAvancerede indstillinger for skrivebordseffekter
Der er nogle avancerede indstillinger for compositoren under
. Nogle af dem er allerede blevet forklaret. Dette afsnit fokuserer på de resterende indstillinger. At ændre på disse indstillinger vil almindeligvis ikke forbedre ydelsen, det vil forringe den. Compositoren bruger de bedst mulige indstillinger.Type af compositing
Under
kan du vælge hvilken compositing-motor der skal bruges, XRender eller OpenGL. Som standard bruges OpenGL, som accelereres i hardwaren. XRender kan bruges, selv hvis der ikke er installeret nogen driver til OpenGL (fx i en virtuel maskine) og bruger hovedsaligt CPU'en til rendering. Mange effekter er ikke tilgælgelige med XRender.
Behold miniaturer af vinduer
Dette har næppe nogen indflydelse på ydelsen. Det er et tilvalg, som afgør hvor længe miniaturer beholdes. Lad hellere denne indstilling være.
Suspendér skrivebordseffekter for fuldskærm-vinduer
Denne indstilling påvirker ydelsen af fuldskærm-vinduer som fx i spil. Compositoren suspenderes sålænge skærmen dækkes helt af et vindue. Ulempen ved den indstilling er, at den forårsager flimmer når et vindue (fx en kontekstmenu) dukker op oven på fuldskærm-vinduet og at den er for generel. På nogle distributioner (fx Kubuntu 11.04) forårsager Intel-driveren desuden systemnedbrud, når et fuldskærm-vindue lukkes.
Hvis compositoren skal deaktiveres mens et program med fuldskærm-vindue bruges, så er det bedre at deaktivere compositing enten ved at taste Alt + Skift + F12 eller siden 4.7 (udgivet i juli 2011) ved at lave en specifik regel for vinduet.
OpenGL-tilstand
Aktivér direkte rendering
Compositoren kan selv afgøre om direkte rendering kan og bør anvendes. Ændring af denne indstilling vil sandsynligvis medføre problemer.
Brug VSync
VSync lader dig synkronisere renderingen med skærmen. Medmindre der er god grund til at ændre indstillingen, så bør denne indstilling være aktiveret. Selv hvis indstillingen er slået fra vil compositoren prøve at bruge den billedfrekvens, som skærmen understøtter; som standard bruges en frekvens på 60 Hz.
Bruges flere skærme, så er det vigtigt at vide, at rendering kun kan synkroniseres med den ene skærm. Hvis skærmene har forskellige billedfrekvenser, så kan det være en god ide at angive en manuel billedfrekvens.