In my case, my display is NOT so simple. my label is packed into an hbox (with EXPAND) in the middle of another fixed (non updating) label, and a progress bar (which is part of a size group to keep the pbars all a consistent size). Multiple instances of these hbox's are packed into a table. http://megatunix.sourceforge.net/screenshots/images/runtime-display-tab.png --- Bobby Jack <bobbykjack@xxxxxxxxxxx> wrote: > > > Can you include some details as to how you gathered > these metrics? I'm seeing very different results > from > your test program, although I'm just eyeballing top > so > I'd like to use whatever method you did. > > - Bobby > > --- jcupitt@xxxxxxxxx wrote: > > > Hi David, > > > > On 3/26/07, David J. Andruczyk > > <djandruczyk@xxxxxxxxx> wrote: > > > I would NOT expect updating approx 10 labels > > perhaps 5-10 times per > > > second (ie. when data chages) on a 1.8Ghz > machine > > be so cpu hungry. > > > > I made a tiny test program. This updates 50 labels > > at 100Hz with less > > than 1% CPU on my machine. > > > > -------------- > > /* compile with > > * gcc -Wall try16.c `pkg-config gtk+-2.0 > > --cflags --libs` > > */ > > > > #include <gtk/gtk.h> > > #include <stdlib.h> > > > > const int NUM_LABELS = 50; > > const int FPS = 100; > > > > gboolean > > update_labels (GtkWidget * label[]) > > { > > int i; > > > > for (i = 0; i < NUM_LABELS; i++) > > { > > char buf[256]; > > > > snprintf (buf, 256, "%d", rand ()); > > gtk_label_set_text (GTK_LABEL (label[i]), > > buf); > > } > > > > return TRUE; > > } > > > > int > > main (int argc, char **argv) > > { > > GtkWidget *label[NUM_LABELS]; > > GtkWidget *win, *box; > > int i; > > > > gtk_init (&argc, &argv); > > win = gtk_window_new (GTK_WINDOW_TOPLEVEL); > > g_signal_connect (win, "destroy", G_CALLBACK > > (gtk_main_quit), NULL); > > > > box = gtk_vbox_new (FALSE, 0); > > gtk_container_add (GTK_CONTAINER (win), box); > > > > for (i = 0; i < NUM_LABELS; i++) > > { > > label[i] = gtk_label_new (NULL); > > gtk_box_pack_start (GTK_BOX (box), label[i], > > TRUE, TRUE, 0); > > } > > > > g_timeout_add (1000 / FPS, (GSourceFunc) > > update_labels, label); > > > > gtk_widget_show_all (win); > > > > gtk_main (); > > > > return 0; > > } > > ------------- > > > > I have Dapper still on my machine (gtk 2.8, amd64 > > 2.7 GHz) which might > > make some difference I guess. Though I think Pango > > has actually sped > > up in 2.10. > > > > I wonder if another reason might be resizing? > > Setting a label's text > > can cause the label to change size, which might be > > forcing some > > (large?) chunk of your interface to resize too. > You > > could try using > > gtk_widget_set_size_request() on your labels to > make > > them a fixed > > size. > > > > John > > _______________________________________________ > > gtk-list mailing list > > gtk-list@xxxxxxxxx > > http://mail.gnome.org/mailman/listinfo/gtk-list > > > > > > > ____________________________________________________________________________________ > Don't pick lemons. > See all the new 2007 cars at Yahoo! Autos. > http://autos.yahoo.com/new_cars.html > -- David J. Andruczyk ____________________________________________________________________________________ It's here! Your new message! Get new email alerts with the free Yahoo! Toolbar. http://tools.search.yahoo.com/toolbar/features/mail/ _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list