我一直在研究OpenGL的項目。在這裏,我只是展示一艘船隨着一些選擇的視圖更改..它的2D程序。事情是我已經使用了許多glTranslate函數來移動代碼中的船。它在Windows(DEV-CPP)中正常工作,但在Fedora中執行時,它對於船隻有非常非常非常慢的移動。檢查CPU LOAD時,它是巨大的。那麼,我可以嘗試將船快一些嗎?建議替代glTranslate()加載CPU
請幫助:)
我一直在研究OpenGL的項目。在這裏,我只是展示一艘船隨着一些選擇的視圖更改..它的2D程序。事情是我已經使用了許多glTranslate函數來移動代碼中的船。它在Windows(DEV-CPP)中正常工作,但在Fedora中執行時,它對於船隻有非常非常非常慢的移動。檢查CPU LOAD時,它是巨大的。那麼,我可以嘗試將船快一些嗎?建議替代glTranslate()加載CPU
請幫助:)
這是最有可能的是你沒有在你的Fedora版本的硬件加速。檢查您是否安裝了來自nvidia(或製造視頻卡的製造商)的專有驅動程序。
此外,其他OpenGL程序運行速度快嗎?
是的其他OpenGl功能運行。就像這個Cube的旋轉一樣,它的旋轉速度很快。在這段代碼中我使用了太多的glTranslate函數。所以我猜內存利用率也太多了.. 我不明白你的建議的第二部分。你要我做什麼?我有一個英特爾G卡 – 2010-05-24 03:18:37
我開始檢查與glTranslate其他程序...它很慢..。這意味着Linux硬件加速。 – 2010-06-07 22:19:12
這可能是事實,英特爾有一個可怕的Linux驅動程序。
當你說你有太多的glTranslate的,有多少是太多?每幀幾千?如果您有大量翻譯調用被稱爲背靠背,您可以隨時手動添加它們,然後用總和調用glTranslate一次。如果這會降低你的機器速度,我會很懷疑。
沒有理由每幀每個對象多次調用'glTranslate'。理想情況下,您完全避免調用(並傳遞您自己的變換矩陣),因爲它在3.x上下文中不推薦使用。 – 2010-05-24 16:14:53
它不能發生..它在for循環,還有很多其他的東西來麻煩..反正thankx您的答覆。 :) – 2010-05-24 21:39:36
你會驚訝任何3D應用程序有多少glTranslates有...反正..你可以手動移動點,因爲它是一個2D應用..不斷遞增,遞減他們,並呼籲重新顯示..確保u使用雙緩衝 – Laz 2010-05-24 17:45:40