flicker problem on Gtk+/DirectFB



Hi guys,

I am running GGL(Google Gadgets for Linux) based Gadget on my embedded linux platform, and it runs on Gtk+(gtk+-2.12.10)/DirectFB, now i encounter some flicker problem as follows:

1, If i move my mouse from one button to another button on the gadget, the gadget flickers
2, If i move the mouse off the gadget, or make mouse entry into the gadget, it flickers too

I've made some investigations:
1, the gadget flickers for redrawing, since we got the expose-event
2, the redrawing process is as follows:
    1) calling gdk_window_begin_paint_region() in gdk/gdkwindow.c
    2) then gdk_window_impl_directfb_begin_paint_region() in gdk/directfb/gdkwindow-directfb.c
    3) next GGL expose-event handler is called
    4) then run gdk_window_end_paint() in gdk/gdkwindow.c
    5) last gdk_window_impl_directfb_end_paint() in gdk/directfb/gdkwindow-directfb.c
3, I tried to make some modifications but without getting any positive results

My question is:
1, it flickers for repeating redrawing the black-background and the gadget, agreed?
2, it is the expose-event that triggers the redrawing process, but we just move the mouse? or why expose event take places together with mouse motion event?
3, is it for the gtk_propagate_event() in gtk/gtkmain.c? how to fix it?
4, seems clipbox was employed to remove flicker in gdk_window_begin_paint_region() in gdk/gdkwindow.c, but without any disposal in gdk_window_impl_directfb_begin_paint_region() in gdk/directfb/gdkwindow-directfb.c, is it defective?

Please do me the favor solving the issue:)

Many thanks,
Tony





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