Archive:GPU-Performance/ca
Primer
Diverses targetes de gràfics populars -en especial les de NVIDIA- presenten problemes de rendiment amb KDE4. Aquests consells sobre rendiment es refereixen principalment a Plasma -l'escriptori de KDE4- i KWin -el gestor de finestres del KDE-. En general això no es deu a que KDE4 vingui sense optimitzar, però sí a un problema amb els controladors de les targetes gràfiques. Els últims portàtils d'Intel també tenen greus problemes en aquest moment. Aquesta pàgina inclou alguns problemes que podrien sorgir i com desfer-se'n.
Consells generals
Controladors de gràfics
Per als dos majors fabricants de xips gràfics hi ha diferents controladors de gràfics que es poden utilitzar per a cadascun:
- Per a les targetes de NVIDIA que hi ha un controlador nv lliure i nvidia propietari. Mentre KDE4 hauria de funcionar bé amb l'antic, aquest no ofereix acceleració 3D, pel que aquest podria ser la única opció.
TotesLa majoria de les subseccions de NVIDIA en aquest document només es refereixen al controlador propietari. (També hi ha un tercer controlador lliure anomenat nouveau que es troba actualment en fase de desenvolupament. Lamentablement no sé com d'utilitzable és fins a la data). A causa de restriccions de llicència la majoria de les distribucions no instal·len per omissió el controlador propietari. Si us plau, consulteu la vostra distribució per obtenir informació sobre com instal·lar-lo.- Actualització 1: Nvidia ha publicat recentment una nova versió beta del controlador la qual es suposa encara la majoria dels problemes de rendiment observats amb KDE4. Es pot descarregar a 64 bits i 32 bits. Cal afegir algunes opcions a xorg.conf i activar certes característiques en temps d'execució, vegeu aquest missatge en els fòrums de nvnews per més detalls. Nota: Només instal·lar els controladors beta si sabeu el que esteu fent.
- Actualització 2: NVIDIA ha llançat una nova versió 177.68 dels controladors beta que corregeix un parell d'errors i ha de millorar el rendiment amb el gestor de composició OpenGL de KDE 4. Més informació i descàrrega aquí. L'última versió beta és 177.70 i ha de millorar el rendiment en arrossegar miniaplicacions de Plasma i algunes solucions en el rendiment i la corrupció en presentar text. Més informació aquí.
- Actualització 3: La versió beta 177.70 de NVIDIA dels controladors ha millorat el suport per a les operacions RENDER amb la mateixa font i destí; el que hauria de millorar el rendiment en algunes situacions, per exemple, quan s'arrosseguen les miniaplicacions de Plasma a KDE4. Més informació aquí.
- Actualització 4: A sortit la versió beta 177.80 de NVIDIA dels controladors aquí; amb el qual s'han solucionat alguns problemes de funcionament.
- Actualització 5: A sortit la versió beta 180.08 de NVIDIA dels controladors aquí; amb el qual s'han solucionat alguns problemes de funcionament. També podeu veure aquí per a l'última versió dels controladors beta.
- Per a targetes AMD/ATI també hi ha algunes opcions. Aquí estan els controladors lliures «ati»" i «radeonhd» per a X.org («ATI» també és coneguda com «radeon», sense «HD», però la majoria paquets de controladors de xorg que he vist sembla que en diuen «ati»). La majoria de les distribucions s'en refereixen per omissió com a «ATI», el qual és compatible amb les targetes des de les primeres Radeon en endavant; «RadeonHD», com el seu nom indica, és només per a generació de targetes R500 i posteriors -en el número de model del venedor és el X1300 i posteriors-. Totes dues, bàsicament, s'han d'executar bé a un escriptori estàndard i comparteixen el mateix codi 3D pel que han de ser similars per als efectes d'escriptori (nota, el suport 3D per a targetes R300 més recents es considera inestable i per R600 i posteriors és molt experimental). No obstant, si teniu una targeta X1300 o posterior (és a dir, que hauria d'estar suportada pels dos controladors) i s'executa amb problemes pot valer la pena provar l'altre. També teniu l'opció de provar el controlador propietari fglrx, encara que aquest limita el suport a les targetes antigues -hi ha més al lloc web de AMD/ATI sobre aquesta opció-. Algunes distribucions tenen repositoris de terceres parts i és probable que sigui més fàcil que la descàrrega directa des de AMD.
En general és aconsellable mantenir-se al dia com estan introduint millores en els controladors. Així, en un primer pas per millorar l'experiència de KDE4 s'ha de comprovar el controlador actual i la vostra instal·lació ja és obsoleta. Si us plau, consulteu la documentació de la vostra distribució sobre la manera de fer-ho.
Tot i que encara podria incrementar el rendiment, NO us recomano la instal·lació de controladors de qualitat beta perquè el més probable és que pateixi l'estabilitat del vostre sistema.
nvidia-settings
El atributs establerts usant la utilitat nvidia-settings no es desen de forma permanent a menys que s'iniciï com a usuari root. Accediu com a root al terminal i comenceu amb:
nvidia-settings&
D'aquesta manera no haureu de configurar cada vegada que tanqueu el servidor X. Això es pot fer convenientment afegint les línies a establir les característiques al vostre ~/. xinitrc.
nvidia: Problema de finestra en negre
Sembla que les antigues targetes NVidia amb el problema obrint noves finestres només es dibuixen com a finestres en negre o no s'actualitzen més. Això passa si s'activa composite i s'utilitza OpenGL amb moltes finestres obertes. Potser les targetes s'estan quedant sense memòria de vídeo? (El problema també es produeix amb el gestor de finestres compiz). En KDE4 podeu desactivar composite/efectes amb Maj + Alt + F12 per a continuar el vostre treball a l'escriptori amb normalitat.
El problema és que el dibuix de les decoracions de les finestres es fa molt lent si no s'activa composite (provat amb KDE4.3). En aquest cas com alternativa a l'ús de OpenGL com a motor de composite es recomana usar XRender. Atès que els efectes de moviment són molt lents amb XRender haureu de canviar la velocitat de l'animació a immediata.
Arranjament del sistema
El systemsettings de KDE4 us permet modificar alguns paràmetres de kwin. Podeu trobar la configuració en
. Depenent de la targeta OpenGL o XRender podria funcionar millor. Per a OpenGL canviant al mode OpenGL també pot canviar el rendiment. Tingueu en compte que el canvi d'alguns dels arranjaments esmentats a continuació us podria obligar a canviar la configuració.(Nota d'usuari): El mode XRender em va ajudar molt en una 6800 GT (AGP) amb el controlador propietari, sobretot mentre miro vídeos (177.80).
Exemples:
- Establir InitialPixmapPlacement a 2 pot millorar el rendiment de plasma, però podria fer que kwin a vegades es pengi.
- Establir Mode de l'OpenGL a Memòria compartida pot donar a kwin major capacitat per a respodre de nou.
- (Nota d'usuari): No seleccionar «Usa VSync» em va ajudar molt en una gforce 6800 (i també en una GeForce 8400M GT).
Si per algun motiu el vostre Xserver es penja després de prémer el botó
en el diàleg i la vostra configuració es manté perquè no podeu confirmar els canvis, torneu a intentar-ho. En general, serà més ràpid en un dels intents posteriors. Si no ho podeu fer encara podeu canviar la configuració en ~/.kde4/share/config/kwinrc.XGL
Si després d'instal·lar la versió beta dels controladors 177.80 de NVIDIA seguiu tenint una mala experiència amb el rendiment (especialment en la sèrie 8xxx-9xxx) podeu instal·lar el xserver XGL. Si us plau, consulteu la documentació de la vostra distribució sobre la manera de fer-ho.
Fedora 10 (i posteriors) i xorg.conf (per a alguns usuaris)
Alguns dels ajustos esmentats en aquest article estan dirigits a un fitxer que normalment es troba en la majoria de distribucions a /etc/X11/xorg.conf.
Alguns usuaris de Fedora 10, poden trobar que aquest fitxer ja no és present per omissió -Depèn de la vostra targeta. Ningú té més detalls sobre això? Si us plau, sou lliure per a col·laborar.- pel que s'haurà de crear. Per a fer-ho:
Mètode IGU amigable:
- Instal·leu i executeu el paquet «system-config-display» (premeu després d'haver acabat de configurar i es generarà el fitxer xorg.conf).
Mètode IGU menys amigable:
- Obriu un indicatiu d'ordres
- Canvieu a un nivell d'execució per a executar l'ordre (com a root):
init 1
- Executeu
Xorg -configure
com a root (una vegada fet, això generarà el fitxer xorg.conf), o podeu fersudo Xorg -configure :1
sense canviar de nivell d'execució.
Problemes
En aquesta secció es resumeix diversos símptomes que poden sorgir i tracta d'explicar les possibles causes.
En canviar la mida d'algunes finestres es veu entretallat
- Explicació: Això es pot deure a la publicitat de la targeta ARGB Visuals (bàsicament translucidesa) sense tenir el suport adequat. El referent a aplicacions/finestres són l'escriptori Plasma, el diàleg KRunner (Alt + F2), el diàleg de Plasma o una finestra de konsole.
- Prova: Si us voleu assegurar si aquest problema us afecta, executeu
XLIB_SKIP_ARGB_VISUALS=1 konsole
en la línia d'ordres i mireu de canviar la mida de la nova finestra de consola (establint la variable d'entorn
XLIB_SKIP_ARGB_VISUALS a off ARGB visuals). Si es canvia la mida sense problemes, llavors aquest és sens dubte un dels problemes que esteu enfrontant.
La vostra targeta gràfica lluita amb el vídeo Flash
Si teniu una targeta gràfica antiga, l'acceleració de maquinari pot ser una lluita per a això. Això pot ser particularment evident en veure vídeos flash com els vídeos de Youtube. Això us pot ajudar:
- En veure un vídeo «Flash» feu clic dret a la «pantalla» del vídeo.
- Apareixerà un menú amb «Settings» i «caixes de selecció».
- Si escolliu les «global settings» (a la part inferior) farà aparèixer una caixa per a la «configuració global».
- Aquí podeu desactivar l'acceleració de maquinari per a Flash.
General
- Podeu configurar l'opció BackingStore al xorg.conf:
A la secció «Device»:
Section "Device" ... Option "BackingStore" "true" ... EndSection "Device"
Això funciona per algunes (p.ex. konsole) però per desgràcia no totes les finestres.
- Com a últim recurs es podeu intentar establir
XLIB_SKIP_ARGB_VISUALS=1
en el vostre ~/.xinitrc però això no serà prou.
NVIDIA
- Podeu configurar IntialPixmapPlacement amb l'utilitat nvidia-settings:
$ nvidia-settings -a InitialPixmapPlacement=2
Això funciona per a algunes (però per desgràcia, no totes) les targetes de NVIDIA.
NV/Intel
- Podeu activar l'acceleració EXA al fitxer xorg.conf:
Section "Device" ... Option "AccelMethod" "EXA" # opcional, pot millorar el rendiment però introdueix artefactes visibles # Option "MigrationHeuristic" "greedy" ... EndSection "Device"
El rendiment pot ser millor en els més antics servidors X (<=1.4.2) i significativament millor en l'última versió preliminar (>=1.4.99.901) amb aquesta opció.
- El problema amb el rendiment pobre dels efectes també es pot superar mitjançant l'ús de controladors de vídeo Intel 2.6.3.1 (en el meu cas una distribució basada en deb) o superior, amb el nucli 2.6.30-rc1 o superior, amb UXA activat al xorg.conf:
NOTA: Si utilitzeu el nucli 2.6.29, conté molts errors i xorg es congela aleatòriament amb extensió UXA activada.
Section "Device" Identifier "Generic Video Card" Driver "intel" Option "AccelMethod" "UXA" EndSection
Amb aquesta configuració, la meva i945G amb PentiumD820, fa 350-500 FPS en Glxgears, i tots els efectes funcionen perfectament amb OpenGL.
ATI
TODO
El rendiment de plasma és dolent
- Explicació: Per desgràcia els motius per a que plasma falli semblen ser tan nombrosos que és difícil saber d'on esdevenen.
- Prova: En general, els problemes de rendiment de plasma es poden veure millor al plasmoide Vista de carpeta. Moure o desplaçar dins de la carpeta pot ser molt lent.
General
- Assegureu-vos que això no està (només) relacionat amb els ARGB Visuals mencionats en l'anterior apartat.
NVIDIA
- Podeu configurar les opcions IntialPixmapPlacement i GlyphCache amb la utilitat nvidia-settings:
$ nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
Això funciona per a algunes (però malauradament no totes) les targetes de NVIDIA. S'està informant que algunes targetes funcionen millor usantInitialPixmapPlacement=1
o potser fins i totInitialPixmapPlacement=3
- Es diu que aquestes opcions funcionen bé sobre targetes 8xxx però no les he provat:
- Option "RenderAccel" "True"
- Activada per omissió.
- Option "TripleBuffer" "True"
- Permet el triple cau. «Decrementa el temps que una aplicació restarà a l'espera d'esdeveniments vblank, però incrementa significativament la latència». (NVIDIA Readme)
- Option "DamageEvents" "True"
- Recomenat per NVIDIA si s'executa composite+glx, incrementa el rendiment, activat per omissió.
- Option "UseCompositeWrapper" "True"
- Permet l'embolcall composite del servidor X en comptes de l'intern.
- Option "AllowIndirectPixmaps" "True"
- Podria millorar el rendiment de maquinari a targetes G80+ amb més de 256 MB de memòria de vídeo.
- Option "BackingStore" "True"
- Àrees superposades de memòria cau en cas que s'obté una resposta retardada.
- Option "PixmapCacheSize" "200000"
- Assigna aquest nombre de píxels per al cau de mapa de píxels.
- Option "OnDemandVBlankInterrupts" "True"
- Només enviar interrupcions VBlank en les maneres en què es necessiten.
- Option "RenderAccel" "True"
ATI
TODO
La Vista de carpeta i altres plasmoides es presenten malament
- Explicació: Vista de carpeta i alguns altres estris utilitzen la representació accelerada per maquinari. Hi ha dos mètodes per a fer-ho, i Plasma requereix el nou mètode EXA.
- Prova: Aquest cas es veu millor en l'estri vista de carpeta, que apareixerà com una regió distorsionada i aparentment a l'atzar a la pantalla.
El controlador radeon Open Source
El controlador radeon Open Source utilitza el mètode d'acceleració XAA per omissió. Així que cal canviar el mètode d'acceleració de XAA (Arquitectura d'acceleració X) a la més recent EXA. Com es tracta d'editar el fitxer xorg.conf, tingueu en compte que si cometeu un error, pot resultar en que X no s'iniciï en el vostre sistema, pel que es recomana desar-ne una còpia.
Per fer el canvi, editeu el fitxer xorg.conf. Cerqueu la secció «Device» per a la targeta gràfica. Abans de la línia «EndSection», afegiu
Option "AccelMethod" "EXA"
Tingueu en compte que l'ús de EXA pot donar lloc a que es visualitzin erròniament a algunes aplicacions antigues, tals com alguns programes de KDE3.
Quan s'utilitza EXA es recomana utilitzar un servidor X dels últims, almenys 1.6.x o millor encara la nova versió 1.7 -potser millor que esperar la 1.7.1-.
Si teniu una targeta AGP, llavors també desitgeu poder afegir la següent línia al mateix lloc en el fitxer de configuració.
Option "AccelDFS" "true"
Això haurà d'accelerar el controlador una mica més, però pot tenir una petada en iniciar X. Així doncs, aneu amb compte amb aquesta opció. Visiteu aquest article per obtenir més informació sobre aquest tema.
Algunes coses que poden accelerar el rendiment de qualsevol targeta
El primer es refereix particularment als sistemes que executen versions anteriors a KDE 4.3.1:
- Intenteu evitar l'ús de molts estris a l'escriptori, sobretot si són del tipus actualització dinàmica.
- Desactiveu transparència/translucidesa, escolliu temes que no ho facin servir.
- Utilitzeu un tema amb transparència, però canvieu la configuració. Establiu el temps d'atenuació a zero.
- Hi ha dues maneres de fer-ho, tant en el diàleg de Systemsettings. Un, en la pestanya , ajusteu la velocitat d'animació a .
- Dos, a la pestanya , trobareu translucidesa, configureu-la, i establiu la durada de l'esvaïment de 0 a 10 o així. (Els increments són de 100 ms, de manera que el suggeriment de 10 ms només és una desena part).
Aquests suggeriments no ajusten una targeta gràfica antiga com una ràpida, però fan que els efectes d'escriptori siguin viables en moltes d'aquestes targetes.
Els efectes d'escriptori causen bloqueigs aleatoris
Això sembla afectar les targetes Intel i ATI. «AccelMethod» sembla ser el culpable. L'acceleració per omissió per a la majoria dels controladors en aquest moment és l'antiga i lenta XAA (Option "AccelMethod" "XAA") la qual no es recomana més, sobretot amb la composició. Malauradament, el binari propietari de ATI i Nvidia encara només admeten XAA.
ATi
Proveu a activar l'acceleració EXA afegint aquestes dues línies a xorg.conf:
Section "Device" Option "UseAtomBIOS" "true" Option "AccelMethod" "EXA" # ... EndSection
Això funciona amb els controladors radeon i radeonhd però només amb targetes a partir d'una X1950. Les HD2xxx i anteriors encara no són compatibles.
AtomBIOS és utilitzada automàticament pel controlador radeon, de manera que la línia haurà de ser comentada. Si teniu el controlador radeonhd, però, que la necessitarà. S'espera que EXA estigui per omissió en un futur proper, però si l'heu especificat aquí és poc probable que causi problemes. El suport 3D i EXA per a HD2xxx i superiors s'espera per a finals d'aquest any (2009), atès que ja es troba en una branca experimental.
Intel
Comproveu Xorg.0.log a veureu si hi ha alguna menció de EXA. Si no la trobeu (o UXA) proveu a afegir la línia EXA tal com es descriu a la secció de ATi. UXA és una opció experimental, però només amb el suport d'alguns controladors. És probable que les millors parts es fusionaran en EXA aviat.
Els fòrums de Phoronix són un bon lloc per a llegir més sobre aquest tema.
KRunner (Alt+F2) té un aspecte estrany
NVIDIA
En targetes NVIDIA el diàleg KRunner pot aparèixer diverses vegades sota un altra (amb només la més alta editable). Això està relacionat a la creació InitialPixmapPlacement=1 com es detalla anteriorment. Actualment no hi ha cap manera coneguda per posar remei a aquest problema. No obstant això, només apareix en una versió relativament primerenca de KDE 4.
La majoria de les icones en la vostra safata del sistema han desaparegut
En algun moment és possible us hagem dit per afegir KDE_SKIP_ARGB_VISUALS ja sigui a ~/.bash_profile, /etc/profile o a ~/.profile. Si us sona com una campana, procediu a fer-ho. És possible que tornin a aparèixer com per art de màgia. En cas contrari, comproveu les biblioteques Qt4 que esteu utilitzant. En el meu cas jo necessitava Qt 4.4.3 juntament amb el KDE 4.2.