Hi,

While running gtkPerf on GTK+-DFB, the screen does not get refreshed when
the draw lines or the draw pixbufs operation takes place. If I modify the
gdk/directfb source code to call the DirectFB Flip function, the screen is
refreshed. This however slows down the system.
Attached below is the patch file:
-- gdkdrawable-directfb.c      2008-08-11 21:15:06.000000000 -0700
+++ gdkdrawable-directfb_original.c     2008-08-11 20:56:25.000000000 -0700
@@ -520,7 +520,6 @@
                                              points[1].x, points[1].y,
                                              points[2].x, points[2].y);

-
               }
             impl->surface->SetClip (impl->surface, NULL);
             gdk_region_destroy (clip);
@@ -622,8 +621,6 @@
       impl->surface->SetClip (impl->surface, &reg);
       impl->surface->Blit (impl->surface, src_impl->surface, &rect,
                            xdest, ydest);
-
-      impl->surface->Flip(impl->surface, &reg, DSFLIP_NONE);
     }
   impl->surface->SetClip (impl->surface, NULL);
   gdk_region_destroy (clip);
@@ -865,7 +862,6 @@
           impl->surface->Blit (impl->surface,
                                image_private->surface, &src_rect,
                                xdest, ydest);
-
         }
       impl->surface->SetClip (impl->surface, NULL);

On investigation, I have noticed that, in DirectFB, automatic flipping takes
place only on windows which have their surface capabilities as
DSCAPS_PRIMARY and do not have have the DSCAPS_FLIPPING (DSCAPS_DOUBLE |
DSCAPS_TRIPLE) capabilities. If the above two conditions are met, DirectFB
runs a thread to flip the surface whenever an update takes place on the
window. In GTK+, the widgets have surfaces with capabilities, DSCAPS_DOUBLE
and DSCAPS_SUBSURFACE. Since the widget windows have sub surfaces, the
flipping thread is not created. The buffer mode is DLBM_BACKSYSTEM.

Could you let me know if I need to make any changes either in the source
code or the configuration file to refresh the screen.

GTK version:  2.12.10
Cairo version:  1.6.4
DirectFB version:  1.2.0-rc1

DirectFB configuration options:
system=fbdev
fbdev=/dev/fb0
fatal-level=ASSERT
no-vt
mode=800x480
wm=default

Thanks and Regards,
Naomi Luis
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to