View Full Version : Performance 2D con GNOME / GTK 2.0
Salve a tutti,
apro questa discussione per segnalare le basse prestazioni 2D che spesso mi ritrovo usando GNOME e più in generale i programmi basati su GTK 2.0
Ad esempio, usando Firefox 2.0, nello scrolling veloce di pagine "piene" come l'home page di questo sito oppure come la pagina del forum, noto diverse incertezze. E' come se lo scolling incespicasse, scattasse...
Stessa cosa visualizzando molte righe di testo usando Gnome-Terminal.
Ho notato che la cosa peggiora mano a mano che aumento le impostazioni di miglioramento della qualità dei font: se l'hinting ha un impatto molto basso, già l'AA si fa sentire (pur non compromettendo in maniera marcata la prestazioni). Usando il rendering per subpixel le prestazioni crollano, ma questo dipende dal driver Nvidia che non accellera il subpixel rendering.
Usando un'applicazione che si appoggia alle QT, come Opera, il problema scompare: lo scrolling dell'home page di hwupgrade è fluidissimo. Ovviamente abilitando il subpixel rendering le prestazioni crollano nuovamente, ma questo, come ho giò detto, dipende dal driver Nvidia...
Riscontrate anche voi questo problema? Se si, potete risolverlo? Che ne pensate?
Di seguito i dati del mio sistema:
-) AthlonXP @ 2500Mhz (200x12,5);
-) Motherboard Asrok basata su Nforce2 Ultra 400;
-) 512MB DDR 400;
-) 6600GT 128MB AGP (driver Nvidia 96.31);
-) HD SCSI Quantum Atlas IV e IDE 120 GB;
-) Gentoo Linux (X e Gnome sono stati compilati da me).
Grazie a tutti per la partecipazione...
Ciao. :)
boh... a me su debian succede solo quando non ho ancora installato i driver della scheda video
poi è tutto perfetto nel normale scrolling
Con l'hardware in firma nessun tipo di incertezza, pur con le impostazioni di qualità al massimo :P
Mi sa tanto che il problema è un altro, ora sta a capire quale..
boh... a me su debian succede solo quando non ho ancora installato i driver della scheda video
poi è tutto perfetto nel normale scrolling
Ciao, grazie della risposta.
Prima di installare i driver video sei in modalità VESA ed è normale che le performance 2D siano basse.
Ma, una volta installati i driver video, non noti nessun rallentamento?
Posso chiederti di andare sull'home page di questo sito e di scrollare la pagina molto velocemente (non usando la rotella, ma selezionando la barra di scorrimento e trascindandola velocemente su e giù)?
Io in questa operazione noto qualche incertezza... nulla di eclatante, ma abbastanza da farmi notare che la velocità è decisamente minore di quella raggiunta sotto Windows o sotto applicazioni QT (tipo Opera 9.0).
Ciao grazie. :)
Con l'hardware in firma nessun tipo di incertezza, pur con le impostazioni di qualità al massimo :P
Mi sa tanto che il problema è un altro, ora sta a capire quale..
Che driver video usi?
Il binario fglrx oppure il driver radeon di xorg?
Comunque, con la precedente 9800Pro il problema in oggetto era più limitato... ora con la 6600GT è più evidente, quindi magari le Radeon ne soffrono in misura minore.
Ciao. :)
Anchio avevo notato che lo scrolling delle pagine era alquanto 'scattoso', ma anche che le prestazione 2D in generale erano assai scarse. Uso i driver ati ufficiali, con fgl_gears faccio 2000 punti, gioco con tremolous a 1024x768 con 80 fps, quindi vuol dire che la mia Radeon 9500 rulla, pero nel 2D si ha l'impressione che c'è qualcosa che non va.
Purtroppo non so spiegarmelo, adesso che la sostituisco con una GeForce FX 5600 vedo se cambia qualcosa.
Ciao a tutti,
dai test che sto effettuando mi pare evidente come ad essere interessante da questo problema sia in particolare le applicazioni GTK 2.0.
Ho provato a installare KDE e tutte le applicazioni QT vanno alla grande, senza nessuna incertezza (e questo vale anche per i browser Opera e Konqueror). Ovviamente anche qui devo tenere disabilitato la correzione per sub-pixel, ma quello è un problema di driver (che non la accellerano).
Mi viene anche il dubbio che sia proprio Firefox ad essere lento nel ridisegno delle pagine, però questa ipotesi si scontra con 2 problemi:
-) sotto Windows Firefox è velocissimo (ed è linkato non alle GTK ma alle Win32);
-) anche altre applicazioni GTK manifestano lo stesso problema, anche se in misura minore (Gnome-terminal e Evolution su tutte).
Farò altre prove per mettervi al corrente dei risultati.
Nessuno con esperienze simili, oltre a me e iocci?
Ciao. :)
Uso i driver flrx perchè la mia scheda non è supportata dagli open :P
Io ho gnome da mecompilato driver closed e va tutto bene nessuna incertezza.
Comunque firefox, salvo rare eccezioni, va sempre un pelino più lento su linux che su win
Io ho gnome da mecompilato driver closed e va tutto bene nessuna incertezza.
Comunque firefox, salvo rare eccezioni, va sempre un pelino più lento su linux che su win
Che impostazioni usi per i fonts?
Ciao. :)
Allora,
come promesso ho fatto alcuni test.
In particolare, ho comparato la velocità di scrolling di Konsole (applicazione QT) e di Gnome-terminal (applicazione GTK 2.0), sia con che senza AA.
Per fare i test ha aperto la finestra di terminale a tutto schermo, mi sono posizionato sotto /dev/ e ho lanciato il comando "ls -alR". In questo modo ho avuto una buona quantità di caratteri a schermo. Quindi ho aperto una finestra xterm e ho lanciato il comando "top" (con cui vedere l'occupazione della CPU). A questo punto sono tornato al terminale e mi sono messo a scrollare molto velocemente le righe di testo (usando la barra laterale, non la rotellina). Subito dopo ho controllato l'occupazione della CPU.
Ecco i risultati di occupazione CPU usando Gnome-terminal:
-) NoAA -> Gnome-terminal ~20%, Xorg ~ 80%;
-) AA -> Gnome-terminal ~40%, Xorg ~ 60%.
I risultati usando Konsole:
-) NoAA -> Konsole ~3%, Xorg ~ 5%;
-) AA -> Konsole ~3%, Xorg ~ 6%
In alcuni casi, leggendo i risultati di "top" la percentuale di utilizzo di Xorg si avvicinava al 20%: credo che questo sia dovuto al fatto che in KDE uso ombre e trasparenze, con effetto dissolvenza tra le finestre in primo e secondo piano.
In ogni caso è palese come Konsole sia enormemente più leggero di Gnome-terminal. Anzi, quest'ultimo appesantisce di parecchio anche il server X.
Mi chiedo, quindi: come mai questa differenza?
E' possibile che le QT accellerino il disegno di testo, con e senza AA, in modo differente rispetto alle GTK 2.0?
Come mai, usando il clienk GTK, l'abilitazione dell'AA pesa molto su Gnome-terminal ma riduce il carico di Xorg, mentre con le QT l'abilitazione dell'AA non fa nessuna differenza pratica?
Aspetto i vostri commenti / delucidazioni. ;)
Ciao grazie. :)
Io spaevo che Pango ultimamente rallentasse di parecchio Firefox. Prova a lanciarlo da console col seguente comando:
MOZ_DISABLE_PANGO=1 firefox
Ciao,
ho provato ma così "a naso" direi che le cose sono rimaste le stesse.
Preferisco fare una precisazione: firefox non mi va assolutamente lento. Usando la rotellina del mouse per fare lo scrolling e/o usando la barra di scorrimento in modo non troppo veloce, lo scrolling risulta ottimo.
Noto qualche incertezza solo scrollando molto velocemente, utilizzando quindi la barra di scorrimento in un modo un po' anomalo: vado velocemente su e giù! :p
Inoltre, certe finestre di dialogono (parlo sempre di Firefox) compaiono si velocemente, ma non abbastanza da ritenermi completamente soddisfatto. Mi spiego: è come se potessi scorgere la finestra di dialogo essere disegnata "a pezzi". La cosa è più evidente se essa compare avendo come sfondo una pagina internet complessa.
Il fatto è che sotto Windows Firefox è una scheggia, per cui questo comportamento sotto Linux mi ha insospettito. Dato che anche Evolution e Gnome-Terminal manifestano questo "problema", inizio a pensare che sia legato alle GTK 2.0.
Con le QT (usando Konqueror o Konsole) non ho nessun problema.
Qualche idea / commento / smentita sui valori di CPU usage che ho riportato prima?
Ciao. :)
Io spaevo che Pango ultimamente rallentasse di parecchio Firefox. Prova a lanciarlo da console col seguente comando:
MOZ_DISABLE_PANGO=1 firefox
Ciao,
ho fatto il test da te indicato anche su un'altro, vecchio PC.
Qui la differenza tra Firefox + pango e Firefox senza pango è decisamente visibile.
Diciamo che, in quanto a scolling, porta Firefox molto vicino alla fluidità che mi fornisce Opera su questo stesso sistema.
Anche l'uso di CPU scende parecchio disabilitanto pango.
L'unica "problema" che continuo a riscontrare è che la comparsa di finestre pop-up e dei menù è comunque molto più lenta rispetto a quella di Opera.
Pensate possa essere un problema dell'applicazione stessa (Firefox) o delle GTK?
Pango è utilizzato anche da altre applicazioni GTK, come ad esempio Gnome-terminal?
Ciao,
dalle ricerche che ho fatto pare evidente che Dun avesse effettivamente ragione.
Ciò che pare rallentare Gnome-Terminal, Firefox e probabilmente tutto l'ambiente GNOME e' proprio Pango.
Qualche link:
http://mces.blogspot.com/2005/10/gnome-terminal-performance.html
http://mces.blogspot.com/2005/11/pangoperformance-progress.html
http://www.0xdeadbeef.com/html/2004/08/#200408050820
Ma è possibile usare GNOME senza Pango?
Oppure sono intimamente legati insieme?
Ciao. :)
Ue' ma mi fate fare un monologo! :D
Comunque, ricompilando Firefox senza il supporto Pango la velocità di esecuzione del browser è aumentata parecchio: ora lo scrolling non ha incertezze!
Un grazie quindi a Dun, che mi ha dato la dritta giusta! ;)
Ma possibile che Pango non si possa disabilitare per le altre applicazioni GTK?
A mio avviso le rallenta parecchio...
Ciao. :)
Leggi questo, tratto da un vecchio articolo proprio di hwupgrade:
Le ultime note negative riscontrate riguardano una leggera lentezza in alcune applicazioni, in particolare in tutte quelle che fanno uso delle librerie GTK2 che sono native in Gnome. Tra queste applicazioni spiccano purtroppo alcune molto famose: Firefox, Thunderbird, Gimp e NVU.
Decisamente più veloci invece le applicazioni che fanno uso delle librerie Qt.
e sotto, tra i commenti:
giusto un appunto: per velocizzare i programmi mozilla (firefox e thunderbird)
si puo' provare a disabilitare pango (inserendo la linea
export MOZ_DISABLE_PANGO=1
nel file /home/user/.bash_profile)
Come contropartita' pero' non si avra' piu' il supporto ai caratteri asiatici e si
perdera' la possibilita' di scegliere la dimensione dei caratteri dell'interfaccia
(come vantaggio aggiunto, si spreca meno RAM)
Pango è una libreria per il rendering del testo con il supporto per l'internazionalizzazione dello stesso. Se quindi hai necessità di visitare siti in cinese o in indiano è assolutamente necessario, altrimenti puoi benissimo farne a meno.
A quanto so, e' risaputa la lentezza di pango. Pare pero' che con le prossime versioni di Pango stesso e di Cairo le cose stiano per cambiare. ;)
Leggi questo, tratto da un vecchio articolo proprio di hwupgrade:
e sotto, tra i commenti:
Pango è una libreria per il rendering del testo con il supporto per l'internazionalizzazione dello stesso. Se quindi hai necessità di visitare siti in cinese o in indiano è assolutamente necessario, altrimenti puoi benissimo farne a meno.
Ciao,
innanzitutto grazie delle indicazioni.
Ma Pango è utilizzato anche da Gnome-terminal?
Ciao. :)
A quanto so, e' risaputa la lentezza di pango. Pare pero' che con le prossime versioni di Pango stesso e di Cairo le cose stiano per cambiare. ;)
Per il momento ho ricompilato Firefox senza il supporto a Pango e effettivamente va che è una scheggia.
Anche sul vecchio PC con cui ho fatto altri test, disabilitando Pango ottengo un notevole boost prestazionale.
Ciao e grazie. :)
Ma Pango è utilizzato anche da Gnome-terminal?Si, anche gnome-terminal usa pango (non so perche).
Infatti se guardi le dipendenze di gnome-terminal vedi che c'è anche libpango-1.0.0
Per il momento ho ricompilato Firefox senza il supporto a Pango e effettivamente va che è una scheggia.
Anche sul vecchio PC con cui ho fatto altri test, disabilitando Pango ottengo un notevole boost prestazionale.Voglio provare anchio! Che comando si da per compilare firefox senza pango?
Comunque, ci dovrebbe essere un modo per disattivare pango in generale, perche in effetti a uno potrebbe non servire affatto il supporto per l'internazionalizzazione.
Si, anche gnome-terminal usa pango (non so perche).
Infatti se guardi le dipendenze di gnome-terminal vedi che c'è anche libpango-1.0.0
Si infatti... ho notato che una qualsiasi applicazione di Gnome ha tra le dipendenze anche Pango.
Sarebbe interessante trovare un modo per disabilitarlo completamente... :stordita:
Ciao. :)
Voglio provare anchio! Che comando si da per compilare firefox senza pango?
Comunque, ci dovrebbe essere un modo per disattivare pango in generale, perche in effetti a uno potrebbe non servire affatto il supporto per l'internazionalizzazione.
Ciao,
usando Gentoo, non ho dovuto far altro che settare correttamente il flag USE (con l'opzione "moznopango").
Fatto interessante, anche in questo caso Pango viene scaricato come dipendenza: probabilmente, anche indicandogli di non usare Pango, quella libreria gli occorre, quindi la scarica ma poi si limita a non usarla.
Se invece non usi Gentoo e/o voi compilarlo a mano, immagino che devi passare un determinato valore al configure.
Quindi dovresti dare il comando "./configure --<parametro per disabilitare pango>".
Qualche sia il valore di questo parametro non lo so, ma dovresti poterlo capire abbastanza semplicemente dando un'occhiata al file configure stesso.
Ciao. :)
Ciao a tutti,
dopo aver ricompilato tutto l'ambiente Gnome (putroppo non ho trovato un parametro che permetta di disabilitare completamente Pango, che è stato disabilitato solo per Firefox), comprese le librerie Pango, noto un discreto aumento di velocità.
In particolare, applicazioni come Gnome-terminal (che usano tuttora Pango) vanno decisamente meglio. Facendo un po' di test sotto carico, ho rilevato che uno scrolling veloce di Gnome-terminal produce queste occupazioni di CPU:
-) Server X -> ~60-70%;
-) Gnome-terminal -> ~ 7-8%.
Un deciso miglioramento quindi rispetto a quanto da me indicato nel corso dei precedenti test.
Ora però non so a cosa attribuire questo miglioramento:
-) una nuova versione di Pango;
-) una nuova versione di Gnome-terminal;
-) una modifica nei flag di compilazione (da "Os" sono passato a "O2").
Putroppo non ricordo le precedenti versioni della libreria Pango e di Gnome-terminal... personalmente però sono propenso a credere che sia stata la modifica del parametro di ottimizzazione di GCC.
Nonostante tutto però, l'uso di CPU di Konsole è ancora notevolmente minore. Sotto lo stesso carico Konsole mi occupa:
-) Server X -> ~4%;
-) Konsole -> ~4%.
Il server X (Xorg) pare quindi essere sottoposto a un carico molto minore usando le librerie QT piuttosto che le GTK 2.0 (almeno usando il text antialiasing).
E' possibile che le GTK impegnino così tanto X? :mbe:
Ciao. :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.