本發(fā)明屬于計算機圖形學領(lǐng)域,尤其涉及一種亂序OpenGL接口處理方法。
背景技術(shù):
OpenGL接口規(guī)定了API接口定義及圖形功能處理過程,但未規(guī)定其實現(xiàn)形式,目前公開資料中,OpenGL接口實現(xiàn)以順序的ringbuffer存儲圖形指令形式實現(xiàn),無亂序操作的相關(guān)研究。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是:
本發(fā)明主要提供一種亂序OpenGL接口處理方法,通過調(diào)整OpenGL API所包含操作的運行順序,提高處理性能。
本發(fā)明的解決方案是:
一種亂序OpenGL接口處理方法,包括:
步驟1:OpenGL接口執(zhí)行時分為影響繪圖效果類操作和不影響繪圖效果類操作;
其中,影響繪圖效果類操作指執(zhí)行該操作后會導致幀緩沖中的繪圖效果;
不影響繪圖效果類操作指執(zhí)行該操作不后會導致幀緩沖中的繪圖效果;
步驟2:將影響繪圖效果類操作生成的圖形指令和不影響繪圖效果類操作生成的圖形指令發(fā)送給同步管理/性能決策;
步驟3:不影響繪圖類的操作生成的圖形指令包括當前運行狀態(tài)設(shè)置指令、屬性設(shè)置指令和數(shù)據(jù)搬運操作指令,經(jīng)過同步管理/性能決策單元,將根據(jù)當前運行狀態(tài)設(shè)置指令、屬性設(shè)置指令多次設(shè)置的同一屬性參數(shù)按照最終的設(shè)置參數(shù)放入順序執(zhí)行緩沖;將能夠提前執(zhí)行的數(shù)據(jù)搬運操作指令立即執(zhí)行,與圖形命令處理并行操作,加速數(shù)據(jù)處理;
影響繪圖類的操作生成的圖形指令包括圖元繪制指令、像素操作指令,經(jīng)過同步管理/性能決策單元,將在當前視口范圍內(nèi)需要繪制的圖元繪制指令、像素操作指令放入順序執(zhí)行緩沖。
一個OpenGL接口可只包含影響繪圖效果類操作或不影響繪圖效果類操作的一種,或者兩種都包含;若兩種都包含需要順序處理。
本發(fā)明的優(yōu)點是:本發(fā)明提供的一種染色器驅(qū)動運行時重構(gòu)方法,通過搜集染色器應(yīng)用運行時所包含的染色器屬性信息、染色器處理數(shù)據(jù)信息、染色器運行管理信息、染色器驅(qū)動軟件,然后本次染色器運行有針對的優(yōu)化染色器驅(qū)動軟件,使得染色器應(yīng)用在保證功能正確的情況下高性能的運行。
附圖說明
圖1為本發(fā)明的方法模塊圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案做進一步詳細描述。
如圖1所示,本發(fā)明實施例的一種亂序OpenGL接口處理方法,包括:
步驟1:OpenGL接口執(zhí)行時分為影響繪圖效果類操作和不影響繪圖效果類操作;
其中,影響繪圖效果類操作指執(zhí)行該操作后會導致幀緩沖中的繪圖效果;
不影響繪圖效果類操作指執(zhí)行該操作不后會導致幀緩沖中的繪圖效果;
步驟2:將影響繪圖效果類操作生成的圖形指令和不影響繪圖效果類操作生成的圖形指令發(fā)送給同步管理/性能決策;
步驟3:不影響繪圖類的操作生成的圖形指令包括當前運行狀態(tài)設(shè)置指令、屬性設(shè)置指令和數(shù)據(jù)搬運操作指令,經(jīng)過同步管理/性能決策單元,將根據(jù)當前運行狀態(tài)設(shè)置指令、屬性設(shè)置指令多次設(shè)置的同一屬性參數(shù)按照最終的設(shè)置參數(shù)放入順序執(zhí)行緩沖;將能夠提前執(zhí)行的數(shù)據(jù)搬運操作指令立即執(zhí)行,與圖形命令處理并行操作,加速數(shù)據(jù)處理;
影響繪圖類的操作生成的圖形指令包括圖元繪制指令、像素操作指令,經(jīng)過同步管理/性能決策單元,將在當前視口范圍內(nèi)需要繪制的圖元繪制指令、像素操作指令放入順序執(zhí)行緩沖。
一個OpenGL接口可只包含影響繪圖效果類操作或不影響繪圖效果類操作的一種,或者兩種都包含;若兩種都包含需要順序處理。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細地說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。