Re: (severe) performance issues



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 yahoo co uk> 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 gmail com wrote:
> 
> > Hi David,
> > 
> > On 3/26/07, David J. Andruczyk
> > <djandruczyk yahoo com> 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 gnome org
> > 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/



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