2011-06-08 598 views
5

有沒有人知道在Qt中執行vsync時簡單的方法,當在QLabel上顯示圖像時?基本上,我從處理過的視頻剪輯中呈現圖像流(因此不使用Phonon多媒體),並且幀率非常高。不幸的是,這給了很多撕裂。Qt和vsync /撕裂

任何幫助非常感謝。

+0

你看過'QMovie'嗎?它更符合你的描述,但我找不到文檔中的任何vsync相關的東西。否則我有點困惑,我認爲所有的Qt繪圖都是雙緩衝的,因此沒有這個問題。你如何繪製圖像? – rubenvb 2011-06-08 12:26:33

+0

一個簡單的'label-> setPixmap(pixmap);'和一個重繪。我沒有簽出'QMovie',但我懷疑它不會這樣做,因爲每個幀都在後端進行處理,並且需要一段未知時間才能呈現。 – 2011-06-08 12:38:40

+0

如何調用'update'而不是'repaint'? – rubenvb 2011-06-08 12:52:15

回答

2

嘗試使用QtOpenGL。你可以通過QGLWidget實現你的小部件。它會使用opengl進行渲染,如果你在你的操作系統中設置了這個選項,它將會變成vblank。