/* 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.
Smoothness issue 4 above I have tracked down to this clutter-gtk code:
------- ------- ------- ---- master_ clock_gdk_ update (GdkFrameClock *frame_clock,
ClutterMas terClockGdk *master_clock)
static void
clutter_
{
GList *stages, *l;
_clutter_ threads_ acquire_ lock ();
/* Get the time to use for this frame */ clock-> cur_tick = gdk_frame_ clock_get_ frame_time (frame_clock); ------- ------- ----
master_
-------
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.