[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Merkwuerdiges gtk2 Performanceproblem



On 06.05.06 02:24:21, Richard Mittendorfer wrote:
> Also sprach Andreas Pakulat <apaku@gmx.de> (Sat, 6 May 2006 01:37:51
> +0200):
> > On 06.05.06 00:50:35, Richard Mittendorfer wrote:
> > > Starte ich eine gtk2 Anwendung, Bsp. gtkcookie, ist erstmal alles
> > > ok. Im (am Workspace nebenan) geoeffnetes aterm flitzen die Zeilen
> > > bei einem langen ls -l flott ueber den Terminal. Oeffne ich nun im
> > > gtkcookie ein kleines (4,4k) cookie.txt bauen sich quaelend langsam
> > > (~1Sec/Zeile) die Zeilen auf. 100% Load auf dem P266mmx. Auf einem
> > > 866MHz mit (wesentlich mehr, aber ansich) gleichen Paketen (Etch)
> > > gibt's das Problem scheinbar nicht -- hole ich aber das gtkcookie
> > > remote auf den 266er: wieder gleiches Problem (wird wohl lokal
> > > gerendert).
> > 
> > Also  zu dem "rueberholen": Ich nehme mal an per X11 Forwarding? Dann
> > wird das Programm immernoch auf dem entfernten Rechner ausgefuehrt.
> 
> Exakt, aber ich denke doch, dass das lokale X das Rendern der Graphics
> und im Besonderen der Listen (hier wirkt das Problem gravierend)
> uebernimmt. Das Programm an sich laeuft drueben, klaro.

Was ich dir damit sagen wollte ist: Eventuell ist nicht das Zeichnen an
sich das Problem, sondern das erstellen der List-Items oder sonst
irgendwas. Wenn es per X11-Forward auch langsam ist ist es sehr
wahrscheinlich das das Problem nicht das Zeichnen des Fensters ist.

> > Was das Problem an sich angeht: Tritt das auch bei kleinen
> > Cookie-Dateien auf (so 10 Cookies)? Tritt das bei allen gtk2
> > Programmen auf? Ist der Rechner u.U. einfach ueberfordert mit gtk2
> > (RAM?)?
> 
> Ja, schon ab der ersten Zeile bockt das Zeichnen, wenn ich nun einen
> Eintrag waehle und per Cursor langsam eine Zeile weitergehe sieht mensch
> deutlich, dass er mit dem Zeichnen/Berechnen nicht mehr nachkommt (der
> markierte Teil quaelt sich zum naechsten Eintrag). Im Prinzip kein
> Unterschied, ob das cookiefile nun lang oder kurz ist.
> 
> Es tritt bei allen gtk2 Anwendungen auf, wird aber erst "aktiviert",
> wenn eine Liste gezeichnet wird (gftp - Dateiliste local/remote,
> sylpheed(gtk2) - Mails im Ordner, xchat - Liste der channels, ...).
> 
> Speicher ist zwar knapp (64M gesamt), aber ich denke nicht, dass es
> hieran liegt. Die Swap ist meist leer und es laufen nur Anwendungen mit
> minimalen Anforderungen, normalerweise versuche ich gtk2 auf diesem
> Rechner auszuweichen. In manchen Faellen gelingt das aber nicht. :-|

Hmm, ich bin kein gtk2 Freak aber vllt. gibts da ein "Problem" mit der
Implementierung der List-Widgets. Wie gesagt du solltest mal ne GTK2
Liste suchen und da nachfragen.

> Mir ist aufgefallen, dass er beim Generieren der Listeneintraege die
> vorhergegangenen Zeilen nochmals zu schreiben/ueberpruefen scheint
> (kurzes Flackern schon geschriebener Zeilen). Der Aufbau selber
> (~1sec/Zeile) passiert deutlich von links nach rechts.

Hmm, tja vllt. ein paar paint-Befehle zu viel die da "gescheduled"
werden...

> > > ! Mit dem Oeffnen der Datei/Aufbau der Zeilen faengt auch der aterm
> > > zu spinnen an. Das frueher schnelle ls -l wuergt sich ueber den
> > > Bildschirm. Das Alles bleibt auch nach beendigen der gtk2-Anwendung
> > > bestehen. Selbes mit gftp und anderen gtk2-Apps.
> > 
> > Hmm, also das hoert sich _sehr_ merkwuerdig an. Schonmal geschaut was
> > da so viel Leistung "verbraet" (mit top)?  Auch bzgl.
> > Speicherverbrauch.
> 
> Es ist definitv Xorg (Debian 6.9.0.dfsg.1-6 20060403233528), hab' das
> Problem nun aber schon einige Zeit, auch mit frueheren Xorg's. Zu XFree
> bin ich mir nicht mehr sicher.

Wenn du dir da so sicher bist mach doch ein Downgrade auf XFree86.

> > Ansonsten wuerde ich an deiner Stelle:
> > 
> > a) mit valgrind mal die gtk2-Apps beobachten was die so
> > Speicher-Technisch und CPU-Technisch so treiben
> 
> Wird gerade installiert.. Interessantes tool, kannte ich nicht.

Ich kenns auch nur wenig mehr als vom "hoeren sagen" her, hatte es mal
ausprobiert fuer eine meiner Apps aber bin nicht auf Anhieb klar
gekommen und habs dann erstmal wieder gelassen.

> > b) mal ne GTK-Liste suchen und da nachfragen
> 
> Muss wohl eine Funktion des XServers sein, das gtk+ ausnutzt. Vielleicht
> auch eine Funktion des XServers, die der alte Neomagic Grafikchip nicht
> richtig umsetzen kann.. Fragen ueber Fragen. ;-)

Dennoch waere eine GTK-Liste der erste Anlaufpunkt, weil es ja wohl von
diesen ausgeht.

Insbesondere wunder mich dass es nach dem Beenden aller GTK-Apps
immernoch im aterm Probleme gibt.

Andreas

-- 
A day for firm decisions!!!!!  Or is it?



Reply to: