Re: Make'em suffer!
- From: Eero Tamminen <ext-eero tamminen nokia com>
- To: ext Federico Mena Quintero <federico ximian com>
- Cc: performance-list gnome org
- Subject: Re: Make'em suffer!
- Date: Fri, 18 Aug 2006 11:14:53 +0300
Hi,
ext Federico Mena Quintero wrote:
Note: Deep widget hierarchies add noticable overhead because of size
request / allocate propagation.
Yeah, and that's going to be rather tricky to test... Some widgets do
take a good amount of time in finding out their requisition
(GtkTextView); some others should be trivial (GtkImage). Then you have
the overhead from the generic sizing mechanism.
Do you have profiles where the generic sizing code shows up as a
culprit? I'd expect the problems to be in fat widgets like GtkTextView
and GtkTreeView...
This is very old information (2-3 years), for Gtk 2.4 (I think)
and I don't have the profiles for this. Nowadays we avoid deep
widget hierarchies, so we don't see this. :-)
However, I think the problem was in an application that used a lot of
containers to position things correctly. I think it was "fixed" back
then by using just GtkFixed instead...
So, I would suggest having in the torturer one test with just a lot
of different containers inside each other.
Btw. With large themes (hundreds of styles like in Maemo), binding the
styles to a widget shows up clearly in profiler if you create for
example a treeview with hundreds of items.
Oooh, interesting. Do you have a profile?
This is also quite old information (1 year) and I don't have the
profiles, but the bottleneck was in finding (matching) the correct
style for the corresponding object. The Maemo theme files were optimized
a bit after that (there were some styles that used more than one * for
matching) and split to separate files, so it might be quite a bit less
problematic nowadays. I could cachegrind this a bit in few weeks.
I think only Maemo has such a large number of styles in the themes that
this is a problem. Or are there other themes with hundreds of styles? :-)
[GtkCellRendererText does some stupid things like causing text to be
measured two or three times; see my old profiles for the file chooser
for the details.]
I would suggest also a torture test for each CellRenderer type
in which hundreds of them would be put into a list.
- Eero
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]