OpenGL ES 常見函式作用

2021-10-02 04:50:32 字數 750 閱讀 7164

1. glfinish()將緩衝區的指令立即送往硬體執行,但是要一直等到硬體執行完這些指令之後才返回。

2. glflush()清空緩衝區,將指令送往緩硬體立即執行,但是它是將命令傳送完畢之後立即返回,不會等待指令執行完畢。這些指令會在有限時間內執行完畢。

3.如果你使用的是雙緩衝,那麼可能這兩個函式都不需要用到。緩衝區交換操作會隱式將命令送去執行。

4. 區別:一般,使用glflush的目的是確保在呼叫之後,cpu沒有opengl相關的事情需要做-命令會送到硬體執行;呼叫glfinish的目的是確保當返回之後,沒有相關工作留下需要繼續做

5.另外,glfinish會造成效能下降;如果呼叫glfinish,通常會帶來效能上的損失,因為它會是的gpu和cpu之間的並行性喪失。一般,我們提交給驅動的任務被分組,然後被送到硬體上(在緩衝區交換的時候)。如果呼叫glfinish,就強制驅動將命令送到gpu,然後cpu等待直到被傳送的命令全部執行完畢,這樣在gpu工作的整個期間內,cpu沒有工作(至少在這個執行緒上)而在cpu工作時(通常是在對命令分組),gpu沒有工作,因此造成效能上的下降。因此,應該儘量減少使用此函式。此函式的乙個應用是:除錯bug,如果我傳輸到硬體的某條命令造成了gpu的崩潰,找出使得gpu崩潰的那條指令的簡單方法是在每個繪製操作之後呼叫這個函式,這樣就可以準確找出造成崩潰的命令。另外,direct3d不支援finish概念。

OpenGL ES的函式解析和記錄理解

1 glviewport int x,int y,int width,int height 從裝置座標轉到視窗座標 x,y 以畫素為單位,指定了視口 的左下角 在第一象限內,以 0,0 為原點的 位置。width,height 表示這個視口矩形的寬度和高度,根據視窗的實時變化重繪視窗。glviewp...

OpenGL ES 3 功能函式 持續更新

1 角度轉換與三角函式 gentype radians gentype degrees 此函式功能為將角度轉換為弧度,即返回值 result 180 degrees,degrees 引數表示需要轉換的角度。gentype degrees gentype radians 此函式功能為將弧度轉換為角度,...

Linux常見目錄作用

常見目錄作用 根目錄 bin 命令儲存目錄 普通使用者就可以讀取的目錄 boot 啟動目錄,啟動相關檔案 dev 裝置檔案儲存目錄 etc 配置檔案儲存目錄 home 普通使用者家目錄 lib 系統庫儲存目錄,通常為一些庫檔案 mnt 系統掛載目錄 media 目錄 root 超級使用者家目錄 tm...