本發(fā)明屬于計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種染色器驅(qū)動(dòng)運(yùn)行時(shí)重構(gòu)方法。
背景技術(shù):
染色器驅(qū)動(dòng)軟件作為染色器硬件運(yùn)行的直接控制,功能、性能直接決定染色器處理能力的發(fā)揮,目前公開研究都是針對(duì)染色器測(cè)試、染色器編程的研究,未發(fā)現(xiàn)有針對(duì)染色器驅(qū)動(dòng)運(yùn)行時(shí)重構(gòu)的研究。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:
本發(fā)明主要提供一種染色器驅(qū)動(dòng)運(yùn)行時(shí)重構(gòu)方法,運(yùn)行時(shí)優(yōu)化染色器驅(qū)動(dòng)軟件。
本發(fā)明的解決方案是:
一種染色器驅(qū)動(dòng)運(yùn)行時(shí)重構(gòu)方法,包括:
步驟1、染色器屬性搜集模塊(1)搜集染色器應(yīng)用在運(yùn)行過程所涉及的染色器運(yùn)行屬性,并將搜集的染色器運(yùn)行屬性發(fā)送到染色器運(yùn)行屬性緩沖模塊(3);
步驟2、染色器數(shù)據(jù)搜集模塊(2)搜集染色器應(yīng)用在運(yùn)行過程的染色器運(yùn)行數(shù)據(jù),并將搜集的染色器運(yùn)行數(shù)據(jù)發(fā)送到染色器運(yùn)行數(shù)據(jù)緩沖模塊(4);
步驟3、染色器運(yùn)行屬性緩沖模塊(3)記錄染色器屬性搜集模塊(1)發(fā)送的染色器運(yùn)行屬性信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供染色器運(yùn)行屬性信息支持;
步驟4、染色器運(yùn)行數(shù)據(jù)緩沖模塊(4)記錄染色器數(shù)據(jù)搜集模塊(2)發(fā)送的染色器運(yùn)行數(shù)據(jù)信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供染色器運(yùn)行數(shù)據(jù)信息支持;
步驟5、染色器運(yùn)行控制模塊(5)接收染色器應(yīng)用的染色器運(yùn)行控制信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供觸發(fā)條件支持;
步驟6、染色器驅(qū)動(dòng)分解模塊(6)接收染色器應(yīng)用的染色器驅(qū)動(dòng)軟件,并分解染色器驅(qū)動(dòng)軟件為各獨(dú)立軟件塊及軟件塊的調(diào)用標(biāo)記;將分解后的軟件塊提供給染色器功能函數(shù)庫(kù)模塊(8);將調(diào)用標(biāo)記提供給染色器驅(qū)動(dòng)重構(gòu)模塊(7);
步驟7、染色器驅(qū)動(dòng)重構(gòu)模塊(7)獲取染色器運(yùn)行控制模塊(5)提供的觸發(fā)條件,接收染色器運(yùn)行屬性緩沖模塊(3)提供的染色器運(yùn)行屬性信息,染色器運(yùn)行數(shù)據(jù)緩沖模塊(4)提供的染色器運(yùn)行數(shù)據(jù)信息,染色器驅(qū)動(dòng)分解模塊(6)提供的染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息,根據(jù)染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息判斷本次染色器運(yùn)行是否需要重構(gòu)染色器驅(qū)動(dòng),若不需要?jiǎng)t終止操作;若需要,則根據(jù)染色器運(yùn)行屬性信息和染色器驅(qū)動(dòng)軟件塊調(diào)用標(biāo)記信息,從染色器功能函數(shù)庫(kù)模塊(8)中獲取對(duì)應(yīng)的功能軟件塊并重構(gòu)成新的染色器驅(qū)動(dòng)軟件,將新的染色器驅(qū)動(dòng)軟件發(fā)送給染色器驅(qū)動(dòng)優(yōu)化模塊(9);
步驟8、染色器功能函數(shù)庫(kù)模塊(8)接收染色器驅(qū)動(dòng)分解模塊(6)提供的染色器驅(qū)動(dòng)分解后軟件塊,將這些軟件塊更新到染色器功能軟件庫(kù)中,并將所述軟件塊提供給染色器驅(qū)動(dòng)重構(gòu)模塊(7);
步驟9、染色器驅(qū)動(dòng)優(yōu)化模塊(9)接收染色器驅(qū)動(dòng)重構(gòu)模塊(7)生成的重構(gòu)后染色器驅(qū)動(dòng),并進(jìn)行優(yōu)化處理,將優(yōu)化后的染色器驅(qū)動(dòng)發(fā)送給染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10);
步驟10、染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10)接收染色器驅(qū)動(dòng)優(yōu)化模塊(9)優(yōu)化后的染色器驅(qū)動(dòng),生成可執(zhí)行文件,并將可執(zhí)行文件發(fā)送給染色器驅(qū)動(dòng)加載模塊(11);
步驟11、染色器驅(qū)動(dòng)加載模塊(11)接收染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10)生成的染色器可執(zhí)行文件并加載到染色器程序空間,可以使染色器直接運(yùn)行該軟件。
步驟7中根據(jù)染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息判斷本次染色器運(yùn)行是否需要重構(gòu)染色器驅(qū)動(dòng)的判斷標(biāo)準(zhǔn)為:
本次的染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、軟件調(diào)用標(biāo)記信息與上次調(diào)用的染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、標(biāo)記信息是否一致,如果都一致不進(jìn)行染色器驅(qū)動(dòng)重構(gòu),否則需要進(jìn)行染色器驅(qū)動(dòng)重構(gòu)。
染色器功能函數(shù)庫(kù)模塊(8)包含默認(rèn)的染色器功能函數(shù)。
步驟5中染色器運(yùn)行控制信息包括:開始、停止。
本發(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í)施例的一種染色器驅(qū)動(dòng)運(yùn)行時(shí)重構(gòu)方法,包括:
步驟1、染色器屬性搜集模塊(1)搜集染色器應(yīng)用在運(yùn)行過程所涉及的染色器運(yùn)行屬性,并將搜集的染色器運(yùn)行屬性發(fā)送到染色器運(yùn)行屬性緩沖模塊(3);
步驟2、染色器數(shù)據(jù)搜集模塊(2)搜集染色器應(yīng)用在運(yùn)行過程的染色器運(yùn)行數(shù)據(jù),并將搜集的染色器運(yùn)行數(shù)據(jù)發(fā)送到染色器運(yùn)行數(shù)據(jù)緩沖模塊(4);
步驟3、染色器運(yùn)行屬性緩沖模塊(3)記錄染色器屬性搜集模塊(1)發(fā)送的染色器運(yùn)行屬性信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供染色器運(yùn)行屬性信息支持;
步驟4、染色器運(yùn)行數(shù)據(jù)緩沖模塊(4)記錄染色器數(shù)據(jù)搜集模塊(2)發(fā)送的染色器運(yùn)行數(shù)據(jù)信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供染色器運(yùn)行數(shù)據(jù)信息支持;
步驟5、染色器運(yùn)行控制模塊(5)接收染色器應(yīng)用的染色器運(yùn)行控制信息,并為染色器驅(qū)動(dòng)重構(gòu)模塊(7)提供觸發(fā)條件支持;
步驟6、染色器驅(qū)動(dòng)分解模塊(6)接收染色器應(yīng)用的染色器驅(qū)動(dòng)軟件,并分解染色器驅(qū)動(dòng)軟件為各獨(dú)立軟件塊及軟件塊的調(diào)用標(biāo)記;將分解后的軟件塊提供給染色器功能函數(shù)庫(kù)模塊(8);將調(diào)用標(biāo)記提供給染色器驅(qū)動(dòng)重構(gòu)模塊(7);
步驟7、染色器驅(qū)動(dòng)重構(gòu)模塊(7)獲取染色器運(yùn)行控制模塊(5)提供的觸發(fā)條件,接收染色器運(yùn)行屬性緩沖模塊(3)提供的染色器運(yùn)行屬性信息,染色器運(yùn)行數(shù)據(jù)緩沖模塊(4)提供的染色器運(yùn)行數(shù)據(jù)信息,染色器驅(qū)動(dòng)分解模塊(6)提供的染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息,根據(jù)染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息判斷本次染色器運(yùn)行是否需要重構(gòu)染色器驅(qū)動(dòng),若不需要?jiǎng)t終止操作;若需要,則根據(jù)染色器運(yùn)行屬性信息和染色器驅(qū)動(dòng)軟件塊調(diào)用標(biāo)記信息,從染色器功能函數(shù)庫(kù)模塊(8)中獲取對(duì)應(yīng)的功能軟件塊并重構(gòu)成新的染色器驅(qū)動(dòng)軟件,將新的染色器驅(qū)動(dòng)軟件發(fā)送給染色器驅(qū)動(dòng)優(yōu)化模塊(9);
步驟8、染色器功能函數(shù)庫(kù)模塊(8)接收染色器驅(qū)動(dòng)分解模塊(6)提供的染色器驅(qū)動(dòng)分解后軟件塊,將這些軟件塊更新到染色器功能軟件庫(kù)中,并將所述軟件塊提供給染色器驅(qū)動(dòng)重構(gòu)模塊(7);
步驟9、染色器驅(qū)動(dòng)優(yōu)化模塊(9)接收染色器驅(qū)動(dòng)重構(gòu)模塊(7)生成的重構(gòu)后染色器驅(qū)動(dòng),并進(jìn)行優(yōu)化處理,將優(yōu)化后的染色器驅(qū)動(dòng)發(fā)送給染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10);
步驟10、染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10)接收染色器驅(qū)動(dòng)優(yōu)化模塊(9)優(yōu)化后的染色器驅(qū)動(dòng),生成可執(zhí)行文件,并將可執(zhí)行文件發(fā)送給染色器驅(qū)動(dòng)加載模塊(11);
步驟11、染色器驅(qū)動(dòng)加載模塊(11)接收染色器驅(qū)動(dòng)可執(zhí)行文件生成模塊(10)生成的染色器可執(zhí)行文件并加載到染色器程序空間,可以使染色器直接運(yùn)行該軟件。
步驟7中根據(jù)染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、染色器驅(qū)動(dòng)分解后軟件塊調(diào)用標(biāo)記信息判斷本次染色器運(yùn)行是否需要重構(gòu)染色器驅(qū)動(dòng)的判斷標(biāo)準(zhǔn)為:
本次的染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、軟件調(diào)用標(biāo)記信息與上次調(diào)用的染色器運(yùn)行屬性信息、染色器運(yùn)行數(shù)據(jù)信息、標(biāo)記信息是否一致,如果都一致不進(jìn)行染色器驅(qū)動(dòng)重構(gòu),否則需要進(jìn)行染色器驅(qū)動(dòng)重構(gòu)。
染色器功能函數(shù)庫(kù)模塊(8)包含默認(rèn)的染色器功能函數(shù)。
步驟5中染色器運(yùn)行控制信息包括:開始、停止。
最后應(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ù)方案的精神和范圍。