• 6035阅读
  • 1回复

关于Qt的timer的精度问题 [复制链接]

上一主题 下一主题
离线roywillow
 

只看楼主 倒序阅读 楼主  发表于: 2010-10-20
— 本帖被 XChinux 执行加亮操作(2010-10-20) —
最近无聊就截取一个视频中一段的全部帧,在程序中处理一下并绘制在窗口上(重载paintEvent),然后利用timer来实现动画效果(不断update)
然后就发现奇怪的问题了
不管是用timerEvent还是QTimer,它对interval的精度似乎有些不敏感
interval设置成32、33、34,完全感觉不到动画速度的下降;29或30或31,也没有感觉到动画速度的变化
但是就是在31和32之间似乎有一个跳跃,31的interval能相当明显地感觉到比32的产生的动画快很多
结果我就是找不出一个合适的interval来控制动画的速度了

所以这种现象到底是因为我代码的问题,还是系统的问题,或者是qt本身的问题?
我的系统是win7 32bit ultimate,Qt 4.7.0,

另外,似乎有时候会在32和33之间感觉到一个速度的跳跃
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 1楼 发表于: 2010-10-21
问题已经解决了
用QTimeLine并且QTimeLine::LinearCurve就可以了
很好用的一个东西
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个