Archive:GPU-Performance/da

From KDE Wiki Sandbox
Revision as of 16:27, 13 October 2010 by Claus chr (talk | contribs) (Importing a new version from external source)

Template:I18n/Language Navigation Bar


Advarsel
Før du foretager nogen ændringer af dit system, så læs det hele omhyggeligt og prøv at forstå, hvad du gør. Hvis du ændrer en fil, så behold en kopi af den oprindelige version og vær sikker på, at du kan få den gamle udgave tilbage igen - selv hvis din Xserver ikke længere starter.


Advarsel
Nogle af de nedenfor omtalte ændringer siges at hæve temperaturen af din GPU. Under alle omstændigheder bør du overvåge dit grafikkort for at sikre dig, at det ikke bliver for varmt!


Introduktion

Adskillige populære grafikkort - især fra NVIDIA - har problemer med ydelsen under KDE 4. Disse ydelsesproblemer påvirker især Plasma - skrivebordet i KDE 4 - og KWin - KDE's vinduesmanager. Generelt set sker dette ikke fordi KDE 4 ikke er optimeret; det er et problem med grafikkortenes drivere. Nyere bærbare med Intel-chips har også alvorlige problemer i øjeblikket. Denne side omhandler nogle problemer, som kan opstå og hvordan man kommer dem til livs.

Almindelige tips

Grafikdrivere

For begge de to store grafikchip-producenter er der forskellige grafikdrivere, som kan bruges:

  • For NVIDIA-kort er der den frie drive nv og den ophavsretsbeskyttede driver nvidia. Selv om KDE 4 skulle fungere fint med nv, så har den ikke 3D-acceleration, så nvidia er måske din eneste valfmulighed. Alle De fleste afsnit her refererer til driveren nvidia (der er også en tredje mulighed - den fri driver nouveau, som er under udvikling i øjeblikket. Jeg ved desværre ikke hvor brugbar den er endnu). På grund af licensbetingelserne installerer de fleste distributioner ikke nvidia som standard. Få information om installatiun af den fra din distribution.
    • Nyt: Nvidia har fornylig udsendt en ny driver i beta, som skulle tage hånd om de fleste ydelsesproblemer som der har været med KDE 4. Den kan downloades i 64bit og 32bit versioner. Du skal tilføje nogle tilvalg til xorg.conf og aktivere visse funktioner ved opstart, se detaljerne i denne meddelelse på NvNews-forummet. Bemærk: Du skal kun installere beta-drivere, hvis du ved, hvad du gør.
    • Nyt 2: NVIDIA har udgivet en ny udgave 177.68 af beta-driveren, som retter et par fejl og skulle forbedre ydelsen med KDE 4's OpenGL compositing-manager. Mere information og downloads her. Den seneste beta-udgave er 177.70 og den skulle forøge ydelsen når du trækker appletter i Plasma og løse nogle problemer med ydelse og forvanskning ved tekstvisning. Mere information her.
    • Nyt 3: NVIDIA's version 177.70 af beta-driveren har forbedret understøttelse af RENDER-operationer med samme kilde so destination; dette skulle forbedre ydelsen i nogle situationer, fx nå man trækker appletter i Plasma. Mere information her.
    • Nyt 4: NVIDIA's version 177.80 af beta-driveren er udgivet her; nogle problemer med ydelse er blevet løst.
    • Nyt 5: NVIDIA's version 180.08 af beta-driveren er udgivet her; nogle problemer med ydelse er blevet løst. Se også her for den seneste udgave af beta-driveren.
  • For AMD/ATI-kort kar du også et par muligheder.Der er de frie drivere "ati" og "radeonhd" til X.org ("ati" omtales også som "radeon" uden "hd", men de fleste xorg-driverpakker, som jeg har set kalder den "ati"). De fleste distributioner synes at bruge "ati" som standard; den er kompatibel med kort fra de tidligste Radeoner og frem; "RadeonHD" er, som navnet antyder, kun til R500 og senere kort - det vil sige med produktnumre fra X1300 og opefter. Begge drivere skulle i bund og grund være brugbare til et almindeligt skrivebord, og de har den samme 3D-kode i mesa, så de skulle opføre sig ens i forhold til skrivebordeseffekter (bemærk, at understøttelse af 3D for kort nyere end R300 betragtes som ustabil og fra R600 er det helt eksperimentelt). Men hvis du har et X1300 eller senere kort og løber ind i problemer med den ene driver, så kan det ikke desto mindre være værd at prøve den anden. Du har også mulighed for at prøve den ophavsretsbeskyttede driver fglrx; den har dog begrænset understøttelse af ældre kort - læs mere om denne mulighed på AMD/ATI's hjemmeside. Nogle distributioner har denne driver i pakkearkiverne eller har den i pakkearkiver fra andre udbydere, og de er nok lettere at bruge end at downloade direkte fra AMD.

Det er sædvanligvis en god ide at holde sig up-to-date med forbedringer til driverne. Således er et første skridt til at forbedre din oplevelse med KDE 4 at checke dine drivere og opdatere dem, hvis de er forældede. Se mere i dokumentationen for din distribution om, hvordan du gør det.

Selvom det kan forbedre ydelsen yderligere, så anbefaler jeg ikke at installere beta-drivere, da det sandsynligvis vil gå ud over stabiliteten af dit system.

indstillinger af nvidia

Tilvalg, som du foretager i programmet nvidia-settings bliver ikke gemt permanent med mindre du kører det som root-bruger. Log ind som root i en terminal og start med

nvidia-settings&

Ellser skal du vælge dem hver gang du genstarter din Xserver. Dette kan gøres bekvemt ved at tilføje linjerne til at indstille funktionerne i din ~/.xinitrc

nvidia - problemet med sorte vinduer

Tilsyneladende løber ældre Nvidia-kort ind i det problem, at nyåbnede vinduer er helt sorte eller at de ikke genopfriskes ordentligt mere. Dette sker hvis composite er aktiveret og openGL bruges med mange vinduer åbne. Måske er kortet ved at have brugt al videohukommelsen? (problemet optræder også med vinduesmanageren compiz.) I KDE 4 kan du deaktivere composite/effekter med Shift + Alt + F12 for at fortsætte dit arbejde med skrivebordet normalt.

Problemet er, at tegning af vinduesdekorationerne bliver meget langsom hvis composite ikke er aktiveret (testet med KDE 4.3). Som et alternativ til at bruge 'openGL til compositing anbefales det at bruge XRender i dette tilfælde. Da bevægende effekter bliver meget langsomme med XRender, bør du sætte animationshastigheden til øjeblikkelig.

Systemindstillinger

I KDE 4 lader systemindstillinger dig også justere nogle indstillinger af kwin. Du kan finde indstillingerne i Skrivebord -> Skrivebordseffekter -> Avanceret. Om OpenGL eller XRender virker bedre afhænger af dit kort. For OpenGL kan Indstillingerne for OpenGL også have en effekt på ydelsen. Husk, at nogle af de førnævnte justeringer kan nødvendiggøre ændringer i dine indstillinger.

(Bemærkning fra bruger): XRender-tilstand hjalp MEGET på en 6800 GT (agp) med ophavsretsbeskyttede drivere, specielt ved visning af videoer (177.80).

Eksempler;

  • At sætte InitialPixmapPlacement til 2 kan forbedre plasmas ydelse, men kan få kwin til at hænge nogle gange.
  • Sætter du OpenGL-tilstand til Delt hukommelse, så bliver Kwin måske mere responsiv igen
  • (bemærkning bra bruger) At fravælge Brug VSync hjalp meget med et gforce 6800 (og også med et GeForce 8400M GT).

Hvis din Xserver a en eller anden grund hænger efter at du har klikket på knappen Anvend i dialogen og dine indstillinger går tilbage fordi du ikke kan bekræfte dine valg i tide, så prøv igen. Som regel vil det gå hurtigere en af de følgende gange. Hvis det ikke gør, så kan du stadig ændre dine indstillinger i ~/.kde4/share/config/kwinrc.

XGL

Hvis du stadig oplever dårlig ydelse efter installation af NVIDIA's beta-driver version 177.80 (særligt med 8xxx-9xxx serierne), så kan du installere xserveren XGL. Se din distributions dokumentation om, hvordan du gør det.

Note
XGL har *mange* problemer med 3d-programmer, xvideo og tastaturlayout, men med nogle videokort er det nu den eneste måde at nyde KDE 4 i fuld hastighed. XGL 'omgår' faktisk nvidias driver og bruger biblioteket mesa til at vise skrivebordet. OpenGL-baserede skrivebordseffekter kan ikke køre på XGL.


Fedora 10 (og senere) og xorg.conf (for nogle brugere)

Nogle af de justeringer, som er nævnt i denne artikel er rettet mod en fil, som normalt findes i /etc/X11/xorg.conf

Nogle brugere af Fedora 10 vil måske opleve, at denne fil ikke længere er til stede som standard (afhængigt af deres kort - enhver, der kender mere til dette må meget gerne uddybe), og den må så gendannes. Der er to måder at gøre dette på:

I en brugerflade

  • installer og kør pakken 'system-config-display' (når du klikker på OK efter at have foretaget dine indstillinger, så bliver filen xorg.conf genereret).

I en terminal

  1. åbn en kommandolinje
  2. skift til runlevel 1 ved at køre følgende kommando (som root)
    init 1
  3. kør
    Xorg -configure
    som root (når det bliver gjort, så genereres filen xorg.conf) eller du kan køre
    sudo Xorg -configure :1
    uden at skifte runlevel

Problemer

Dette afsnit opsummerer forskellige symptomer, som du kan støde på og prøver at forklare mulige årsager.

Ændring af vinduers størrelse foregår rykvist

  • Forklaring : Dette kan skyldes, at dit kort hævder at have ARGB Visuals (gennemskinnelighed) uden at understøtte dette ordentligt. Programmer og vinduer, som berøres er Plasma-skrivebordet, KRunner-dialogen (Alt + F2 ). Plasmas dialog Tilføj widgets... og terminalvinduer.

  • Test : Hvis du vil vide om du har dette problem, så kør
    XLIB_SKIP_ARGB_VISUALS=1 konsole
    i en kommandolinje og prøv at ændre størrelsen på det nye terminalvindue (når du sætter miljøvariablen XLIB_SKIP_ARGB_VISUALS, så slås ARGB visuals fra). Hvis du nu kan ændre størrelse på vinduet uden problemer, så er dette med sikkerhed et af de problemer, som du står overfor.
Note
Jeg har oplevet, at dette også fikser forsinkelsen af forhåndsvisninger i Dolphin. Bekræft venligst. --dpalacio 17:33, 27 July 2008 (CEST)


Generelt

  • Du kan aktivere tilvalget BackingStore i din xorg.conf:I afsnittet "Device"
    ...
    Option "BackingStore" "true"
    ...
EndSection "Device"
Dette virker for nogle vinduer (fx Konsole) men desværre ikke for alle.
  • Som en sidste udvej kan du prøve at sætte
    XLIB_SKIP_ARGB_VISUALS=1
    i ~/.xinitrc, men det er ikke kønt.

NVIDIA

  • Du kan sætte IntialPixmapPlacement med programmet nvidia-settings:
$ nvidia-settings -a InitialPixmapPlacement=2
Dette virker for nogle (men desværre ikke for alle ) NVIDIA-kort.

NV/Intel

  • Du kan aktivere EXA Acceleration

I afsnittet "Device" i xorg.conf

    ...
    Option "AccelMethod" "EXA"
# valgfri; kan forbedre ydelsen, men introducere synlige artefakter
#    Option "MigrationHeuristic" "greedy" 
    ...
EndSection "Device"

Ydelsen vil blive noget bedre på ældre X-servere (<=1.4.2) og betydeligt bedre på de nyeste versioner (>=1.4.99.901) med dette tilvalg.

  • Problemet med dårlig ydelse ved effekter kan løses ved at bruge Intel videodrivere 2.6.3.1 eller højere (i mit tilfælde på en deb-baseret distribution) med kerne 2.6.30-rc1 eller højere med UXA valgt til i xorg.conf således:

Bemærk: Hvis du bruger kerne 2.6.29, så er der mange fejl og xorg fryser tilfældigt hvis du aktiverer UXA udvidelsen.

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "intel"
        Option "AccelMethod" "UXA"
EndSection

Med denne konfiguration opnår jeg 350-500 FPS i Glxgears på min i945G med PentiumD820, og alle effekter kører perfekt med OpenGL.

ATI

Endnu ikke skrevet

Plasmas ydelse er ringe

  • Forklaring : Desværre er det talrige mulige årsaget til at Plasma kan fungere rykvist, så det er svært at sige, hvad den konkrete årsag er.
  • Test : Sædvanligvis kan problemer med Plasmas ydelse bedst ses med plasmiodet Mappevisning. Det kan gå temmelig langsomt med at flytte det eller rulle igennem indholdet af en mappe.

Generelt

  • Du bør sikre dig, at dette ikke (kun) er relateret til ARGB Visuals nævnt ovenfor.

NVIDIA

  • Du kan sætte tilvalgene IntialPixmapPlacement og GlyphCache med programmet nvidia-settings:
    $ nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
    Dette virker for nogle (men desværre ikke for alle) NVIDIA-kort. Nogle kort virker angiveligt bedre med
    InitialPixmapPlacement=1
    eller endda
    InitialPixmapPlacement=3
    .
  • Tilvalg, som siges at virke godt med 8xxx-kort (men som jeg ikke har testet)
    • Tilvalg "RenderAccel" "True"
      • aktiver som standard
    • Tilvalg "TripleBuffer" "True"
      • Aktiverer trippelbuffering. "Formindsker den tid, som et program forsinkes mens det venter på vblank-begivenheder, men forøger latens en smult" (NVIDIA Readme)
    • Tilvalg "DamageEvents" "True"
      • Anbefalet af NVIDIA hvis man kører composite+glx, forbedrer ydelsen, aktiveret som standard
    • Tilvalg "UseCompositeWrapper" "True"
      • Aktiverer X-serveren composite-wrapper i stedet for den indbyggede.
    • Tilvalg"AllowIndirectPixmaps" "True"
      • Kunne forbedre hardware-rendering på G80+ kort me dmere end 256 MB videohukommelse.
    • Tilvalg "BackingStore" "True"
      • Gem dækkede arealer i tilfælde af, at de skulle blive vist igen senere
    • Tilvalg "PixmapCacheSize" "200000"
      • tildel det nævnte antal pixels til en pixmap cache
    • Tilvalg "OnDemandVBlankInterrupts" "True"
      • afsend kun VBlank interrupts når de behøves

ATI

Endnu ikke skrevet

Mappevisning og andre plasmoider ser ikke godt ud

  • Forklaring : Mappevisning og nogle andre widgets bruger hardware-accelereret visninig. Der er to måder at gøre dette på, og Plasme kræver den nyere EXA-metode.
  • Test : Dette ses bedst i Mappevisningswidget'et, som vil fræmtræde som et forvrænget og tilsyneladende tilfældigt område af skærmen.

Open source radeon drivere

Open source driverne til radeon bruger som standard XAA-metoden til acceleration, så du skal ændre accelerationstilstanden fra XAA (X Acceleration Architecture) til den nyere EXA. Da dette involverer, at du redigerer din xorg.conf-fil, så husk, at hvis du laver en fejl, så kan det resultere i at X ikke starter op på dit system. Gem derfor først en kopi af den eksisterende xorg.conf.

For at foretage ændringen skal du redigere din fil xorg.conf. Find afsnittet Device for dit grafikkort. Før linjen "EndSection" tilføjer du

Option "AccelMethod" "EXA"


Hvis der allerede er en linje med AccelMethod, så ændrer du den fra XAA til EXA. Gem filen og genstart X-serveren.

Bemærk, at hvis du bruger EXA, så kan det betyde, at nogle KDE3-programmer ikke vises korrekt.

Når du bruger EXA, så anbefales det stærkt at du bruger er nyere X-server, mindst 1.6.x eller endnu bedre, den nye version 1.7 -- måske er det bedst at vente på 1.7.1.

Hvis du har et AGP-baseret kort, så er det måske også en god ide at tilføje følgende linje på samme sted i konfigurationsfilen.

Option "AccelDFS"    "true"

Dette skulle accelerere driveren endnu mere, men kan resultere i en hardlock, når du starter X; så vær forsigtig. Se [http://tsdgeos.blogspot.com/2007/10/performance-of-radeon-free-drivers.html denne artikel} for mere information om emnet.

Nogle ting, som kan forøge ethvert korts ydelse

Det første punkt refererer i særdeleshed til systemer, som kører KDE versioner før 4.3.1 -

  • Try to avoid using many widgets on your desktop, particularly if they are of the dynamic updating type.
  • Turn off transparency/translucency, choosing themes that don't use it.
  • Use a theme with transparency, but change the configuration. Set the fade time to zero.
    • There are two ways to do this, both in the desktop-effects systemsettings dialog. One, on the General tab, set animation speed to Instant.
    • Two, on the All Effects tab, find translucency, configure it, and set fading duration to 0 to 10 or so. (The spinner increments are 100 ms, so the 10 ms suggestion is only a tenth of that.)

These hints won't turn an old graphics card into a fast one, but they will make Desktop Effects a feasibility on many older cards.

Desktop Effects causes random freezes

This seems to affect Intel and ATi cards. AccelMethod seems to be the culprit. The default acceleration path for most drivers right now is the outdated and slower XAA (Option "AccelMethod" "XAA") which is not recommended anymore, especially with compositing. Unfortunately, the proprietary binary blobs of ATI and NVidia still only support XAA

ATi

Try enabling EXA acceleration by adding these two lines to xorg.conf

Section "Device"
   Option      "UseAtomBIOS" "true"
   Option      "AccelMethod" "EXA"
   # ...
EndSection

This works with both the radeon as well as the radeonhd driver but only with cards up to an X1950. HD2xxx and above aren't supported yet.

AtomBIOS is automatically used by the radeon driver, so that line will need to be commented out. If you have the radeonhd driver, however, you will need it. EXA is expected to become the default in the near future, but having it specified here is unlikely to cause any problems even then. 3D and EXA support for HD2xxx and above is expected later this year (2009) as they are already in an experimental branch.

Intel

It's worth checking Xorg.0.log for mention of EXA. If you don't find it (or UXA) try adding the EXA line as described in the ATi section. UXA is an experimental option, but only supported by a few drivers. It's likely that the best bits will be merged into EXA soon.

Phoronix forums is a good place to read more about this.

KRunner (Alt+F2) looks strange

NVIDIA

KRunner display problems
KRunner display problems

On NVIDIA cards krunner's dialog might appear several times below each other (with only the topmost one editable). This is related to setting InitialPixmapPlacement=1 as recommended above. There's currently no known way to remedy this problem. However, it only appears on one relatively early version of KDE 4.

Most of the icons in your SysTray have disappeared

At some point you may have been told to add KDE_SKIP_ARGB_VISUALS to either ~/.bash_profile, /etc/profile or in ~/.profile. If that rings a bell for you, hunt for it and comment it out. You may find that they magically re-appear. Otherwise, check the Qt4 libraries you are using. In my case I needed Qt 4.4.3 together with KDE 4.2.

Links/References

-- Performance tweaks to the 177.67 Nvidia beta driver
-- Thread about graphics issues on the NVIDIA forums.