我正在寫使用Qt框架Python中的桌面應用程序上快速移動的物體模糊,它涉及在一個相當快的速度攪打在屏幕上的圖像。我這樣做是一個非常簡單的方法:防止屏幕
- 對於每個項目,創建與相關圖像的Qlabel對象
- 使用startTimer所
- timerEvent導致呼叫,看起來像開始每個Qlabel定時器:self.move(self.x()+ SPEED,self.y())其中SPEED是一些小像素。
雖然適用,但即使速度適中(比如每秒500像素),圖像(在這種情況下,我使用的是紙牌)看起來真的很痛苦。有很多水平模糊。我認爲我可以通過改變計時器關閉的頻率來減輕這種影響(這樣可以使圖像的移動次數減少更多次,或者次數減少更多),但這並沒有什麼幫助。
誰能解釋什麼造成這一點,我會如何解決這個問題?我已閱讀Motion Blur上的維基百科文章,但沒有多大幫助。當有人問我是什麼原因造成的時候,我說了一些關於顯示器響應時間的事情,但是我並沒有相信它,當他們問我「當你玩視頻遊戲時怎麼會發生這種情況?」我無法給出答案。
編輯:按照要求,表現出該問題的玩具程序的here's a paste。作爲命令行參數獲取映像文件的路徑。
運動模糊我們通常你添加了一些計算機圖形,使快速移動的物體* *少看痛苦。這是一個高效率的艱難過程,通常(我認爲)是通過專用視頻卡來處理的。爲了真正理解這個問題,我認爲我們需要非常詳細的說明它的外觀以及顯示屏上的規格,計算機上的規格,如果您提供了代碼,它會有所幫助。在此活動期間進行屏幕截圖時,您會得到什麼? – Paul 2011-02-25 00:33:34
@Paul很好的問題。當我拍攝截圖時,圖像看起來非常清晰,所以我認爲這絕對是人類在工作中的光學效果。代碼本身相當龐大而且很複雜,但是我會看看我是否可以製作一個能夠證明問題的小例子程序。 – Coquelicot 2011-02-25 00:47:15
對象看起來有些脫節或混亂嗎?撲克牌看起來像是被水平切成了幾段。 – Paul 2011-02-25 00:51:13