OpenGL 效能提示- Win32 apps

文章推薦指數: 80 %
投票人數:10人

OpenGL 效能提示. ... 這些程式設計做法會將應用程式的效能優化:. 當每個頂點上只有單一材質屬性快速(時,請使用glColorMaterial ,例如) 。

跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 閱讀英文 儲存 目錄 閱讀英文 儲存 Twitter LinkedIn Facebook 電子郵件 目錄 OpenGL效能提示 發行項 05/12/2022 2位參與者 本文內容 這些程式設計做法會將應用程式的效能優化: 當每個頂點上只有單一材質屬性快速(時,請使用glColorMaterial,例如)。

使用glMaterial進行不常的變更,或在快速變化單一材質屬性時使用glMaterial。

使用glLoadIdentity初始化矩陣,而不是載入您自己的身分識別矩陣複本。

使用特定的矩陣呼叫,例如glRotate、glTranslate和glScale,而不是撰寫您自己的旋轉、轉譯和縮放矩陣,以及呼叫glMultMatrix。

使用glPushAttrib和glPopAttrib來儲存和還原狀態值。

只有在您的應用程式需要自己的計算狀態值時,才使用查詢函式。

使用顯示清單來封裝可能耗用大量記憶體的狀態變更。

例如,放置完整指定紋理(所需的所有glTexImage呼叫,以及相關聯的glTexParameter、glPixelStore和glPixelTransfer呼叫,以及將)放入單一顯示清單中。

呼叫此顯示清單以選取紋理。

使用顯示清單來封裝將重複繪製之固定物件的轉譯呼叫。

若要將用戶端/伺服器環境中的網路頻寬降到最低,請甚至針對簡單的表面鑲嵌使用評估工具。

可能的話,若要避免GL_NORMALIZE的額外負荷,請提供單位長度的常態。

由於glScale幾乎一律需要啟用GL_NORMALIZE,因此在執行光源時,請避免使用glScale。

如果不需要平滑網底,請將glShadeModel設定為GL_FLAT。

如果可能,請使用每個畫面的單一glClear呼叫。

請勿使用glClear來清除緩衝區的小型子系;只使用它來完全或完全清除緩衝區。

若要繪製多個獨立三角形,請使用單一呼叫,而不是對glBegin(GL_TRIANGLES)或glBegin(GL_POLYGON)的呼叫。

同樣: 若要繪製單一三角形,請使用GL_TRIANGLES而不是GL_POLYGON。

使用glBegin(GL_QUADS)的單一呼叫,而不是重複呼叫glBegin(GL_POLYGON)。

使用glBegin單一呼叫(GL_LINES)繪製多個獨立線條線段,而不是呼叫glBegin(GL_LINES)多次。

一般而言,使用命令的向量形式來傳遞預先計算的資料,並使用純量形式的命令來傳遞接近呼叫時間計算的值。

避免進行備援模式變更,例如將色彩設定為平面陰影多邊形的每個頂點之間的相同值。

繪製或複製影像時,請停用點陣化和個別片段作業,以優化資源。

OpenGL可以將紋理套用至圖元影像。

    本文內容



請為這篇文章評分?