1
我有一個簡單的OpenGl場景,其中包含一個對象,每個1/30秒由一個計時器調用的函數來移動場景中的對象。 告訴OpenGl刷新屏幕的最佳方法是什麼? 我沒有使用雙緩衝。在OpenGL中刷新顯示的最佳方法
我有一個簡單的OpenGl場景,其中包含一個對象,每個1/30秒由一個計時器調用的函數來移動場景中的對象。 告訴OpenGl刷新屏幕的最佳方法是什麼? 我沒有使用雙緩衝。在OpenGL中刷新顯示的最佳方法
你應該使用雙緩衝(也出於性能的原因)。在OpenGL中刷新場景的規範方法是重繪整個事物。
謝謝。我應該使用setNeedsDisplay方法還是使用lockFocus方法來指示OpenGl刷新?因爲如果我不使用這些方法並直接啓動刷新功能,視圖不會重繪... –
@Laurent Crivello:您不指示OpenGL刷新。 OpenGL只提供繪圖命令。所有其他的東西都是操作系統的一部分(你沒有指定BTW,但我猜它是iOS)。我不是iOS專家,但閱讀文檔我會說setNeedsDisplay非常適合。 – datenwolf
我實際上是在Xcode上爲Mac開發的。爲什麼我在setNeedsDisplay方面遇到問題,就是我的函數每隔1/30秒執行一次,並且在它的最後執行setNeedsDisplay。然而,在drawRect確實被執行之前,這個函數最多執行了10次。這是正常的嗎? –