Re: Make'em suffer!



On Thu, 10 Aug 2006 14:17:06 +0200, Manu Cornet wrote:
> 2) Expose: the widget is created only once, then exposed many times, and
> then destroyed only once.

OK. I understand that now. So this expose time can sometimes be very
much less than the "boot" expose time in case the widget has cached
some drawing. That makes sense.

So I've made a few changes to my copy of the torturer. As a reminder,
it's available to clone/pull from:

	git://people.freedesktop.org/~cworth/soc-gtk

And it recently became available to browse at:

	http://gitweb.freedesktop.org/?p=users/cworth/soc-gtk.git;a=summary

(One thing we're working on fixing at freedesktop.org is making it so
that a single URL could be publish and used for either purpose).

I've also attached the 4 changes as a patchset that you should be able
to apply with git-am if you prefer to do it that way.

The first couple of patches here are pretty obvious fixes, (don't emit
any XML when not in XML mode, and ignore files not under version
control). The third actually changes behavior a bit, (changes the
non-XML format into a format that has one widget per line for easier
processing, but slightly harder to read as a human). So it's up to you
whether you want that or not.

Finally, the fourth patch adds a little script I wrote for running
the torturer against both GTK+ 2.6 and GTK+ 2.10 and generating HTML
reports of the results. More on that in an upcoming mail.

As I've watched a few runs of the torturer, I've got a few questions
about whether the performance tests are testing the most useful
things. For example:

* The tests scale widgets such as buttons up to nearly full-screen. Is
  that a useful thing to test in any scenario?

* Meanwhile, some widgets that normally would be quite large,
  (scrollable areas for example), are tested at a very small size
  during the "boot" stage.

* Additionally, when the "large" widgets _are_ scaled up, they are not
  tested with any significant amount of internal content, (for example
  the text widget only has a single short string). This doesn't give
  us any realistic exercise of a widget containing many paragraphs of
  text. Compare with gtkperf which adds text scrolling as a separate
  test, for example, (if I'm not mistaken).

* Another dynamic test opportunity is missed in the progress bars
  which are only ever drawn at the 0.0 position. So themes that do
  fancy things as the bars gets closer to 100% are not getting
  exercised well in this area. Even just putting the bar at a static
  50% would be better. But actually allowing the theme to "animate"
  the bar would of course be better still.

Anyway, I hope the patches and/or the feedback are useful for you.

-Carl

Attachment: torturer.patchset
Description: Binary data

Attachment: pgpMzGrLbnE3i.pgp
Description: PGP signature



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