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