First you need to show me that your running your server in synchronous
mode or otherwise actually testing Xserver performance on the platform
in question.

As far as I know your simply measuring dispatch performance of the X11 message.

Getting a apples to apples comparision between X11 and Directfb.

Until some shows me they actually know how to do the testing which non
has I see no reason to even consider these bogus tests.

Now if your a core X11 server developer I'd be happy to talk with you
about setting up a comparable test frame work.

Sorry to be a ass but people really don't know what they are doing
here and the X11 developers for obvious reasons are not stepping up to
work out a good test framework.

Mike


On 12/6/06, rafeeqh shaik <[EMAIL PROTECTED]> wrote:
> Hi.....
>
>
> Gtk+ on DirectFB  taking much time ( 58 sec for drwaing 100*1000 on DirectFB
> , for TinyX it is 1.14 sec when i run gtkperf ) for drawing the lines
> compared to gtk+ on TinyX.
> My analysis of the code is not complete.
>
> This below is the Oprofile output with event set to  GLOBAL_POWER_EVENTS
> events (time during which processor is not stopped) spent  for drawing line
> on gtk+ on top of DirectFB.
>
>
>
>
> gtkperf:
>
>
>
>
> tests.c
>
> -----------------------------------------------------------------------------------------------------------------
>
>                :{ /* on_idle_gtkdrawingarea_lines_test
> total:     535 64.3803 */
>                :
>                :  AppData *appdata = NULL;
>                :  appdata = (AppData *) data;
>                :
>                 :  int i = 0;
>                :
>                :   /* create graphical context */
>      1  0.1203 :  appdata->graphical_context =
>                 :        gdk_gc_new
> (appdata->drawingarea_drawing->window);
>                :
>                :  /* drawing lines is so fast that we'll make 1000 in one
> loop */
>                :  /* just remember to show this in results! */
>    331 39.8315 :  for (i = 0; i < 1000; i++)
>                :  {
>                :
>      7  0.8424 :        set_random_drawing_color ();
>                :
>                :        gint x1 = g_random_int_range (0,
>                 :
> appdata->drawingarea_drawing->
>    111 13.3574 :                                allocation.width);
>                :        gint x2 = g_random_int_range (0,
>                :
> appdata->drawingarea_drawing->
>     11  1.3237 :                                allocation.width );
>                :        gint y1 = g_random_int_range (0,
>                :
> appdata->drawingarea_drawing->
>     30  3.6101 :                                 allocation.height);
>                :        gint y2 = g_random_int_range (0,
>                :
> appdata->drawingarea_drawing->
>      17  2.0457 :                                allocation.height);
>                 :
>     27  3.2491 :        gdk_draw_line
> (appdata->drawingarea_drawing->window,
>                :                     appdata->graphical_context, x1, y1, x2,
> y2);
>                 :  }
>
>
>
>
>
>
>
>
>                :void
>                :set_random_drawing_color ()
>     10  1.2034 :{ /* set_random_drawing_color total:    188 22.6233 */
>                 :
>    115 13.8387 :  appdata->current_color.red = g_random_int_range (1,
> 65535);
>     12  1.4440 :  appdata->current_color.green = g_random_int_range (1,
> 65535);
>     10   1.2034 :  appdata->current_color.blue = g_random_int_range (1,
> 65535);
>                :
>     18  2.1661 :  gdk_colormap_alloc_color (gdk_colormap_get_system (),
>                :                       &appdata->current_color, FALSE,
> TRUE);
>      7  0.8424 :   gdk_gc_set_foreground (appdata->graphical_context,
>                :                     &appdata->current_color);
>     16  1.9254 :}
>                :
>                :void
>                :on_button_clear_clicked (GtkButton * button, gpointer
> user_data)
>                :{
>                :  gtk_text_buffer_set_text (appdata->textview_info_buffer,
> "", 0);
>                :}
>
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> gdk_draw_line function:
>
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> void
> gdk_draw_line (GdkDrawable *drawable,
>         GdkGC       *gc,
>         gint         x1,
>         gint         y1,
>         gint         x2,
>         gint         y2)
> {
>   GdkSegment segment;
>
>   g_return_if_fail (drawable != NULL);
>   g_return_if_fail (gc != NULL);
>   g_return_if_fail (GDK_IS_DRAWABLE (drawable));
>   g_return_if_fail (GDK_IS_GC (gc));
>
>   segment.x1 = x1;
>   segment.y1 = y1;
>   segment.x2 = x2;
>   segment.y2 = y2;
>   GDK_DRAWABLE_GET_CLASS (drawable)->draw_segments (drawable, gc, &segment,
> 1);
> }
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>
> For DirectFb  gdk_draw_segments which will point to
> gdk_directfb_draw_segments  and gdk_x11_draw_segments for TinyX.
>
>
> *) Has any body experienced same fault and do any body know why DirectFB is
> taking lot of time while drawing Lines??????
>
> *) Why so many GLOBAL POWER EVENT sample has been taken for the first call
> to g_random_int_range ???
>
>
>
>
> --
> SHAIK RAFEEQH
> IIT DELHI
> _______________________________________________
> gtk-devel-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtk-devel-list
>
>
>

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to