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