防止屏幕上快速移动的物体模糊

时间:2011-02-25 00:03:49

标签: python image qt animation aliasing

我正在使用Qt框架在Python中编写桌面应用程序,它涉及以相当快的速度在屏幕上扫描图像。我以一种非常简单的方式做到这一点:

  • 对于每个项目,使用关联的图像
  • 创建Qlabel对象
  • 使用startTimer
  • 为每个Ql​​abel启动计时器
  • timerEvent会调用类似于:self.move(self.x()+ SPEED,self.y())的调用,其中SPEED是一些少量的像素。

这样可行,但即使在适度的速度下(比如每秒500像素),图像(在这种情况下我使用的是扑克牌)看起来真的很痛苦。有很多水平模糊。我认为我可以通过改变定时器关闭的频率来缓解这种情况(这样可以使图像移动的次数减少更多次,或者移动的次数更少),但这并没有真正帮助。 / p>

任何人都可以解释导致这种情况的原因,以及我如何解决这个问题?我已经阅读了Motion Blur上的维基百科文章,但它没有多大帮助。当有人问我是什么导致它时,我说了一些关于显示器响应时间的事情,但我不相信它,当他们问我“那么当你玩电子游戏时怎么会发生这种情况呢?”我无法回答。

修改:根据要求,展示问题的玩具程序的here's a paste。将图像文件的路径作为命令行参数。

1 个答案:

答案 0 :(得分:1)

由于缺少double buffering,它看起来像闪烁。我不确定如何在您的特定工具包中解决它,但这应该指向正确的方向。