專利名稱::紋理的自動(dòng)運(yùn)行時(shí)標(biāo)識(shí)的制作方法紋理的自動(dòng)運(yùn)行時(shí)標(biāo)識(shí)
背景技術(shù):
:許多計(jì)算應(yīng)用執(zhí)行大量的處理來生成圖形。例如,視頻游戲應(yīng)用可使用3D圖形來渲染圖像和動(dòng)畫。然而,3D應(yīng)用通常需要大量的紋理數(shù)據(jù)來產(chǎn)生良好質(zhì)量的場(chǎng)景。大量的紋理進(jìn)而需要存儲(chǔ)器中和存儲(chǔ)介質(zhì)(例如硬盤或光盤)上的大量的空間。對(duì)于大多數(shù)游戲,按照百分比,相對(duì)于游戲的其他方面(諸如可執(zhí)行程序代碼和音頻數(shù)據(jù)),該紋理數(shù)據(jù)通常消耗大部分的可用存儲(chǔ)。因此,減少圖形數(shù)據(jù)(諸如紋理數(shù)據(jù))的量以及優(yōu)化支持該應(yīng)用所需的處理是增加其他類型數(shù)據(jù)的可用空間、減少下載時(shí)間、以及將必要數(shù)據(jù)(諸如紋理數(shù)據(jù))適合放到存儲(chǔ)介質(zhì)(諸如光盤)上所期望的。減少游戲或程序中的紋理里所使用的圖形數(shù)據(jù)的量將允許在新的級(jí)別中使用新的紋理或添加游戲的新區(qū)域或新部分,從而擴(kuò)展游戲或程序。
發(fā)明內(nèi)容數(shù)據(jù)優(yōu)化的一個(gè)重要方面是理解在應(yīng)用執(zhí)行過程期間圖像文件被使用了多少次。例如,知曉在視頻游戲過程期間特定MIP水平的紋理被使用了多少次將是有利的。在許多情況下,諸如視頻游戲之類的應(yīng)用可與次優(yōu)紋理使用的許多示例(諸如重復(fù)紋理、從未使用的紋理、以及從未獲取(fetch)的MIP水平)一起發(fā)貨。然而,收集關(guān)于紋理使用的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)需要大量的開發(fā)投入和游戲修改。通常,開發(fā)者使用更簡單的技術(shù),諸如視覺檢查,其中在運(yùn)行時(shí)基于正顯示哪個(gè)MIP水平來對(duì)紋理著色(color)。這樣的技術(shù)例如可提供用于標(biāo)識(shí)網(wǎng)格上的散布紋理(diffusetexture)的問題的信息。然而,在其中色彩不穿透的紋理(諸如在法線圖或光澤圖中)的情況下,這樣的技術(shù)可能不提供足夠的信息。而且,使用視覺檢查不提供貫穿整個(gè)游戲的紋理使用的整體視圖,并且通常提供更加定性而不是定量的分析。該視覺檢查方法還不能夠檢測(cè)相同的重復(fù),因?yàn)橐曈X上它們?cè)谝曈X觀察時(shí)看上去相同,并且可能不提供用于標(biāo)識(shí)正觀察哪些紋理的簡單機(jī)制。因此,期望在經(jīng)由例如應(yīng)用編程接口(API)將紋理加載并傳遞到主機(jī)系統(tǒng)時(shí),唯一標(biāo)識(shí)所述紋理。通常這種標(biāo)識(shí)難以在提供創(chuàng)建和操縱紋理的應(yīng)用靈活性的平臺(tái)上執(zhí)行。例如,系統(tǒng)將需要處理已被刪除、重新定位、取別名(aliased)等的紋理。此外,該系統(tǒng)必須能夠檢測(cè)正被加載的紋理是否在以前使用過。在此處公開的各實(shí)施例中,公開了用于對(duì)關(guān)于在應(yīng)用(諸如視頻游戲)執(zhí)行期間數(shù)據(jù)資產(chǎn)的使用的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)進(jìn)行運(yùn)行時(shí)跟蹤和監(jiān)視的方法和系統(tǒng)。在游戲執(zhí)行后,可向開發(fā)者提供使用數(shù)據(jù),所述使用數(shù)據(jù)描述執(zhí)行期間每個(gè)資產(chǎn)的使用。在一個(gè)實(shí)施例中,公開了在紋理被應(yīng)用使用時(shí)唯一標(biāo)識(shí)所述紋理的紋理標(biāo)識(shí)方法和系統(tǒng)。在各實(shí)施例中,可在各種情形下,諸如當(dāng)紋理被加載、刪除、重新定位、重新加載等時(shí),標(biāo)識(shí)紋理。以此方式,應(yīng)用可使用用于創(chuàng)建和管理紋理的精選方法。在一進(jìn)一步實(shí)施例中,提供API,該應(yīng)用可調(diào)用所述API來向系統(tǒng)提供在某些情形下能夠改善數(shù)據(jù)的質(zhì)量的有用fn息。在一實(shí)施例中,這種方法可在軟件開發(fā)工具包中實(shí)現(xiàn),而游戲應(yīng)用開發(fā)者可使用紋理跟蹤特征來記錄并提供紋理使用數(shù)據(jù)。當(dāng)數(shù)據(jù)和指令被實(shí)時(shí)傳遞到該系統(tǒng)時(shí),該開發(fā)工具包隨后可自動(dòng)裝載(instrument)著色器(shader)。提供本概述以便以簡化形式介紹將在以下具體實(shí)施方式中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。此外,所要求保護(hù)的主題不限于解決在本公開的任一部分中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。參考附圖來進(jìn)一步描述根據(jù)本說明書的用于更改虛擬環(huán)境內(nèi)的視圖視角的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì),在附圖中圖1是示例計(jì)算環(huán)境的框圖。圖2示出其中可體現(xiàn)此處描述的方法和系統(tǒng)的各方面的計(jì)算環(huán)境的另一示例實(shí)施例。圖3示出圖像和經(jīng)過濾的MIP水平的示例。圖4描繪合并此處公開的某些實(shí)施例的示例性系統(tǒng)。圖5描繪合并此處公開的某些實(shí)施例的示例性系統(tǒng)。圖6描繪合并此處描述的某些實(shí)施例的示例性過程。圖7描繪合并此處描述的某些實(shí)施例的示例性過程。圖8描繪合并此處描述的某些實(shí)施例的示例性過程。圖9描繪用于提供共享媒體體驗(yàn)的示例系統(tǒng)。圖10示出承載參考圖1-9討論的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。具體實(shí)施例方式在以下描述和附圖中闡明了某些具體細(xì)節(jié),以提供對(duì)本公開的各個(gè)實(shí)施例的全面理解。通常與計(jì)算和軟件技術(shù)相關(guān)聯(lián)的某些公知細(xì)節(jié)不在以下公開中描述,以避免不必要地使本公開的各實(shí)施例晦澀難懂。此外,相關(guān)領(lǐng)域的普通技術(shù)人員會(huì)理解,他們可以無需以下描述的細(xì)節(jié)中的一個(gè)或多個(gè)而實(shí)現(xiàn)本公開的其它實(shí)施例。最后,盡管在以下公開中參考了步驟和序列來描述各個(gè)方法,但是如此的描述是為了提供本公開的實(shí)施例的清楚實(shí)現(xiàn),且步驟以及步驟序列不應(yīng)被認(rèn)為是實(shí)現(xiàn)本公開所必需的。用于紋理標(biāo)識(shí)和跟蹤的基礎(chǔ)結(jié)構(gòu)圖1示出了在其中可實(shí)現(xiàn)各示例實(shí)施例和各方面的示例性計(jì)算環(huán)境。計(jì)算系統(tǒng)環(huán)境200只是合適計(jì)算環(huán)境的一個(gè)示例,并非旨在對(duì)使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算環(huán)境200解釋為對(duì)示例性操作環(huán)境200中示出的任一組件或其組合有任何依賴性或要求??梢允褂枚喾N其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置。適合與本發(fā)明一起使用的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)、大型計(jì)算機(jī)、嵌入式系統(tǒng)、包括任何以上系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等??梢允褂弥T如程序模塊等可由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。也可使用其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接或其他數(shù)據(jù)傳輸介質(zhì)的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境。在分布式計(jì)算環(huán)境中,程序模塊和其他數(shù)據(jù)可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖1,示例性系統(tǒng)包括計(jì)算機(jī)210形式的通用計(jì)算設(shè)備。計(jì)算機(jī)210的組件可包括,但不限于,處理單元210、系統(tǒng)存儲(chǔ)器230、以及將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件耦合到處理單元210的系統(tǒng)總線221。處理單元210可表示諸如多線程處理器上支持的多個(gè)邏輯處理單元。系統(tǒng)總線221可以是若干類型的總線結(jié)構(gòu)中的任一種,包括使用各種總線體系結(jié)構(gòu)中的任一種的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及局部總線。作為示例,而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也稱為夾層(Mezzanine)總線)。系統(tǒng)總線221也可被實(shí)現(xiàn)為點(diǎn)對(duì)點(diǎn)連接、交換光纖等通信設(shè)備。計(jì)算機(jī)210通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能被計(jì)算機(jī)210訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來儲(chǔ)存所期望的信息并可由計(jì)算機(jī)210訪問的任一其它介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”是指具有以在信號(hào)中編碼信息的方式被設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。以上的任何組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲(chǔ)器230包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM)231和隨機(jī)存取存儲(chǔ)器(RAM)231。包含諸如在啟動(dòng)期間幫助在計(jì)算機(jī)210內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)233¢10通常儲(chǔ)存儲(chǔ)在ROM231中。RAM231通常包含處理單元210可立即訪問和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖2示出了操作系統(tǒng)234、應(yīng)用程序235、其他程序模塊236和程序數(shù)據(jù)237。計(jì)算機(jī)210也可以包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖1示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器M0,對(duì)可移動(dòng)、非易失性磁盤251進(jìn)行讀寫的磁盤驅(qū)動(dòng)器251,以及對(duì)諸如CDROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤256進(jìn)行讀寫的光盤驅(qū)動(dòng)器255??稍谑纠圆僮鳝h(huán)境中使用的其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動(dòng)器Ml通常通過諸如接口MO之類的不可移動(dòng)存儲(chǔ)器接口連接到系統(tǒng)總線221,并且磁盤驅(qū)動(dòng)器251和光盤驅(qū)動(dòng)器255通常通過諸如接口250之類的可移動(dòng)存儲(chǔ)器接口連接到系統(tǒng)總線221。以上討論并在圖1中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)210提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲(chǔ)。在圖1中,例如,硬盤驅(qū)動(dòng)器241被示為存儲(chǔ)操作系統(tǒng)M4、應(yīng)用程序M5、其他程序模塊246和程序數(shù)據(jù)M7。注意,這些組件可與操作系統(tǒng)234、應(yīng)用程序235、其他程序模塊236和程序數(shù)據(jù)237相同,也可與它們不同。在此操作系統(tǒng)M4、應(yīng)用程序M5、其他程序模塊M6以及程序數(shù)據(jù)247被給予了不同的編號(hào),以說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,例如鍵盤261和定點(diǎn)設(shè)備——通常是指鼠標(biāo)、跟蹤球或觸摸墊——向計(jì)算機(jī)20輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些以及其他輸入設(shè)備通常通過耦合到系統(tǒng)總線的用戶輸入接口260連接到處理單元259,但也可通過諸如并行端口、游戲端口或通用串行總線(USB)之類的其他接口和總線結(jié)構(gòu)來連接。監(jiān)視器或其他類型的顯示設(shè)備也通過諸如視頻接口四0之類的接口連接至系統(tǒng)總線221。除了監(jiān)視器以外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器297和打印機(jī)296之類的其他外圍輸出設(shè)備,它們可通過輸出外圍接口295來連接。計(jì)算機(jī)210可使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)(諸如,遠(yuǎn)程計(jì)算機(jī)觀0)的邏輯連接而在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)280可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多或所有以上關(guān)于計(jì)算機(jī)210所描述的元件,但在圖1中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備觀1。圖1中所描繪的邏輯連接包括局域網(wǎng)(LAN)271和廣域網(wǎng)(WAN)273,但還可包括其他網(wǎng)絡(luò)。此類聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)210通過網(wǎng)絡(luò)接口或適配器270連接到LAN271。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)210通常包括調(diào)制解調(diào)器271或用于通過諸如因特網(wǎng)等WAN273建立通信的其他手段。調(diào)制解調(diào)器271可以是內(nèi)置的或外置的,可經(jīng)由用戶輸入接口260或其他適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線221。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)210所示的程序模塊或其部分可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例而非限制,圖1示出了遠(yuǎn)程應(yīng)用程序285駐留在存儲(chǔ)器設(shè)備281上。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。圖2示出根據(jù)所公開的主題可使用的計(jì)算環(huán)境的示例實(shí)施例。以上參考附圖1所描述的諸如計(jì)算環(huán)境12的計(jì)算環(huán)境可以是多媒體控制臺(tái)100,諸如游戲控制臺(tái)。如圖2所示,多媒體控制臺(tái)100具有含有一級(jí)高速緩存102、二級(jí)高速緩存104和閃存R0M(只讀存儲(chǔ)器)106的中央處理單元(CPU)101。一級(jí)高速緩存102和二級(jí)高速緩存104臨時(shí)存儲(chǔ)數(shù)據(jù),并且因此減少存儲(chǔ)器訪問周期的數(shù)量,由此改進(jìn)處理速度和吞吐量。CPU101可被提供為具有一個(gè)以上的核,并且由此具有附加的一級(jí)高速緩存102和二級(jí)高速緩存104。閃存ROM106可存儲(chǔ)在多媒體控制臺(tái)100通電時(shí)引導(dǎo)過程的初始階段期間加載的可執(zhí)行代碼。圖形處理單元(GPU)108和視頻編碼器/視頻編解碼器(編碼器/解碼器)114形成用于高速和高分辨率圖形處理的視頻處理流水線。經(jīng)由總線從圖形處理單元108向視頻編碼器/視頻編解碼器114運(yùn)送數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口140輸出數(shù)據(jù),用于傳輸至電視或其他顯示器。存儲(chǔ)器控制器110連接到GPU108以方便處理器訪問各種類型的存儲(chǔ)器112,諸如但不局限于RAM(隨機(jī)存取存儲(chǔ)器)。多媒體控制臺(tái)100包括較佳地在模塊118上實(shí)現(xiàn)的I/O控制器120、系統(tǒng)管理控制器122、音頻處理單元123、網(wǎng)絡(luò)接口控制器124、第一USB主控制器126、第二USB控制器1和前面板I/O子部件130。USB控制器126和1用作外圍控制器142(1)-142(2),無線適配器148、以及外置存儲(chǔ)器設(shè)備146(例如,閃存、外置⑶/DVDROM驅(qū)動(dòng)器、可移動(dòng)介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口1和/或無線適配器148提供對(duì)網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問,并且可以是包括以太網(wǎng)卡、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無線適配器組件中的任何一種。提供系統(tǒng)存儲(chǔ)器143來存儲(chǔ)在引導(dǎo)過程期間加載的應(yīng)用數(shù)據(jù)。提供媒體驅(qū)動(dòng)器144,且其可包括DVD/⑶驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、或其他可移動(dòng)媒體驅(qū)動(dòng)器等。媒體驅(qū)動(dòng)器144可以是對(duì)多媒體控制器100內(nèi)置的或外置的。應(yīng)用數(shù)據(jù)可經(jīng)由媒體驅(qū)動(dòng)器144訪問,以供多媒體控制臺(tái)100執(zhí)行、回放等。媒體驅(qū)動(dòng)器144經(jīng)由諸如串行ATA總線或其他高速連接(例如IEEE1394)等總線連接到I/O控制器120。系統(tǒng)管理控制器122提供與確保多媒體控制臺(tái)100的可用性相關(guān)的各種服務(wù)功能。音頻處理單元123和音頻編解碼器132形成具有高保真度和立體聲處理的相應(yīng)音頻處理流水線。音頻數(shù)據(jù)經(jīng)由通信鏈路在音頻處理單元123與音頻編解碼器132之間傳輸。音頻處理流水線將數(shù)據(jù)輸出到A/V端口140,以供外置音頻播放器或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件130支持暴露在多媒體控制臺(tái)100的外表面上的電源按鈕150和彈出按鈕152、以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊136向多媒體控制臺(tái)100的組件供電。風(fēng)扇138冷卻多媒體控制臺(tái)100內(nèi)的電路。CPU101、GPU108、存儲(chǔ)器控制器110、以及多媒體控制臺(tái)100內(nèi)的各種其他組件經(jīng)由一條或多條總線互連,該總線包括串行和并行總線、存儲(chǔ)器總線、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的處理器或局部總線。作為示例,這些架構(gòu)可以包括外圍部件互連(PCI)總線、PCI-Express總線等。當(dāng)多媒體控制臺(tái)100通電時(shí),應(yīng)用數(shù)據(jù)可從系統(tǒng)存儲(chǔ)器143加載到存儲(chǔ)器112和/或高速緩存102、104中,并且可在CPU101上執(zhí)行。應(yīng)用可在導(dǎo)航到多媒體控制臺(tái)100上可用的不同媒體類型時(shí)呈現(xiàn)提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,媒體驅(qū)動(dòng)器144中所包含的應(yīng)用和/或其他媒體可從媒體驅(qū)動(dòng)器144啟動(dòng)或播放,以將附加功能提供給多媒體控制臺(tái)100。多媒體控制臺(tái)100可通過簡單地將該系統(tǒng)連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺(tái)100允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,在通過網(wǎng)絡(luò)接口1或無線適配器148可用的寬帶連接集成的情況下,多媒體控制臺(tái)100還可作為更大網(wǎng)絡(luò)社區(qū)中的參與者來操作。當(dāng)多媒體控制臺(tái)100通電時(shí),可以保留設(shè)定量的硬件資源以供多媒體控制臺(tái)操作系統(tǒng)作系統(tǒng)使用。這些資源可包括存儲(chǔ)器的保留量(諸如,16MB)、CPU和GPU周期的保留量(諸如,5%)、網(wǎng)絡(luò)帶寬的保留量(諸如,Slcbs),等等。因?yàn)檫@些資源是在系統(tǒng)引導(dǎo)時(shí)間保留的,所保留的資源從應(yīng)用的視角而言是不存在的。具體而言,存儲(chǔ)器保留量優(yōu)選地足夠大,以包含啟動(dòng)內(nèi)核、并發(fā)系統(tǒng)應(yīng)用程序和驅(qū)動(dòng)程序。CPU保留量優(yōu)選地為恒定,使得若所保留的CPU用量不被系統(tǒng)應(yīng)用使用,則空閑線程將消耗任何未使用的周期。對(duì)于GPU保留量,通過使用GPU中斷來調(diào)度代碼以將彈出窗口渲染為覆蓋圖,從而顯示由系統(tǒng)應(yīng)用程序生成的輕量消息(例如,彈出窗口)。覆蓋圖所需的存儲(chǔ)器量取決于覆蓋區(qū)域大小,并且覆蓋圖優(yōu)選地與屏幕分辨率成比例縮放。在并發(fā)系統(tǒng)應(yīng)用使用完整用戶界面的情況下,優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而無需改變頻率和引起TV重新同步。在多媒體控制臺(tái)100引導(dǎo)且系統(tǒng)資源被保留之后,執(zhí)行并發(fā)系統(tǒng)應(yīng)用來提供系統(tǒng)功能。系統(tǒng)功能被封裝在上述所保留的系統(tǒng)資源內(nèi)執(zhí)行的一組系統(tǒng)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識(shí)出作為系統(tǒng)應(yīng)用線程而非游戲應(yīng)用線程的線程。系統(tǒng)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在CPU101上運(yùn)行,以便提供對(duì)應(yīng)用而言一致的系統(tǒng)資源視圖。調(diào)度是為了使在控制臺(tái)上運(yùn)行的游戲應(yīng)用的高速緩存分裂最小化。當(dāng)并發(fā)系統(tǒng)應(yīng)用需要音頻時(shí),由于時(shí)間敏感性而將音頻處理異步地調(diào)度給游戲應(yīng)用。多媒體控制臺(tái)應(yīng)用管理器(如下所描述的)在系統(tǒng)應(yīng)用活動(dòng)時(shí)控制游戲應(yīng)用的音頻級(jí)別(例如,靜音、衰減)。輸入設(shè)備(例如,控制器142(1)和142()由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。輸入設(shè)備不是保留資源,而是在系統(tǒng)應(yīng)用和游戲應(yīng)用之間切換以使其各自具有設(shè)備的焦點(diǎn)。應(yīng)用管理器較佳地控制輸入流的切換,而無需知曉游戲應(yīng)用的知識(shí),并且驅(qū)動(dòng)程序維護(hù)有關(guān)焦點(diǎn)切換的狀態(tài)信息。相機(jī)27J8和捕捉設(shè)備20可為控制臺(tái)100定義附加輸入設(shè)備。在此處公開的實(shí)施例中,所描述的操作中的一些或全部可使用上面描述的功能組件中的一個(gè)或多個(gè)來執(zhí)行。例如,現(xiàn)在某些CPU足夠強(qiáng)大來執(zhí)行對(duì)頂點(diǎn)和像素的類GPU操作。因此,所公開的實(shí)施例可在沒有單獨(dú)的GPU的情況下實(shí)現(xiàn)。紋理以下示例實(shí)施例以視頻游戲應(yīng)用和諸如微軟的XBOX360控制臺(tái)等系統(tǒng)為上下文描述了用于紋理獲取裝載(instrumentation)的紋理標(biāo)識(shí)和實(shí)時(shí)著色器修改方法。然而,應(yīng)用到視頻游戲控制臺(tái)是示例性的,而本領(lǐng)域的技術(shù)人員將意識(shí)到,所公開的原理能很容易地應(yīng)用到其他實(shí)時(shí)3D數(shù)據(jù)、應(yīng)用和平臺(tái)。這種數(shù)據(jù)可包括任何媒體文件,諸如音樂文件。而且,目前公開的主題不僅可應(yīng)用于文本,而且可應(yīng)用于其中庫嘗試跟蹤該庫不擁有、但是由該庫不控制或直接裝載的其他代碼傳遞到該庫中的對(duì)象的信息(壽命、使用模式、唯一性)的任何情形。所有這樣的數(shù)據(jù)、應(yīng)用和平臺(tái)都被構(gòu)想為落在本發(fā)明的范圍內(nèi)。在以下示例中,以視頻游戲開發(fā)者所使用的軟件開發(fā)工具包為上下文示出所公開的方法。然而,這些示例是為說明目的而提供的,而所公開的方法可以使用其他方法和機(jī)制來提供。在諸如視頻游戲之類的圖形應(yīng)用中,可使用3D圖形。3D圖形使用通過對(duì)三維對(duì)象進(jìn)行線框表示的建模,這些三維對(duì)象可以使用各種3D渲染技術(shù)被顯示成二維圖像。這樣的技術(shù)例如可以使用3D空間中由諸如三角形之類的幾何實(shí)體所連接的點(diǎn)的集合來表示3D對(duì)象。當(dāng)建立視頻游戲應(yīng)用中的場(chǎng)景時(shí),可以在生成靜止圖像或動(dòng)畫時(shí)考慮到各個(gè)虛擬對(duì)象、觀察者的視角、色彩、以及照明。通常,3D模型的頂點(diǎn)被著色,并且該色彩然后可以在渲染期間在該模型表面的范圍內(nèi)進(jìn)行插值。一種用于將色彩信息添加到3D模型的方法是通過使用紋理映射將2D紋理圖像應(yīng)用于該模型的表面來進(jìn)行的。紋理可以將細(xì)節(jié)、表面紋理、或色彩添加到計(jì)算機(jī)生成的圖形或3D模型。頂點(diǎn)幾何形狀信息(頂點(diǎn)緩沖區(qū))可以包括紋理坐標(biāo),該紋理坐標(biāo)指示如何將紋理圖像圖的點(diǎn)映射到3D模型的表面。紋理可以映射到諸如3D建模中常用的三角形之類的形狀的表面。此外,著色器可以執(zhí)行復(fù)雜計(jì)算以從任意位置內(nèi)取任何數(shù)目的紋理。因?yàn)榧y理化表面可能在相對(duì)于觀察者的任意距離和定向處,所以可應(yīng)用某些形式的過濾來確定像素的最佳色彩。給定矩形紋理,取決于期望的觀察距離和定向,多個(gè)紋理元(texel)可能需要被采樣和組合,來為像素提供最適當(dāng)?shù)纳?。Mip映射(mipmapping)是一種可用來節(jié)省映射紋理數(shù)據(jù)所需的處理的技術(shù)。Mip圖(mipmap)可以是陪伴主紋理的預(yù)先計(jì)算的、經(jīng)優(yōu)化的圖像集合。Mip圖因此可被用來通過緩解實(shí)時(shí)調(diào)整紋理大小的需要來增加渲染速度。Mip映射預(yù)過濾紋理并將紋理用低至單一像素的更小的大小存儲(chǔ)。當(dāng)紋理化表面移動(dòng)得更遠(yuǎn)時(shí),所應(yīng)用的紋理切換到被預(yù)先過濾的更小的大小。每一mip像可為主紋理的處于某一降低細(xì)節(jié)水平的一個(gè)版本。盡管在視圖足以以全部細(xì)節(jié)渲染主紋理時(shí)可使用主紋理,然而渲染器可在從一定距離或在小尺寸處查看該紋理時(shí)切換到合適的mip像。因?yàn)楸惶幚淼募y理元的數(shù)量可遠(yuǎn)低于樣本紋理,故渲染速度增加。例如,如果紋理具有256X256像素的基礎(chǔ)大小,則相關(guān)聯(lián)的mip圖集合可包含一個(gè)八幅圖像的系列,每一幅是前一幅的總面積的四分之一像素、64X64、32X32、16X16、8X8、4X4、2X2以及1X1。參考圖3,示出的是具有多個(gè)MIP等級(jí)的紋理mip像的示例。如圖所示,左側(cè)的主體圖像300伴隨著尺寸減小的經(jīng)過濾副本310、320等。3D應(yīng)用通常需要大量的紋理數(shù)據(jù)來產(chǎn)生良好質(zhì)量的場(chǎng)景。該大量的紋理進(jìn)而需要存儲(chǔ)器中和存儲(chǔ)介質(zhì)(例如硬盤或光盤)上的大量的空間。在一些情況下,諸如視頻游戲開發(fā)者等應(yīng)用開發(fā)者在磁盤上具有用于期望圖像數(shù)據(jù)的足夠空間方面有問題。例如,視頻游戲中每個(gè)場(chǎng)景的每個(gè)角色可具有與其相關(guān)聯(lián)的多個(gè)紋理。紋理可以是U8XU8像素的,并且可能需要每個(gè)像素?cái)?shù)千字節(jié)。開發(fā)者可能無意地提供同一圖像的兩個(gè)或更多個(gè)紋理,從而加重這個(gè)問題。在其他情況下,可能提供遠(yuǎn)比應(yīng)用所需要的大得多的紋理。提供關(guān)于游戲開發(fā)期間紋理的使用的數(shù)據(jù)將是有用的,開發(fā)者可使用所述數(shù)據(jù)來在發(fā)布產(chǎn)品之前優(yōu)化紋理的使用。例如,使用這種信息,開發(fā)者能夠消除重復(fù)紋理,或減少對(duì)它們?cè)趹?yīng)用中的最終利用來說太大的紋理尺寸。因此,減少圖形數(shù)據(jù)(諸如紋理數(shù)據(jù))的量以及優(yōu)化支持該應(yīng)用所需的處理是增加其他類型數(shù)據(jù)的可用空間、減少下載時(shí)間、以及將必要數(shù)據(jù)(諸如紋理數(shù)據(jù))適合放到存儲(chǔ)介質(zhì)(諸如光盤)上所期望的。減少游戲或程序中的紋理里所使用的圖形數(shù)據(jù)的量將允許在新的級(jí)別中使用新的紋理或添加游戲的新區(qū)域或新部分,從而擴(kuò)展游戲或程序。數(shù)據(jù)優(yōu)化的一個(gè)重要方面是理解在應(yīng)用執(zhí)行過程期間圖像文件被使用了多少次。例如,知曉在視頻游戲過程期間紋理的特定MIP水平被使用了多少次將是有利的。在許多情況下,諸如視頻游戲之類的應(yīng)用可與次優(yōu)紋理使用的許多示例(諸如重復(fù)紋理、從未使用的紋理、以及從未獲取的MIP水平)一起發(fā)貨。然而,收集關(guān)于紋理使用的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)需要大量的開發(fā)投入和游戲修改。通常,開發(fā)者使用更簡單的技術(shù),諸如視覺檢查,其中在運(yùn)行時(shí)基于其上正顯示哪個(gè)MIP等級(jí)來對(duì)紋理著色(color)。這樣的技術(shù)例如可提供用于標(biāo)識(shí)網(wǎng)格上的散布紋理(diffusetexture)的問題的信息。然而,在其中色彩不穿透的紋理(諸如在法線圖或光澤圖中)的情況下,這樣的技術(shù)可能不提供足夠的信息。而且,使用視覺檢查不提供貫穿整個(gè)游戲的紋理使用的整體視圖,并且通常提供更加定性而不是定量的分析。該視覺檢查方法還不能夠檢測(cè)相同的重復(fù),因?yàn)樵谝曈X上它們?cè)谝曈X檢查時(shí)看上去相同。視覺檢查方法還不能良好地適用于標(biāo)識(shí)開發(fā)者正在觀察哪個(gè)紋理。一些開發(fā)者能夠在他們的內(nèi)容流水線中實(shí)現(xiàn)紋理的離線處理,所述內(nèi)容流水線查找靜態(tài)問題,諸如重復(fù)的色彩信道和類似的紋理。這些技術(shù)可標(biāo)識(shí)某類問題,但是不提供關(guān)于在運(yùn)行時(shí)如何使用紋理的有用信息。例如,這些技術(shù)不能確定是否紋理在運(yùn)行時(shí)期間從未被使用,或者是否從未獲取任何信道。因此,期望在經(jīng)由例如應(yīng)用編程接口(API)將紋理加載并傳遞到主機(jī)系統(tǒng)時(shí),唯一標(biāo)識(shí)所述紋理。通常這種標(biāo)識(shí)難以在提供創(chuàng)建和裝載紋理的應(yīng)用靈活性的平臺(tái)上執(zhí)行。例如,系統(tǒng)將需要處理已被刪除、重新定位、取別名(即,具有指向相同存儲(chǔ)器位置的多個(gè)紋理頭)等的紋理。此外,該系統(tǒng)必須能夠檢測(cè)正被加載的紋理是否在以前使用過。這種標(biāo)識(shí)需要解決的一個(gè)問題是當(dāng)通過引用紋理的地址來請(qǐng)求該紋理時(shí),著色器可標(biāo)識(shí)紋理的正確大小(例如,它是一個(gè)64X64紋理),但是可能不知曉該紋理是從磁盤的何處裝載的。另一個(gè)問題是如果庫允許的話,則裝載在存儲(chǔ)器的特定區(qū)域中的紋理可能在后來被移動(dòng)。在各實(shí)施例中,游戲開發(fā)者可使用軟件開發(fā)工具包來裝載游戲應(yīng)用、點(diǎn)擊按鈕來允許數(shù)據(jù)捕捉、然后在其各個(gè)等級(jí)和場(chǎng)景來運(yùn)行貫穿該游戲。然后,開發(fā)者可查看詳細(xì)記載紋理的使用以及在游戲運(yùn)行期間使用的MIP等級(jí)的報(bào)告。標(biāo)識(shí)在目前公開的主題的一實(shí)施例中,可提供經(jīng)修改的3DAPI庫和查看器應(yīng)用。經(jīng)修改的庫可提供與庫的標(biāo)準(zhǔn)版相同的接口,但是具有若干底層(under-the-hood)修改以允許紋理跟蹤。用戶/開發(fā)者可對(duì)照經(jīng)修改的庫來編譯其游戲應(yīng)用并調(diào)用特定API來允許對(duì)紋理的跟蹤。當(dāng)游戲執(zhí)行時(shí),庫可唯一標(biāo)識(shí)該游戲所使用的所有紋理。庫還可在進(jìn)行中(onthefly)裝載著色器和命令緩沖器,以便可收集使用統(tǒng)計(jì)數(shù)據(jù)。在一實(shí)施例中,當(dāng)用戶期望獲取捕捉(即,對(duì)紋理使用模式的記錄)時(shí),用戶可點(diǎn)擊查看器應(yīng)用上的按鈕或調(diào)用“開始”API,從此處開始,所有紋理使用可被庫記錄并存儲(chǔ)在捕捉文件中。當(dāng)用戶通過點(diǎn)擊查看器應(yīng)用上的按鈕或調(diào)用“停止”API來終止該捕捉時(shí),捕捉文件可被傳輸?shù)街饔?jì)算系統(tǒng)并被加載到查看器應(yīng)用中。在此時(shí),查看器應(yīng)用可處理紋理使用數(shù)據(jù)并生成智能推薦的列表來改進(jìn)空間的使用。在一個(gè)實(shí)施例中,可向用戶呈現(xiàn)所使用的紋理的完整列表,每個(gè)紋理具有縮略圖、使用統(tǒng)計(jì)數(shù)據(jù)、以及為保存紋理空間而推薦的修改??商峁┟縈IP的獲取的交互圖以及屏幕截圖以幫助用戶更好地理解紋理在其中使用的上下文。在一個(gè)實(shí)施例中,供該應(yīng)用(即,外部代碼)使用的由該系統(tǒng)或控制臺(tái)所提供的庫可能向該外部代碼暴露處理所述對(duì)象的一組一個(gè)或多個(gè)API。在一些系統(tǒng)中,可提供這種庫,所述庫可被游戲應(yīng)用調(diào)用以訪問該系統(tǒng)所提供的功能,例如用于在用戶界面上渲染圖像和動(dòng)畫。在微軟的XBOX360(其使用Direct3D)的情況下,這樣的API可包括“設(shè)置紋理”或“設(shè)置像素著色器”,其中游戲應(yīng)用可將紋理或著色器對(duì)象傳遞到該庫以使該紋理或著色器由該庫使用。在諸如微軟的XBOX360等一些系統(tǒng)中,可向應(yīng)用提供對(duì)紋理從DVD到存儲(chǔ)器的加載的完全控制。盡管這種能力可向游戲開發(fā)者提供改善性能的靈活性,然而這種靈活性可能使系統(tǒng)更難以在紋理被加載后跟蹤紋理的使用。例如,當(dāng)將紋理從DVD加載到控制臺(tái)存儲(chǔ)器中時(shí),該鏡像(image)的副本可被加載到對(duì)該庫來說未知的存儲(chǔ)器部分中。該系統(tǒng)可實(shí)現(xiàn)用于跟蹤對(duì)象在存儲(chǔ)器中的可能位置的結(jié)構(gòu),其具有對(duì)已在每個(gè)存儲(chǔ)器地址處標(biāo)識(shí)每個(gè)對(duì)象的描述。例如,當(dāng)Direct3D將命令和紋理定向到圖形處理單元(GPU)時(shí),可確定該紋理的標(biāo)識(shí)。當(dāng)外部代碼調(diào)用標(biāo)準(zhǔn)或可任選的API中的任何一個(gè)時(shí),可通知庫“在地址X處有一對(duì)象,其具有此描述,并且正在以此方式被使用”。然后該庫可檢查該存儲(chǔ)器跟蹤結(jié)構(gòu)來看在該存儲(chǔ)器地址處是否新近標(biāo)識(shí)了與該相同描述相匹配的對(duì)象。如果在該地址處還沒有標(biāo)識(shí)對(duì)象,或者如果在該地址處已加載了與新對(duì)象不匹配的其他對(duì)象,則可將用于該地址的新節(jié)點(diǎn)連同對(duì)被提供給該API的對(duì)象的描述一起添加到該結(jié)構(gòu)中。該地址的任何先前節(jié)點(diǎn)可被添加到該節(jié)點(diǎn)的歷史。如果在該存儲(chǔ)器地址處標(biāo)識(shí)的最新近的對(duì)象與對(duì)被傳遞到該API的對(duì)象的描述相匹配,則可用“最新近使用”時(shí)間戳來更新該地址的節(jié)點(diǎn)跟蹤并使計(jì)數(shù)器加一。為了處理諸如取別名(aliasing)(其中具有不同描述的兩個(gè)對(duì)象共享存儲(chǔ)器的相同區(qū)域)等情況,可維護(hù)每個(gè)存儲(chǔ)器地址的歷史,所述歷史跟蹤已加載到該存儲(chǔ)器地址中的最后N個(gè)對(duì)象。如果對(duì)象的描述不與該地址的歷史中的“最新近使用的”相匹配,但是的確與所述歷史中的某個(gè)其他節(jié)點(diǎn)相匹配,則舊的匹配節(jié)點(diǎn)可被移至“最新近使用的”位置。當(dāng)發(fā)現(xiàn)新對(duì)象時(shí)(例如,只要在上述歷史中創(chuàng)建新節(jié)點(diǎn)時(shí)),可調(diào)用新對(duì)象分析器。這種分析器可用于唯一標(biāo)識(shí)該對(duì)象。在一個(gè)實(shí)施例中,GPU所引用的紋理的圖標(biāo)或縮略圖可被捕捉并保存。然后可將該縮略圖或圖標(biāo)與該圖像被渲染的時(shí)間以及被檢索(retrieve)的存儲(chǔ)器位置相關(guān)聯(lián)。與該相同存儲(chǔ)器位置相關(guān)聯(lián)的未來紋理獲取可被累積并在使用報(bào)告中提供。當(dāng)開發(fā)者可提供名稱來標(biāo)識(shí)一紋理并在隨后再次使用該名稱以用于不同紋理或類似紋理時(shí)可能出現(xiàn)問題。例如,對(duì)于游戲的等級(jí)1可存在表示矩形紅色磚塊的“磚塊”紋理。對(duì)于游戲的等級(jí)2,可存在表示用作磚塊的圓形灰色石頭的“磚塊”紋理。在此情況下,找到即便在開發(fā)者為它們給出相同名稱時(shí)也能區(qū)分這些紋理的另一種方式將是有用的。當(dāng)兩個(gè)相同的紋理被賦予了不同的名稱時(shí)可能出現(xiàn)另一個(gè)問題。類似地,紋理可被提供兩次。在一個(gè)實(shí)施例中,可為所獲取的每個(gè)紋理計(jì)算散列。例如,該新對(duì)象分析器可生成該紋理的一個(gè)或多個(gè)MIP等級(jí)的RGBA位的一個(gè)1字節(jié)散列。對(duì)于更復(fù)雜的對(duì)象,可使用其他類型的散列(hashing)或唯一標(biāo)識(shí)方法。在所述紋理中每個(gè)紋理具有一散列的情況下,該系統(tǒng)可以能夠確定何時(shí)散列是相同的的,或何時(shí)不同的MIP等級(jí)與相同的圖像相關(guān)聯(lián)。一旦已向?qū)ο蠓峙淞宋ㄒ粯?biāo)識(shí)符(1位散列或其他),則可維護(hù)該對(duì)象的使用的歷史。例如,一紋理可在時(shí)刻0:15被加載到地址A、在0:20被卸載、在0:30被重新加載到地址B、在0:40被加載到第2個(gè)存儲(chǔ)器地址(地址C)中、在0:50被從B卸載以及在0:53被從C卸載。對(duì)于紋理被加載的時(shí)刻中的每一個(gè),可允許外部代碼在任何存儲(chǔ)器位置(A、B或C)加載該紋理。通過使用該唯一標(biāo)識(shí)符,這三個(gè)地址中的每一個(gè)的創(chuàng)建/刪除信息可被組合為一個(gè)有用歷史。該每地址對(duì)象描述節(jié)點(diǎn)可指向該唯一持久對(duì)象跟蹤數(shù)據(jù)庫中的適當(dāng)?shù)臈l目。如果紋理被加載但在應(yīng)用執(zhí)行過程期間從未被使用,則不需要為該紋理提供任何數(shù)據(jù),而開發(fā)者可認(rèn)為該紋理未被使用。附加地或可任選地,該庫可暴露一組API來協(xié)助對(duì)對(duì)象創(chuàng)建和刪除的跟蹤。在一個(gè)實(shí)施例中,可使用第二組API以允許提供提示來協(xié)助紋理跟蹤代碼。例如,這種提示可提供用于建立紋理創(chuàng)建和刪除的決定性時(shí)間戳的信息。例如,在微軟的XBOX360上,這種提示可能是有用的,因?yàn)榭稍试S游戲應(yīng)用獨(dú)立于該D3D庫地管理紋理。在另一實(shí)施例中,該外部代碼還可命名對(duì)象。例如,可以使用從其加載該對(duì)象的文件的實(shí)際文件名或完整磁盤上路徑作為名稱。此名稱可被用來協(xié)助唯一標(biāo)識(shí)該對(duì)象。在此情況下,開發(fā)者可能需要修改程序代碼來提供文件名稱。其中跟蹤機(jī)制可使用“提示”功能的示例情形包括1)當(dāng)該外部代碼在存儲(chǔ)器中在物理上重新定位對(duì)象時(shí)。在此情況下,該外部代碼可調(diào)用“報(bào)告移動(dòng)對(duì)象”API來通知存儲(chǔ)器跟蹤器功能。2)當(dāng)該外部代碼用具有匹配描述但是具有不同唯一對(duì)象ID的另一對(duì)象來取代一對(duì)象時(shí),該外部代碼可任一地調(diào)用“設(shè)置對(duì)象名稱”API、“報(bào)告新對(duì)象”API、或“報(bào)告刪除對(duì)象”API來提供信息以便該跟蹤機(jī)制能夠區(qū)分這兩個(gè)對(duì)象。3)可調(diào)用該API來通知該系統(tǒng)紋理已被刪除。然而,如果新對(duì)象分析器足夠快,在一些情況下為每個(gè)對(duì)象重新散列或重新生成唯一ID可能是可接受的,在此情況下對(duì)“提示API,,的外部調(diào)用可不被調(diào)用。現(xiàn)在參考圖4,示出描繪此處公開的標(biāo)識(shí)系統(tǒng)的各方面的示例性功能圖。該圖指示包括應(yīng)用擁有的代碼和數(shù)據(jù)的數(shù)據(jù)庫擁有的API的一個(gè)示例。應(yīng)用400可能夠訪問應(yīng)用擁有的API410。這種API可被調(diào)用,以創(chuàng)建對(duì)象、移動(dòng)對(duì)象、刪除對(duì)象等。如同上面討論的,在一些系統(tǒng)中,可向該應(yīng)用提供對(duì)象到存儲(chǔ)器420中的加載的控制。因此,存儲(chǔ)器420可包括多個(gè)對(duì)象,這多個(gè)對(duì)象可具有對(duì)該庫來說未知的壽命和描述。該庫可提供API430,所述API430可使用并處理所述對(duì)象。用戶/開發(fā)者可對(duì)照該庫來編譯其游戲應(yīng)用并調(diào)用特定API來允許對(duì)紋理的跟蹤。應(yīng)用400可調(diào)用一個(gè)或多個(gè)API來處理這些對(duì)象??蓜?chuàng)建并存儲(chǔ)結(jié)構(gòu)440以描述關(guān)于被加載到存儲(chǔ)器中的對(duì)象的當(dāng)前狀態(tài)的庫的信息。當(dāng)新地址被標(biāo)識(shí)為具有用于處理的對(duì)象時(shí),或如果在該存儲(chǔ)器地址處已加載了不與該新對(duì)象相匹配的對(duì)象,可將新節(jié)點(diǎn)連同被提供到該API的對(duì)象的描述一起添加到該結(jié)構(gòu)。該地址的任何先前節(jié)點(diǎn)可被添加到該節(jié)點(diǎn)的歷史中。如果在該存儲(chǔ)器地址處標(biāo)識(shí)的最新近的對(duì)象與對(duì)被傳遞到該API的對(duì)象的描述相匹配,則可用“最新近使用”時(shí)間戳來更新該地址的節(jié)點(diǎn)跟蹤并使計(jì)數(shù)器加一。當(dāng)發(fā)現(xiàn)新對(duì)象時(shí),可調(diào)用新對(duì)象分析器460來唯一標(biāo)識(shí)該對(duì)象。已被創(chuàng)建或以其他方式使用的所有對(duì)象可被存儲(chǔ)在持久數(shù)據(jù)庫470中。附加地或可任選地,可使用第二組API440以允許提供提示來協(xié)助紋理跟蹤代碼。例如,這些提示可提供用于報(bào)告新對(duì)象、報(bào)告刪除對(duì)象、命名對(duì)象、報(bào)告移動(dòng)至對(duì)象(importingmovedtoobject)、報(bào)告用于對(duì)象(reportingusedtoobject)等的信息。數(shù)據(jù)捕捉著色器通常被用于對(duì)GPU進(jìn)行編程。著色器可包括用于在GPU上計(jì)算渲染效果的一組軟件指令。例如,著色器可描述頂點(diǎn)的特征,諸如位置、紋理坐標(biāo)和色彩。著色器還可描述像素的特征,諸如位置、紋理坐標(biāo)和色彩。在一示例性系統(tǒng)中,中央處理單元向GPU發(fā)送指令和幾何形狀數(shù)據(jù),而頂點(diǎn)著色器可變換該幾何形狀、執(zhí)行照明計(jì)算、執(zhí)行對(duì)場(chǎng)景中的幾何形狀的改變、三角測(cè)量所計(jì)算的幾何形狀、以及變換該三角形的像素圖元。在一個(gè)實(shí)施例中,為了確定紋理如何被使用,開發(fā)系統(tǒng)可跟蹤應(yīng)用所使用的所有著色器和紋理。所述跟蹤可在API層面執(zhí)行。在其他實(shí)施例中,所述跟蹤可在其他層次(諸如驅(qū)動(dòng)器層次)執(zhí)行。通常,用于GPU的指令和數(shù)據(jù)被包含在標(biāo)識(shí)紋理以及標(biāo)識(shí)要對(duì)該紋理執(zhí)行的處理的分組中。例如,分組可包含指向文本的指針以及讓GPU把紋理畫一百次的指令??山忉尣⒎治鏊龇纸M以確定被請(qǐng)求物的性質(zhì)和內(nèi)容。關(guān)于將如何使用分組的足夠知識(shí)對(duì)于做出這種解釋和分析是必要的。在一個(gè)實(shí)施例中,開發(fā)系統(tǒng)可解析被提交到GPU的命令緩沖器,并分析和/或修改每個(gè)分組。命令可被添加以跟蹤什么紋理和MIP正被使用。例如,命令分組可包含著色器指令和指向紋理的指針。像素著色器可被分解以尋找從紋理獲取的所有指令,并且可以添加指令,所述指令確定要被檢索的每個(gè)紋理的身份和MIP等級(jí)。在裝載該著色器之后,新著色器可被添加到著色器高速緩存或其他機(jī)制,以允許原始游戲的著色器指向被裝載的副本。然后可將所收集的信息(諸如紋理身份和MIP等級(jí))發(fā)送到CPU,以便該信息可被跟蹤。在一個(gè)實(shí)施例中,可使用計(jì)數(shù)器來跟蹤紋理被使用了多少次。用這種方式,只要著色器被新添加或新創(chuàng)建時(shí),它們可被修改以跟蹤與相關(guān)聯(lián)紋理有關(guān)的信息,諸如其身份或位置。對(duì)著色器的,或命令緩沖器指令的修改可被稱為“裝載”而這些術(shù)語可在本文中可互換地使用。在圖5中所示的示例性系統(tǒng)中,CPU500可以向GPU510發(fā)送指令和幾何形狀數(shù)據(jù)。可從例如包括視頻游戲應(yīng)用的DVD將紋理530裝載到存儲(chǔ)器540中。該應(yīng)用可包括已被編譯為可執(zhí)行代碼(executable)的著色器代碼550和游戲代碼560。著色器指令580可在被GPU510執(zhí)行之前被修改或裝載570。圖6描繪用于裝載著色器以跟蹤紋理使用信息的示例性過程。開發(fā)系統(tǒng)可解析被提交到GPU的命令緩沖器605,并分析和/或修改每個(gè)分組600。命令可被添加以跟蹤什么紋理和MIP正被使用。在裝載該著色器之后,新著色器可被添加到著色器高速緩存610或其他機(jī)制,以允許原始游戲的著色器指向被裝載的副本。為了避免著色器被重新裝載多次,可添加高速緩存系統(tǒng)。在一個(gè)實(shí)施例中,可維護(hù)所有先前裝載的著色器的散列表。在其他實(shí)施例中,取決于特定平臺(tái)或情形,可使用更簡單的方法。例如,在窗口Direct3D實(shí)現(xiàn)中,Direct3D完全擁有著色器接口。在此情況下,可將標(biāo)志(flag)添加到著色器對(duì)象,該標(biāo)志指示該對(duì)象是否在先前被裝載過。如果被裝載過,則可提供指向該著色器的已裝載副本的指針。一般而言,可使用某種高速緩存機(jī)制來改善性能。著色器分析器615可定位紋理獲取和控制流指令、分析寄存器使用等。然后該裝載可被插入著色器620的副本??煞治鑫丛谙惹氨谎b載的著色器以確定適當(dāng)?shù)募y理獲取指令并且確定裝載該著色器的可行性。添加裝載可涉及例如分配來自著色器的資源,諸如通用寄存器、輸入或常量寄存器、以及額外的著色器指令槽。如果確定不存在足夠的可用資源來添加該裝載,則可將該著色器標(biāo)記為不可裝載的。在一個(gè)實(shí)施例中,可標(biāo)識(shí)可被一起執(zhí)行的類似的紋理獲取指令的組。例如,這樣的組可不被控制流分支分開。然后可為該組,而不是單獨(dú)為每個(gè)指令,插入裝載。裝載的性質(zhì)可取決于硬件平臺(tái)而變化。例如,在使用微軟的XBOX360控制臺(tái)的一實(shí)施例中,性能計(jì)數(shù)器可被有條件地從著色器內(nèi)遞增。在另一實(shí)施例中,指示某個(gè)mip圖等級(jí)已被讀取的字節(jié)可被有條件地導(dǎo)出到存儲(chǔ)器。為了標(biāo)識(shí)正在讀取哪些mip圖字節(jié)的目的,可添加計(jì)算每個(gè)紋理獲取將檢索的MIP的指令。然而,如果給定紋理只具有一個(gè)MIP等級(jí)或如果出于任何其他原因著色器僅為確定哪些紋理已被讀取的目的(而不是為mip圖使用)而被裝載,則可跳過mip圖等級(jí)計(jì)笪弁。附加地或可任選地,可插入保存和恢復(fù)625由裝載代碼修改的任何狀態(tài)以便著色器的原始預(yù)期計(jì)算不被改變的指令。出于調(diào)試目的,可確認(rèn)630被裝載的著色器以確保所添加的裝載不影響色彩/深度或任何其他計(jì)算。確認(rèn)可被符號(hào)性地(symbolically)執(zhí)行或通過模擬來執(zhí)行。在本文描述的各實(shí)施例中,一種方法可以是預(yù)測(cè)即將被處理的著色器指令并裝載該指令以包括捕捉使用統(tǒng)計(jì)數(shù)據(jù)的代碼。這些實(shí)施例是說明性的,而本領(lǐng)域的技術(shù)人員將意識(shí)到,可修改所描述的步驟的特定次序。例如,被修改的指令可在檢索該紋理之前或之后被處理。本領(lǐng)域的技術(shù)人員還將意識(shí)到,所公開的方法可被應(yīng)用到處理各種數(shù)據(jù)以及紋理的系統(tǒng)而不需要預(yù)先知曉該應(yīng)用所使用的數(shù)據(jù)。一旦著色器已被裝載,則只要在使用原始著色器的地方,該系統(tǒng)可加載經(jīng)裝載的版本而不是原始著色器。命令緩沖器可被修改635以指向經(jīng)裝載的著色器并設(shè)置常量和GPU狀態(tài)寄存器。在一些情況下,該系統(tǒng)還可將其他命令插入該命令緩沖器以將性能計(jì)數(shù)器或存儲(chǔ)器的結(jié)果定向到期望位置。此外,其他命令可被用來初始化和/或恢復(fù)在裝載過程期間分配的任何寄存器(通用寄存器、常量、內(nèi)插等)。當(dāng)該過程完成時(shí),可提供最終報(bào)告,該最終報(bào)告指示特定紋理隨時(shí)間使用的量。例如,對(duì)于每個(gè)所標(biāo)識(shí)的紋理,可提供指示該紋理何時(shí)被使用的時(shí)間線。這種信息對(duì)于確定例如特定紋理是否從未被使用過(即,在所捕捉的序列中從未被顯示)可能是有用的,或者可被使用的如此不頻繁以至于開發(fā)者可考慮修改該應(yīng)用以完全消除該紋理。在一個(gè)實(shí)施例中,在執(zhí)行該應(yīng)用后可搜索圖像或紋理以確定對(duì)于使用數(shù)據(jù)的給定片段實(shí)際調(diào)用了哪些紋理。在另一實(shí)施例中,該系統(tǒng)可提供區(qū)分了優(yōu)先次序的(prioritized)推薦,以基于在運(yùn)行時(shí)的使用來節(jié)省紋理空間。轉(zhuǎn)向圖7,示出用于跟蹤紋理和其他數(shù)據(jù)資產(chǎn)的使用數(shù)據(jù)的示例性系統(tǒng)700。系統(tǒng)700可包括開發(fā)機(jī)器710和目標(biāo)平臺(tái)720。游戲應(yīng)用730可在目標(biāo)平臺(tái)上裝載并啟動(dòng)。紋理內(nèi)容740可被裝載到系統(tǒng)存儲(chǔ)器中。可用API庫750暴露的3DAPI來渲染紋理內(nèi)容740。在游戲應(yīng)用730的執(zhí)行期間,各個(gè)紋理可被獲取并用來渲染圖形。開發(fā)機(jī)器710上的查看器應(yīng)用770可為開發(fā)者提供額外的接口來選擇諸如使能并啟動(dòng)數(shù)據(jù)捕捉等可選項(xiàng)。3DAPI庫750可執(zhí)行任務(wù),諸如如果紋理跟蹤特征被使能,則唯一標(biāo)識(shí)紋理。如果捕捉被使能,則3DAPI庫750還可裝載著色器和命令緩沖器并收集紋理使用數(shù)據(jù)。使用數(shù)據(jù)可被流傳輸?shù)竭m當(dāng)目標(biāo),諸如操作系統(tǒng)(OS)和/或諸如硬件驅(qū)動(dòng)器等系統(tǒng)硬件。當(dāng)游戲應(yīng)用730的執(zhí)行完成時(shí)或當(dāng)開發(fā)者終止數(shù)據(jù)捕捉時(shí),由OS760捕捉和收集的使用數(shù)據(jù)可被提供到查看器應(yīng)用770并可由查看器應(yīng)用770上的查看推薦特征780顯示。取決于特定實(shí)施例,開發(fā)者可生成和/或打印各種報(bào)告,所述報(bào)告詳細(xì)記載紋理內(nèi)容740的使用?;谠撌褂脭?shù)據(jù),開發(fā)者可修改紋理內(nèi)容740并在目標(biāo)平臺(tái)720上執(zhí)行游戲應(yīng)用730以進(jìn)一步細(xì)化并優(yōu)化紋理內(nèi)容740??傻貜?fù)此過程,直到開發(fā)者對(duì)紋理內(nèi)容740感到滿意并最終化該內(nèi)容以進(jìn)行生產(chǎn)交付。在一個(gè)實(shí)施例中,可自動(dòng)模擬該迭代,以便開發(fā)者可快速預(yù)覽改變的結(jié)果。附加地以及可任選地,可輸出文件,該文件可被饋送到內(nèi)容生成管道以自動(dòng)執(zhí)行修改。因此,在各實(shí)施例中,著色器代碼可被實(shí)時(shí)修改以收集紋理和其他數(shù)據(jù)資產(chǎn)的使用數(shù)據(jù)。此應(yīng)用不僅對(duì)紋理是有用的,而且在其中不將關(guān)于資產(chǎn)的創(chuàng)建和刪除通知給提供對(duì)數(shù)據(jù)資產(chǎn)的控制的系統(tǒng)或者該系統(tǒng)具有有限的信息的任何應(yīng)用中也有用。通過生成唯一標(biāo)識(shí)(諸如散列),可收集關(guān)于那些資產(chǎn)的使用的詳細(xì)使用信息?,F(xiàn)在參考圖8,示出用于在用于使用共享資產(chǎn)來渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的示例性過程。所示出的操作中的一個(gè)或多個(gè)可被省略,而所示出的操作不暗示特定次序。在一個(gè)示例性方法中,過程800示出接收請(qǐng)求過程已請(qǐng)求所述共享資產(chǎn)中的一個(gè)被渲染子系統(tǒng)處理的指示??山邮?05信息,所述信息包括所述共享資產(chǎn)中的所述一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、以及所請(qǐng)求的使用。如同上面討論的,標(biāo)識(shí)符可包括所述共享資產(chǎn)的縮略圖和/或匹配資產(chǎn)的散列。然后可確定810匹配資產(chǎn)先前在該存儲(chǔ)器位置處標(biāo)識(shí)過,更新815與該匹配資產(chǎn)相關(guān)聯(lián)的記錄,以及存儲(chǔ)820與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳。否則,確定825所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符,并且可存儲(chǔ)830新條目,所述新條目包括該存儲(chǔ)器位置和所請(qǐng)求的使用。在一個(gè)實(shí)施例中,更新記錄的操作可進(jìn)一步包括存儲(chǔ)835匹配資產(chǎn)的描述。在另一實(shí)施例中,更新記錄的操作可進(jìn)一步包括維護(hù)存儲(chǔ)器位置的歷史,所述歷史跟蹤在該地址處裝載過的預(yù)定數(shù)量的共享資產(chǎn)。在一些實(shí)施例中,可從該請(qǐng)求過程接收840信息以協(xié)助所述確定該唯一標(biāo)識(shí)符。在一個(gè)實(shí)施例中,該信息可包括共享資產(chǎn)的文件名稱。在其他實(shí)施例中,該信息可包括描述共享資產(chǎn)的存儲(chǔ)器重新定位的信息、用具有匹配描述的另一共享資產(chǎn)取代該共享資產(chǎn)的指示、以及不同唯一標(biāo)識(shí)符,或者該共享資產(chǎn)已被刪除的指示。圖9描繪在用于使用共享資產(chǎn)渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的示例性系統(tǒng)。參考圖9,系統(tǒng)900包括處理器910和存儲(chǔ)器920。存儲(chǔ)器920進(jìn)一步包括用于在用于使用共享資產(chǎn)渲染圖形的系統(tǒng)中跟蹤所述共享資產(chǎn)的利用的計(jì)算機(jī)指令。塊922示出接收包括由所述渲染子系統(tǒng)正在處理的共享資產(chǎn)中的一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、所請(qǐng)求的使用。塊擬4示出在渲染子系統(tǒng)的執(zhí)行期間,確定匹配資產(chǎn)先前在該存儲(chǔ)器位置處標(biāo)識(shí)過,更新與該匹配資產(chǎn)相關(guān)聯(lián)的記錄,以及存儲(chǔ)與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳。塊擬6示出確定所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符以及存儲(chǔ)新條目,所述新條目包括所述存儲(chǔ)器和所請(qǐng)求的使用。上文所提及的方面中的任何一個(gè)方面都可以以方法、系統(tǒng)、計(jì)算機(jī)可讀介質(zhì)或任何類型的產(chǎn)品來實(shí)現(xiàn)。例如,根據(jù)圖10,計(jì)算機(jī)可讀介質(zhì)可在其上存儲(chǔ)用于在使用共享資產(chǎn)渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的計(jì)算機(jī)可執(zhí)行指令。這樣的介質(zhì)可包括用于接收請(qǐng)求過程已請(qǐng)求所述共享資產(chǎn)中的一個(gè)被渲染子系統(tǒng)處理的指示的第一子組指令1010;用于接收包括所述共享資產(chǎn)中的所述一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、以及所請(qǐng)求的使用的信息的第二子組指令1012;用于確定匹配資產(chǎn)先前在該存儲(chǔ)器位置處標(biāo)識(shí)過、更新與該匹配資產(chǎn)相關(guān)聯(lián)的記錄、以及存儲(chǔ)與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳的第三子組指令1014;以及用于確定所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符以及存儲(chǔ)包括該存儲(chǔ)器位置和所請(qǐng)求的使用的新條目的第四子組指令1016。本領(lǐng)域技術(shù)人員可以理解,可以使用附加指令集來捕捉此處所公開的各其他方面,且根據(jù)本發(fā)明,目前所公開的指令子集可以在細(xì)節(jié)方面不同。應(yīng)該理解,此處描述的各種技術(shù)可以結(jié)合硬件或軟件,或在適當(dāng)時(shí)結(jié)合兩者的組合來實(shí)現(xiàn)。因此,本公開的方法和裝置或其某些方面或部分,可以采用包含在諸如軟盤、CD-ROM、硬盤驅(qū)動(dòng)器或任何其它機(jī)器可讀存儲(chǔ)介質(zhì)等有形介質(zhì)中的程序代碼(S卩,指令)的形式,其中,當(dāng)程序代碼被加載至諸如計(jì)算機(jī)等機(jī)器并由其運(yùn)行時(shí),該機(jī)器成為用于實(shí)現(xiàn)本公開的裝置。在程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情況下,計(jì)算設(shè)備通常包括處理器、該處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備、以及至少一個(gè)輸出設(shè)備。一個(gè)或多個(gè)程序可以例如,通過使用API、可重用控件等來實(shí)現(xiàn)或利用結(jié)合本發(fā)明描述的過程。這樣的程序優(yōu)選地用高級(jí)過程語言或面向?qū)ο缶幊陶Z言來實(shí)現(xiàn),以與計(jì)算機(jī)系統(tǒng)通信。然而,如果需要,該程序可以用匯編語言或機(jī)器語言來實(shí)現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實(shí)現(xiàn)相結(jié)合。盡管具體地參考其優(yōu)選實(shí)施例來示出并描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以理解,可以作出形式和細(xì)節(jié)上的各種改變而不脫離所附權(quán)利要求書中所述的本發(fā)明的范圍。此外,盡管本發(fā)明的各元素可以用單數(shù)來描述或要求保護(hù),但構(gòu)想了復(fù)數(shù),除非明確地規(guī)定了限于單數(shù)。權(quán)利要求1.一種用于在用于使用共享資產(chǎn)來渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的方法,其中所述共享資產(chǎn)被加載到計(jì)算機(jī)存儲(chǔ)器中并由渲染子系統(tǒng)處理,所述方法包括接收請(qǐng)求過程已請(qǐng)求所述共享資產(chǎn)中的一個(gè)由所述渲染子系統(tǒng)處理的指示;接收包括所述共享資產(chǎn)中的所述一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、以及所請(qǐng)求的使用的信息;以及確定匹配資產(chǎn)先前在所述存儲(chǔ)器位置處標(biāo)識(shí)過、更新與所述匹配資產(chǎn)相關(guān)聯(lián)的記錄、以及存儲(chǔ)與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳,以及否則確定所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符并存儲(chǔ)包括所述存儲(chǔ)器位置和所請(qǐng)求的使用的新條目。2.如權(quán)利要求1所述的方法,其特征在于,所述更新記錄進(jìn)一步包括存儲(chǔ)所述匹配資產(chǎn)的描述。3.如權(quán)利要求1所述的方法,其特征在于,所述更新記錄進(jìn)一步包括維護(hù)所述存儲(chǔ)器位置的歷史,所述歷史跟蹤在所述地址處被加載過的預(yù)定數(shù)量的共享資產(chǎn)。4.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)識(shí)符包括所述共享資產(chǎn)的縮略圖。5.如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)識(shí)符包括所述匹配資產(chǎn)的散列。6.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括從所述請(qǐng)求過程接收信息以協(xié)助所述確定所述唯一標(biāo)識(shí)符。7.如權(quán)利要求6所述的方法,其特征在于,所述信息包括所述共享資產(chǎn)的文件名稱。8.如權(quán)利要求6所述的方法,其特征在于,所述信息包括描述所述共享資產(chǎn)的存儲(chǔ)器重新定位的信息。9.如權(quán)利要求6所述的方法,其特征在于,所述信息包括用與具有匹配描述和一不同的唯一標(biāo)識(shí)符的另一共享資產(chǎn)來取代所述共享資產(chǎn)的指示。10.如權(quán)利要求6所述的方法,其特征在于,所述信息包括所述共享資產(chǎn)已被刪除的指7J\ο11.一種被配置為在用于使用共享資產(chǎn)渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的計(jì)算設(shè)備,其中所述共享資產(chǎn)被加載到計(jì)算機(jī)存儲(chǔ)器中并由渲染子系統(tǒng)處理,所述計(jì)算設(shè)備包括至少一個(gè)處理器、用戶接口設(shè)備、以及可操作地耦合到所述至少一個(gè)處理器的至少一個(gè)存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器具有存儲(chǔ)于其中的計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在由所述至少一個(gè)處理器執(zhí)行時(shí)致使所述系統(tǒng)接收包括由所述渲染子系統(tǒng)正在處理的共享資產(chǎn)中的一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、所請(qǐng)求的使用的信息;以及在所述渲染子系統(tǒng)的執(zhí)行期間,確定匹配資產(chǎn)先前在所述存儲(chǔ)器位置處標(biāo)識(shí)過、更新與所述匹配資產(chǎn)相關(guān)聯(lián)的記錄、以及存儲(chǔ)與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳,以及否則確定所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符并存儲(chǔ)包括所述存儲(chǔ)器位置和所請(qǐng)求的使用的新條目。12.如權(quán)利要求11所述的系統(tǒng),其特征在于,進(jìn)一步包括裝載渲染子系統(tǒng)指令以使所述共享資產(chǎn)中的所述一個(gè)的所述唯一標(biāo)識(shí)符和使用數(shù)據(jù)被所述系統(tǒng)跟蹤。13.—種包括用于在用于使用共享資產(chǎn)渲染圖形的系統(tǒng)中標(biāo)識(shí)所述共享資產(chǎn)的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述共享資產(chǎn)被加載到計(jì)算機(jī)存儲(chǔ)器中并由渲染子系統(tǒng)處理,所述計(jì)算機(jī)可讀指令包括用于以下操作的指令接收請(qǐng)求過程已請(qǐng)求所述共享資產(chǎn)中的一個(gè)由所述渲染子系統(tǒng)處理的指示;接收包括所述共享資產(chǎn)中的所述一個(gè)的標(biāo)識(shí)符、存儲(chǔ)器位置、以及所請(qǐng)求的使用的信息;以及確定匹配資產(chǎn)先前在所述存儲(chǔ)器位置處標(biāo)識(shí)過、更新與所述匹配資產(chǎn)相關(guān)聯(lián)的記錄、以及存儲(chǔ)與系統(tǒng)時(shí)間相對(duì)應(yīng)的時(shí)間戳,以及否則確定所述共享資產(chǎn)中的所述一個(gè)的唯一標(biāo)識(shí)符并存儲(chǔ)包括所述存儲(chǔ)器位置和所請(qǐng)求的使用的新條目。14.如權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,進(jìn)一步包括用于裝載渲染子系統(tǒng)指令以使所述共享資產(chǎn)中的所述一個(gè)的所述唯一標(biāo)識(shí)符和使用數(shù)據(jù)被所述系統(tǒng)跟蹤的指令。15.如權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,進(jìn)一步包括用于生成作為時(shí)間的函數(shù)的每個(gè)共享資產(chǎn)的信息的概述的指令。全文摘要在一個(gè)實(shí)施例中,公開了紋理標(biāo)識(shí)方法和系統(tǒng),所述紋理標(biāo)識(shí)符方法和系統(tǒng)在紋理被應(yīng)用使用時(shí)唯一標(biāo)識(shí)所述紋理并將所收集、推斷、或用戶指定的數(shù)據(jù)與該庫不擁有的對(duì)象相關(guān)聯(lián)。在各實(shí)施例中,可在各種情形下,諸如當(dāng)紋理被加載、刪除、重新定位、重新加載等時(shí),標(biāo)識(shí)紋理。在一進(jìn)一步實(shí)施例中,提供API,該應(yīng)用可調(diào)用所述API來向系統(tǒng)提供在某些情形下能夠改善數(shù)據(jù)的質(zhì)量的有用信息。文檔編號(hào)G06F9/44GK102549547SQ201080044903公開日2012年7月4日申請(qǐng)日期2010年10月8日優(yōu)先權(quán)日2009年10月9日發(fā)明者J·C·A·巴埃薩,J·M·格朗德申請(qǐng)人:微軟公司