Ydelse for Skrivebordseffekter

From KDE UserBase Wiki
Revision as of 09:07, 25 February 2013 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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å Grafikinformation -> OpenGL 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å.

Information om OpenGL i KInfoCenter
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 Systemindstillinger -> Alle effekter. Når den er aktiveret, så skal skærmen inverteres når du bruger genvejen Meta + Ctrl + I. Hvis skærmen inverteres, så bruges OpenGL 2, men hvis der ikke sker noget, så bruges OpenGL 1.

Man kan tvinge KWin til at bruge OpenGL 1 ved at gå til Systemeindstillinger -> Skrivebordseffekter -> Avanceret og fravælge Brug OpenGL 2 shaders. 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).

Tip

Med moderne hardware giver OpegGL 2 shaders bedre ydelse en OpenGL 1. Det er ikke den bedste måde at opnå god ydelse at deaktivere denne mulighed.


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.

Advarsel

Det betyder også, at hvis din almindelige KWin ikke virker i OpenGL2-tilstand, så gør kwin_gles det sandsynligvis heller ikke.


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 Systemindstillinger -> Skrivebordseffekter -> Avanceret -> Skaleringsmetode. 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: Klar
Glat: Glat
Præcis: 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 Systemindstillinger -> Skrivebordseffekter -> Generelt -> Animationshastighed. 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.

  • 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: Systemindstillinger -> Arbejdsområdets udseemde -> Vinduesdekorationer -> Indstil dekoration... -> Generelt -> Aktivér animationer. Det kan forbedre ydelsen af deaktivere animationer.

Alle vinduesdekorationer som kan downloades med Hent nye dekorationer... 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 Skygger, 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 Systemindstillinger -> Skrivebordseffekter -> Alle effekter og klikke på knappen . 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.

Avancerede indstillinger for skrivebordseffekter

Der er nogle avancerede indstillinger for compositoren under Systemindstillinger -> Skrivebordseffekter -> Avanceret. 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 Type af compositing 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.

Information

Standarden OpenGL er det rigtige valg, medmindre der er en særlig grund. Hvis OpenGL ikke er tilgængelig her, så faldes der automatisk tilbage på 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

Advarsel

Denne indstilling er forældet og er blevet fjernet i 4.7 (udgivet i juli 2011). Enhver indstilling undtagen standardværdien Tekstur fra pixmap vil sandsynligvis ødelægge dit skrivebord.


Aktivér direkte rendering

Advarsel

Indstillingen er forældet og er blevet fjernet i 4.8 (udgivet i januar 2012).


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.