Comment 12 for bug 1698270

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Smoothness issue 4 above I have tracked down to this clutter-gtk code:

-------------------------
static void
clutter_master_clock_gdk_update (GdkFrameClock *frame_clock,
                                 ClutterMasterClockGdk *master_clock)
{
  GList *stages, *l;

  _clutter_threads_acquire_lock ();

  /* Get the time to use for this frame */
  master_clock->cur_tick = gdk_frame_clock_get_frame_time (frame_clock);
-------------------------

The problem is not in clutter-gtk though. It's a general lack of precision in the GdkFrameClock logic. Despite my monitor running at around 60Hz, the GDK frame_time interval is erratic and mostly varies between 17 and 18 milliseconds. So the root cause is just poor timing logic in GDK.

I have an experimental fix already for gdk so probably don't need to propose changes to clutter-gtk any more.