|File Search||Catalog||Content Search|
gtkperf - GTK+ performance tester… more info»
GtkPerf ========== What? GtkPerf is an application designed to test GTK+ performance. The point is to create common testing platform to run predefined GTK+ widgets (opening comboboxes, toggling buttons, scrolling text etc.) and this way define the speed of device/platform. Why? I know that bencmarking tools (including GtkPerf) can be fooled and don't give real-life results. Yet, I belive that GtkPerf can be helpful to solve for example this kind of things: * How fast is my software platform compared to others? * How fast is my hardware compared to others? * How fast/slow GTK+ is with different themes? * Is there any notably slow widgets when using my GTK+ theme(engine)? * How much does GTK+ performance increase when moving e.g. from GTK+ 2.4 -> 2.6? * How much does GTK+/GDK perfomance increase when updating X-server? * Can GTK+ be efficiently used in embedded devices? Tests ===== The tests are separate from each other with the same main logic: Making single test operation (opening combo box, drawing n circles, etc.) and waiting for that to get processed are returned to g_idle. So every test is jumping between test function and g_idle as fast as possible. These tests are provided (in 0.30). GtkEntry (on_idle_gtkentry_test) ----- Switches between "Test String" and "Longer test string" texts for [count] times. GtkComboBox (on_idle_gtkcombobox_test) ----- GtkComboBox contains 10 entrys "Selection 1"..."Selection 10". This test opens and closes GtkComboBox [count] times while selecting next entry. GtkComboBoxEntry (on_idle_gtkcomboboxentry_test) ----- GtkComboBoxEntry contains 10 entrys "Selection 1"..."Selection 10". This test opens and closes GtkComboBoxEntry [count] times while selecting next entry. GtkSpinButton (on_idle_gtkspinbutton_test) ----- GtkSpinButton value is increased with one [count] times. When 1000 is reached, value is changed back to 0. GtkProgressBar (on_idle_gtkprogressbar_test) ----- GtkProgressBar is increased with 1% [count] times. Whenever bar gets full, its value is set to 0. GtkToggleButton (on_idle_gtktogglebutton_test) ----- GtkToggleButton state is toggled between on/off [count] times. GtkCheckButton (on_idle_gtkcheckbutton_test) ----- GtkCheckButton state is toggled between on/off [count] times. GtkRadioButton (on_idle_gtkradiobutton_test) ----- Two GtkRadioButtons inside same group are witched to be selected alternately [count] times. GtkTextView - Add text (on_idle_gtktextview_addtext_test) ----- Text "Future is Open. " is appended to GtkTextView [count] times. GtkTextView - Scroll (on_idle_gtktextview_scroll_test) ----- Scrolls the text added in earlier test GTK_SCROLL_STEP_FORWARD and when end is reached GTK_SCROLL_STEP_BACKWARD for [count] times. GtkDrawingArea - Lines (on_idle_gtkdrawingarea_lines_test) ----- Draws random size and color lines to GtkDrawingArea for 1000*[count] times. GtkDrawingArea - Circles (on_idle_gtkdrawingarea_circles_test) ----- Draws random size and color circles to GtkDrawingArea for 1000*[count] times. GtkDrawingArea - Text (on_idle_gtkdrawingarea_text_test) ----- Draws random size and color "Future is Open." strings with PangoLayout to GtkDrawingArea for 100*[count] times. Font used is "Sans Bold 16". GtkDrawingArea - Pixbuf (on_idle_gtkdrawingarea_pixbufs_test) ----- Draws Duck.png to random place in GtkDrawingArea for 10*[count] times. maemo ===== To make GtkPerf Hildonized" (see http://www.maemo.org) and make it work nicelu in Nokia 770, do this: 1) Enable this line in configure.in: #MAEMO_MODULES="libosso hildon-base-lib hildon-lgpl hildon-libs" 2) Enable this line in appdata.h: //#define HILDONIZED Now compile normally and GtkPerf uses maemo-specific changes in code!