moblin clutter中的时间轴功能用于每隔一毫秒进行一次回调。尽管它发出的信号要快得多(每隔1ms左右)。为什么会这样?
ClutterTimeline * clutter_timeline_new(guint msecs);
答案 0 :(得分:1)
您不应该使用时间轴来获取N毫秒已过的通知(并执行代码)。 ClutterTimeline是一个与UI的重绘循环相关联的对象。每次Clutter重绘帧时,时间轴都会提前,让应用程序代码知道它必须更新其状态。
如果您只是需要在间隔后调用代码,请改用g_timeout_add()
;此函数仅与主循环相关联,而不与重绘循环相关联。使用超时时还需要注意其他注意事项,因此您应该阅读文档:
http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#g-timeout-add
严格来说,如果您使用的是Moblin,那么您可能正在使用非常旧版本的Clutter,因此也可能存在错误;并不是我知道每隔毫秒调用ClutterTimeline :: new-frame信号的错误,请注意。