TW201419212A - 同時決定複數個參數變化設定的系統、方法和電腦程式商品 - Google Patents

同時決定複數個參數變化設定的系統、方法和電腦程式商品 Download PDF

Info

Publication number
TW201419212A
TW201419212A TW102123854A TW102123854A TW201419212A TW 201419212 A TW201419212 A TW 201419212A TW 102123854 A TW102123854 A TW 102123854A TW 102123854 A TW102123854 A TW 102123854A TW 201419212 A TW201419212 A TW 201419212A
Authority
TW
Taiwan
Prior art keywords
parameter changes
setting
parameter
settings
node
Prior art date
Application number
TW102123854A
Other languages
English (en)
Inventor
John F Spitzer
Jing Wang
Christopher Justin Daniel
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/543,196 external-priority patent/US10509658B2/en
Priority claimed from US13/921,146 external-priority patent/US10668386B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW201419212A publication Critical patent/TW201419212A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本發明揭示一種提供用於同時決定複數個參數變化的設定的系統、方法和電腦程式商品。在使用上,已識別與一裝置相關聯的複數個參數變化,其中已將該等複數個參數變化組織成複數個區段。此外,已決定該等複數個參數變化的每一者之設定,並且確保橫跨該等複數個區段的設定之一致性。

Description

同時決定複數個參數變化設定的系統、方法和電腦程式商品 【優先權聲明】
本申請案為2012年7月6日所提出序號為13/543,196的美國專利申請案之部份連續申請案(continuation-in-part)。本申請案主張於2013年5月3提出的第61/819,478號美國臨時專利申請案之權益。這些專利申請案的完整內容在此併入當成參考。
本發明係關於參數分析,更具體的係關於根據參數分析決定設定。
現今許多產品都包括會影響到該產品整體使用經驗的一或多個參數,例如:電腦遊戲以及其他軟體可具有許多決定渲染、音頻、遊戲遊玩等等品質的參數。不過,當前安排與這些產品相關聯的該等參數之技術具有許多限制。
例如:目前客戶可負責手動調整與產品相關聯的複數個參數,以便決定該產品的適當設定。這可導致產品並非最佳設定、試驗廢時以及客戶出錯等等。因此需要解決先前技術所伴隨的這些與其他問題。
本發明揭示一種提供用於同時決定複數個參數變化的設定的系統、方法和電腦程式商品。在使用上,已識別與一裝置相關聯的複數個參數變化,其中已將該等複數個參數變化組織成複數個區段。此外,已決定該等複數個參數變化的每一者之設定,並且確保橫跨該等複數個區段的設定之一致性。
100‧‧‧方法
102‧‧‧操作
104‧‧‧操作
200‧‧‧方法
202‧‧‧操作
204‧‧‧操作
206‧‧‧操作
208‧‧‧操作
210‧‧‧操作
300‧‧‧示範參數DAG
302A-I‧‧‧節點
302A‧‧‧頂端節點
302I‧‧‧底部節點
304‧‧‧第一集合
306A-C‧‧‧變化
306A‧‧‧第一節點
306B‧‧‧第二節點
306C‧‧‧第三節點
308‧‧‧第二集合
310A-C‧‧‧變化
312‧‧‧有向邊緣
350‧‧‧分段參數DAG
320‧‧‧區段
325‧‧‧區段
330‧‧‧區段
335‧‧‧區段
400‧‧‧方法
405‧‧‧操作
410‧‧‧操作
415‧‧‧操作
420‧‧‧操作
425‧‧‧操作
430‧‧‧操作
435‧‧‧操作
440‧‧‧操作
445‧‧‧操作
450‧‧‧方法
500‧‧‧示範系統
501‧‧‧中央處理器
502‧‧‧通訊匯流排
504‧‧‧主記憶體
506‧‧‧圖形處理器
508‧‧‧顯示器
510‧‧‧次要儲存器
512‧‧‧輸入裝置
515‧‧‧DARM裝置
第一圖顯示根據一具體實施例,用於同時決定複數個參數變化的設定之方法。
第二圖顯示根據另一具體實施例,用於同時決定複數個最佳設定的方法。
第三A圖例示根據另一具體實施例的一示範參數DAG。
第三B圖例示根據另一具體實施例,具有節點組織成區段的一示範參數DAG。
第四A圖顯示根據另一具體實施例,用於同時決定複數個最佳設定並且確保橫跨複數個區段的設定一致性之方法。
第四B圖顯示根據另一具體實施例,用於同時決定複數個最佳設定並且確保橫跨複數個區段的設定一致性之另一個方法。
第五圖說明其中可實施許多先前具體實施例的許多架構及/或功能性之示範系統。
第一圖顯示根據一具體實施例,用於同時決定複數個參數變化的設定之方法100。如操作102所示,已識別與一裝置相關聯的複數個參數變化。在一具體實施例中,該裝置可包括一物體,例如個人電腦或其他硬體元件。在另一具體實施例中,該等複數個參數變化可包括複數個不同參數的複數個獨一變化。
此外,在一具體實施例中,該參數可包括該裝置的任何特性。例如:該等參數可包括該裝置(例如桌上型電腦、膝上型電腦、平板電腦、個人數位助理、行動電話等等)內安裝的硬體(例如一中央處理單元(CPU,central processing unit)、一圖形處理單元(GPU,graphics processing unit)、隨機存取記憶體(RAM,random access memory)、一主機板、一顯示器等等)、該裝置內安裝的軟體(例如一作業系統、驅動程式等等)等等。
進一步在一具體實施例中,一或多個該等參數都可獨立設置。例如:每一該等參數都可與其他參數分別變更。在另一具體實施例中,該裝置可運用每一個該等參數來執行一或多個動作。在又一具體實施例 中,該等參數變化可包括複數個不同種類的參數,其可包括與該參數相關聯的一尺寸、幅度、速度等等。例如:若該參數為一裝置CPU,則該參數的變化可包括該CPU的製造商、該CPU的速度、該CPU的快取大小等等。在另一個範例中,若該參數為RAM,則該變化可包括RAM的數量、該RAM的速度、該RAM的製造商等等。
仍舊進一步,在一具體實施例中,該等複數個參數變化可在一伺服器上識別。例如:該等複數個參數變化的每一者可從具有這些參數變化的使用者裝置,透過一網路(例如一無線網路、一有線網路、一行動網路、一衛星網路等等)傳送至一伺服器。在另一具體實施例中,該等複數個參數變化可儲存在一資料庫內並從此擷取。
另外,在一具體實施例中,可根據一或多個條件,識別與該裝置相關聯的該等複數個參數變化。例如:可選取已決定為最受歡迎使用者參數變化(例如客戶裝置內最常用的參數變化等等)的預定參數變化數量,當成與該裝置相關聯的該等複數個參數變化。
此外,如操作104所示,已同時決定該等複數個參數變化的每一者之設定。在一具體實施例中,針對該等複數個參數變化的每一者所決定之該等設定可包括操縱該等複數個參數變化的一或多個態樣之最佳化設定。在另一具體實施例中,針對該等複數個參數變化的每一者之該等設定可包括預定設定(預設)的單一集合。例如:該等複數個參數變化的每一者之設定可包括預設的單一集合,其依照第一特性依序增加並且依照第二特性依序減少。
在另一個範例中,該預設的單一集合可排序,並且相較於該預設集合內先前的預設,該預設集合內每一連續預設都可具有一改善的第一特性以及一降低的第二特性。在又一具體實施例中,該第一特性可與品質相關聯(例如畫質、音質、體驗品質等等),並且該第二特性可與效能(例如速度、經濟性、效益等等)、電力等級或每功率單位的效能比例相關聯。例如:一軟體元件可在該裝置上運行,並且該預設集合內的每一連續預設可具有改善的軟體元件畫質以及降低的軟體元件效能。
在另一具體實施例中,運用一演算法可決定該等設定。例 如:運用一貪婪演算法、一徹底演算法等等,可決定該等設定。在另一具體實施例中,利用針對該預設集合的每一預設,將第一特性相關於第二特性最大化,可決定該等設定。例如:一參數變化的複數個設定之每一者都具有與品質相關聯的第一特性,以及與效能相關聯的第二特性,並且該第一特性可相關於該第二特性最佳化。
進一步在一具體實施例中,針對該等複數個參數變化的每一者,該等設定可包括該參數變化的設置,如此具有該參數變化的該裝置產生一最大輸出(例如畫質等等),同時維持一臨界需求(例如最小訊框率、最大功率使用率等等),同時運行一預定軟體元件。在另一具體實施例中,該軟體元件可包括已安裝或要安裝在該裝置內的一軟體程式。
仍舊進一步,在一具體實施例中,同時決定該等複數個參數變化的每一者之設定,可包括建立內含複數個節點的一有向無環圖(DAG,directed acyclic graph),其中該等複數個節點的每一者都代表該等複數個參數變化之一者。在另一具體實施例中,可根據一或多個條件引導該DAG的該等節點。例如:根據與每一節點相關聯的速度,可在該DAG內引導該DAG的複數個節點之每一者,在此該速度係根據由該節點所代表的該等裝置參數變化所決定。在另一具體實施例中,可在該DAG內引導該等節點,如此決定該DAG的第二節點在一或更多方面(例如關於處理速度等等)絕對快過該DAG的第一節點時,該DAG的第一節點可指向該DAG的第二節點。
另外,在一具體實施例中,同時決定該等複數個參數變化的每一者之設定可包括調整與該等複數個參數變化的每一者相關聯之一或多個設定。例如:針對該等複數個參數變化的每一者,可調整一或多個相關聯設定(例如開啟或關閉、增加、減少等等),以決定第一特性相關於第二特性的最大可能幅度。在另一具體實施例中,針對該等複數個參數變化的每一者所決定的該等設定可包括該等複數個參數變化的該等設定,產生該第一特性關於該第二特性的該最大可能幅度。
此外,在一具體實施例中,同時決定該等複數個參數變化的每一者之設定可包括同時連續調整該等複數個參數變化的每一者之單一設 定。例如:針對該等複數個參數變化的每一者,可調整一第一決定設定,以決定第一特性相關於第二特性的最大可能幅度。此外,在調整該第一決定設定之後,可決定調整一第二設定,其中針對該等複數個參數變化之每一者調整該第二決定設定。
在另一具體實施例中,同時決定該等複數個參數變化的每一者之設定可包括針對該等複數個參數變化的每一者以最少設定量開始,並且同時連續增加該等複數個參數變化的每一者之單一設定。在又一具體實施例中,同時決定該等複數個參數變化的每一者之設定可包括針對該等複數個參數變化的每一者以最大設定量開始,並且同時連續減少該等複數個參數變化的每一者之單一設定。
仍舊在另一具體實施例中,同時決定該等複數個參數變化的每一者之設定可包括針對該等複數個參數變化的每一者以最大設定量以及最小設定量開始,並且針對該等複數個參數變化的每一者,同時從最大連續減少單一設定以及同時從最小連續增加單一設定,直到已決定最佳設定,產生該第一特性關於該第二特性的最大可能幅度。
更進一步,在一具體實施例中,該等複數個參數變化的每一者都會影響如何決定該等設定。例如:該等複數個參數變化的每一者(或其在該DAG內的個別節點)可選取用於一第一決定設定,其已調整用於該等複數個參數變化的每一者。在另一個範例中,在該第一決定設定已調整用於該等複數個參數變化的每一者之後,然後該等複數個參數變化的每一者(或其在該DAG內的個別節點)可選取用於一第二決定設定,其已調整用於該等複數個參數變化的每一者。
仍舊進一步,在一具體實施例中,該等複數個參數變化的每一者對於如何決定該等設定都可具有不同的影響等級。例如:一總體值可與該等複數個參數變化的每一者(或其在該DAG內的個別節點)相關聯。在另一具體實施例中,與一特定參數變化相關聯的一總體值可對應至具有該參數變化的預定數量使用者(例如安裝在其裝置內等等)。在又一具體實施例中,與一特定參數變化相關聯的一總體值可對應至具有該參數變化的使用者總數之預定百分比。
仍舊在另一具體實施例中,與一特定參數變化相關聯的該總體值可影響由有關如何決定該等設定的該特定參數變化所施加之影響的幅度(例如強度等等)。例如:由該特定參數變化用於已針對該等複數個參數變化的每一者調整之一決定設定所做之選取,可利用與該特定參數變化相關聯的該總體值等比例增加(例如利用將該選取乘上總體值等等)。如此,由大量使用者所使用的總體參數變化對於如何決定該等設定有更大影響。
另外,在一具體實施例中,一索引值(例如一影響值等等)可與該等複數個參數變化的每一者(或其在該DAG內的個別節點)相關聯。在另一具體實施例中,與一特定參數變化相關聯的一索引值可對應至該特定參數變化以一預定訊框率運行一預定軟體元件之能力。例如:若該特定參數變化無法以該預定訊框率運行該預定軟體元件,則該索引值可為-1。在另一個範例中,若該特定參數變化可運用該預定訊框率上一或多個最小設定來運行該預定軟體元件,則該索引值可為零。在又一具體實施例中,若該特定參數變化可運用該預定訊框率上應用程式的最大設定來運行該預定軟體元件,則該索引值可為(n-1),其中n等於該應用程式所支援該等複數個參數變化每一者之預設設定數量。每一預設設定都對應至一索引。
仍舊在另一具體實施例中,與一特定參數變化相關聯的該索引值可影響由有關如何決定該等設定的該特定參數變化所施加之影響的幅度(例如強度等等)。例如:由該特定參數變化用於已針對該等複數個參數變化的每一者調整之一決定設定所做之選取,可利用與該特定參數變化相關聯的該索引值等比例增加或減少(例如利用將該選取乘上索引值等等)。如此,最有可能使用該等設定的參數變化對於如何決定該等設定有更大影響。
此外,在一具體實施例中,在選取決定設定來調整用於該等複數個參數變化的每一者期間,可識別該等複數個參數變化(或其在該DAG內的個別節點)之間的不一致。例如:該等複數個參數變化(或其在該DAG內的個別節點)的一部分可選取用於一個特定設定,其要調整用於該等複數個參數變化的每一者,並且該等複數個參數變化(或其在該DAG內的個別節點)的另一部分可選取用於另一特定設定,其要調整用於該等複數個參數變化的每一者。
進一步,在回應該等複數個參數變化之間該不一致的識別上,該等複數個參數變化可分成複數個子群組(例如較小的DAG等等)。例如:若該等複數個參數變化(或其在該DAG內的個別節點)的一預定百分比選取用於一特定設定,這與選取用於其他參數變化(或其個別DAG節點)的設定不同,該等複數個參數變化的預定百分比可從該DAG中移除,並且可放入一子DAG內用於設定決策。如此,可更有效率針對每一子群組內該等參數變化決定設定決策。
此時將公佈有關許多選擇架構和功能,如此可依照使用者意願實施或不實施前述結構之更多說明資訊。吾人應該特別注意,下列資訊僅供說明,不應解釋為以任何方式進行限制。下列任何功能都可在排除或不排除所說明其他功能之下選擇性併入。
第二圖顯示根據另一具體實施例,用於同時決定複數個最佳設定的方法200。根據選項,可在第一圖的功能性範圍內實施方法200。不過,當然方法200可在任何所要的環境內實施。吾人也應該注意,在目前說明中也適用前述定義。
如操作202所示,已識別與一裝置相關聯的複數個參數變化。在一具體實施例中,該等複數個參數變化可包括與該個人電腦的顯示器相關聯之參數變化。例如:該等複數個參數變化可包括該個人電腦的一螢幕解析度。在另一具體實施例中,該等複數個參數變化可包括由該個人電腦進行圖形渲染相關聯的參數變化。例如:該等複數個參數變化可包括安裝在該裝置內的系統硬體項目(例如CPU項目、GPU項目、主機板項目、RAM項目等等)、安裝在該裝置內的系統軟體項目等等。
此外,如操作204所示,已建構具有複數個節點的一DAG,其中該等複數節點的每一者都對應至該等複數個參數變化之一者。在一具體實施例中,可根據一或多個規則引導該DAG內的該等節點。例如:根據與每一節點相關聯的速度,可在該DAG內引導該等節點,在此該速度係根據由該節點所代表的該等參數變化所決定。在另一具體實施例中,可在該DAG內引導該等節點,如此決定該DAG的第二節點在一或更多方面(例如關於處理速度等等)絕對快過該DAG的第一節點時,該DAG的第一節點可 指向該DAG的第二節點。
另外,在一具體實施例中,該DAG內的每一節點都可代表與該裝置相關聯的複數個可能參數之獨一變化。例如:與該裝置相關聯的該等複數個可能參數可包括一裝置CPU、一裝置GPU以及一裝置解析度,並且該DAG內的每一節點都可代表一特定裝置CPU、裝置GPU以及裝置解析度的獨一組合。如此,該DAG內一第一節點指向一第二節點表明,與該裝置相關聯並由該DAG內該第一節點代表的該等複數個參數變化比起來,與該裝置相關聯並由該DAG內該第二節點代表的該等複數個參數變化能提供絕對較優之處理速度與效能。
進一步,如操作206所示,將與每一節點相關聯的一總體值指派給每一節點。在一具體實施例中,經過分析操作之後可獲得複數個總體值。在另一具體實施例中,該等複數個總體值可包括遙測資料。在又一具體實施例中,可從一總體值資料庫當中擷取的該等複數個總體值。仍舊在另一具體實施例中,指派給一節點的該總體值可代表擁有一裝置的一使用者總數,該裝置具有對應至該節點的該參數變化。
在一具體實施例中,使用「代理者」機制將一總體量指派給一新節點。該新節點可對應至一新設置,包括一新GPU及/或一新CPU及/或一新顯示解析度。因為新節點通常一開始為零個使用者基數,該新節點可從同一等級內其他設置,較佳從先前產生當中,「借」該等總體值當成該新節點。例如:一新設置可向已使用足夠長時間的現有設置借用該等總體值,以便具有一已建立並且可定義的使用者基數。該現有設置當成該新節點的「代理者」。例如:該現有設置可複製,當成該相關總體值,使用新GPU取代該GPU。該「代理者」機制可讓具有歷史資料的DAG之預先總體量起始該等新節點,即使該新設置已釋出進入該市場。
仍舊進一步,如操作208所示,一索引值與每一節點相關聯。在一具體實施例中,利用計算由該節點以一預定訊框率運行一預定軟體元件所代表的該特定參數變化之能力,可針對一節點決定一索引值。在另一具體實施例中,可根據該DAG內該節點的位置,針對一節點決定一索引值。例如在一具體實施例中,該DAG內較強壯的節點可指派給較高的索 引值。
另外,如操作210所示,運用該總體值以及該索引值,針對該等複數個參數變化的每一者決定最佳預設設定。在一具體實施例中,該等最佳預設設定包括該裝置的預設之單一集合。在另一具體實施例中,關於已安裝在該裝置上的一或多個軟體元件來決定預設的單一集合。例如:可針對安裝在該裝置上的應用程式實例(例如視訊遊戲軟體、媒體播放軟體等等),決定預設的單一集合。在又一具體實施例中,關於要安裝在該裝置上(例如尚未安裝在該裝置上等等)的一或多個軟體元件來決定預設的單一集合。
在又一具體實施例中,預設的單一集合可代表裝置設定(相依與獨立),衝擊該裝置運行該等一或多個軟體元件的方式。例如:該預設單一集合的每一者都可決定由該裝置所提供的顯示圖形之紋理映射等級、圖形顯示期間該裝置所使用的照明模型、平滑處理等級、物體細節等級等等。
此外,在一具體實施例中,決定該等最佳預設設定可包括決定該裝置的複數個效能等級。例如:可決定(例如運用一或多種標準等等)該裝置的複數個下降效能等級(例如從最高效能等級至最低效能等級等等),其中每一連續效能等級指出相較於先前等級,該裝置以較慢速率、較無效率或非所要方式來執行(例如運行、計算等等)。在另一具體實施例中,該效能等級可與該裝置所使用的資源等級相關聯。例如:該效能等級可指出該裝置所用的處理資源總數、該裝置所用的軟體資源總數、該裝置所用的網路資源總數、該裝置提供的訊框率、該裝置所用的電力資源等等。例如:一裝置使用電池操作時(相對於插入電源插座使用),該畫質可降低來減少耗電量並且增加電池壽命。
進一步在一具體實施例中,決定該等最佳預設設定可包括決定該裝置的複數個畫質等級。例如:可決定該裝置的複數個上升畫質等級(例如從最低畫質等級至最高畫質等級等等),其中每一連續畫質等級指出相較於先前等級,所增加的該裝置顯示之畫質(例如一或多種解析度、顏色、細節等等)。
仍舊進一步,在一具體實施例中,該等複數個效能等級的每一者可與該裝置的複數個畫質等級之一者相關聯。例如:每一連續下降效能等級可關聯於一連續提高畫質等級,如此隨著該裝置效能降低或一電力等級可供該裝置使用,則該裝置產生的畫質提高。在另一具體實施例中,根據該裝置的該等複數個參數變化,針對該等複數個效能等級的每一者將該畫質等級最大化。
例如:針對每一已決定的效能等級或電力等級,可根據該裝置的該等複數個參數變化,決定該裝置提供的最高畫質。在一具體實施例中,可運用一貪婪演算法計算該最高畫質。在另一具體實施例中,可運用一徹底演算法計算該最高畫質。不過,當然可用任何方式計算每一效能等級的該最高畫質。如此,該等預設可在畫質方面單獨提高,並且在效能方面單獨降低。
另外,在一具體實施例中,可運用一類比方式決定該最高畫質。例如:可提供複數個調整元件,「貨真價實」(bang-for-buck)指示器以及「故障」指示器。在另一個範例中,每一調整元件都可代表該應用程式內的一個屬性。在又一個範例中,可用分散步驟調整每一調整元件。在另一具體實施例中,「貨真價實」指示器可回傳目前預設的整體值(例如畫質乘上訊框率)。在又一具體實施例中,若只有該預設無效,則可啟動「故障」指示器。若有相依變數,並且某些調整元件的組合確實無效,則可需要此指示器。
例如:兩個調整元件A和B都可具有「偽」和「真」步階,但是調整元件B只有在調整元件A也設定為「真」時才能設定為「真」。如此,只有調整元件A設定為「偽」並且調整元件B設定為「真」時,才會啟動該「故障」指示器。在另一具體實施例中,假設這些步階都已排序,如此將一調整元件往上調整一個步階總會導致相等/較佳畫質以及相等/較差效能。
此外,在一具體實施例中,在該等參數變化每一者的同步方式中,可用所有調整元件都往下調至最低等級(即是其「minset」值),開始單一集合決策演算法。此時,一次一個調整元件,每一調整元件都可暫時 遞增往上確實調整一個步階至最大值(例如若該調整元件一直調整至10當中的10,則不會調整為11)。若並未啟動該「故障」指示器,則在將調整元件設定回原始位置之前,記錄該「貨真價實」指示器值。一旦所有調整元件都已遞增往上調,則產生該最高「貨真價實」指示器值(不過仍舊有效)的該元件永久調整一個步階。此處理可用此方式重複,直到所有調整元件都到達其最高設定(即是其「maxset」值)。所選擇的預設順序(步階數-調整元件數+1)可代表最佳單一預設。
進一步在另一具體實施例中,在該等參數變化每一者的同步方式中,可用所有調整元件都往上調至最高等級(即是其「maxset」值),開始單一集合決策演算法。此時,一次一個調整元件,每一調整元件都可暫時遞增確實往下調一個步階。若並未啟動該「故障」指示器,則在將調整元件設定回原始位置之前,記錄該「貨真價實」指示器值。一旦所有調整元件都已遞增往下調,則產生該最高「貨真價實」指示器值(不過仍舊有效)的該元件永久調整一個步階。此處理可用此方式重複,直到所有調整元件都到達其最高設定(即是其「maxset」值)。
仍舊進一步,在一具體實施例中,在該等參數變化每一者的同步方式中,可用所有調整元件都往下調至最低等級,開始一或多個單一集合決策演算法,並且可用所有調整元件都往上調至最高等級,開始一或多個單一集合決策演算法。此外,由每一演算法所做的調整可遞增,直到涵蓋所有調整。如此,用一促進方式決定最佳預設設定。此外,更快的設置可影響重要的預設設定,並且可避免與較慢設置相關聯並由其決定的預設設定。
另外,在一具體實施例中,該DAG內該等複數個節點的每一者可選擇操縱(例如增加或降低等等)哪個調整元件。例如:該DAG內該等複數個節點的每一者可擲出一選取,針對對應至該DAG內該等節點的該等複數個參數變化之每一者,選擇哪個調整元件暫時遞增確實往上或往下調整一個步階。在另一具體實施例中,獲得最大量選取的該調整元件可選擇針對每一節點遞增往上或往下調整。
在另一具體實施例中,每一節點的選取都可根據與該節點相 關聯的該總體值以及索引值來調整。例如:每一節點的選取都可與其總體值比例增加,並且可根據其索引值增加或降低。如此,在選取期間可賦予該DAG內更多總體與更多相關節點之更大權重。
此外,可同時決定該等複數個參數變化每一者的最佳預設設定,其中這種預設的範圍可從最低設定(例如「minset」等等)至最高設定(例如「maxset」等等),並且在沿著該方向的每一步階上將「貨真價實」最大化(例如每一效能單元的畫質等等)。進一步,可維持該單一複數個預設的順序,如此若參數列舉順序都相同,則可保證效能與畫質的單一性。進一步,可決定該等複數個參數變化的最佳預設設定,如此有關每一該等最佳預設設定的效能成本,可將畫質最大化。
第三A圖例示根據另一具體實施例的一示範參數DAG 300。選擇性,可在第一圖至第二圖功能性範圍內實施示範參數DAG 300。不過,當然示範參數DAG 300可在任何所要的環境內實施。吾人也應該注意,在目前說明當中也適用前述定義。
如所示,示範參數DAG 300包括複數個節點302A-I,這每一都對應至個人電腦內一第一組件(例如一CPU類型等等)的變化306A-C之第一集合304,以及個人電腦內一第二組件(例如一GPU類型等等)的變化310A-C之第二集合308。在一具體實施例中,DAG 300可包括一有向圖,其具有由節點302A-I的集合所形成之無向循環(例如頂點等等)以及複數個有向邊緣312,如此無法從該DAG 300內任何節點開始,並且跟著最終再次回到開始節點的一序列邊緣。
此外,根據處理速度來引導該第一組件的變化306A-C之第一集合304以及該第二組件的變化310A-C之第二集合308內的該等節點,用較慢的節點指向較快的節點。如此,第一節點306A為第一集合304內最慢的節點、第二節點306B比第一集合304內的第一節點306A快但是比第三節點306C慢,並且第三節點306C為第一集合304內最快的節點。
在一具體實施例中,運用一或多個演算法、標準測試、製造商公佈等等可決定每一個該等節點302A-I的速度。在另一具體實施例中,利用分析每一節點內組件的特性,並且比較每一個該等節點302A-I的整體 處理速度,可決定DAG 300內節點302A-I的位置(包括哪個節點指向哪個節點)。
此外,如所示,有向邊緣312從對應至該個人電腦參數變化的較慢獨一組合之節點,指向對應至該個人電腦參數變化的明顯較快獨一組合之節點。如此,底部節點302I對應至該個人電腦參數變化的最快獨一組合,而頂端節點302A對應至該個人電腦參數變化的最慢獨一組合。
分區最佳化
根據提高的處理速度及/或參數變化的效能決定該參數DAG 300的結構,並且可決定每一參數變化的該等設定,以平衡每一參數變化的畫質與效能。在本發明的範疇內,處理與效能可代表渲染、播放、計算以及其他操作或像素解析。該等參數變化可分組,根據末端使用者的期望,提供最佳設定的進一步客製化。末端使用者的期望可根據末端使用者的計算系統(即是具有特定參數變化的裝置,例如CPU、GPU及/或顯示器解析度)之處理速度或效能等級而變,例如:相較於在具有較高處理速度的計算系統上運行相同應用程式,一末端使用者在具有較低處理速度的計算系統上運行一應用程式可預期經歷一較低的訊框率。類似地,相較於在具有較大處理容量的計算系統上運行相同應用程式,一末端使用者在具有較少處理容量的計算系統上運行一應用程式,於該等設定所影響的特性支援方面(例如畫質、音質、色彩深度、紋理模式、照明模型等等)可預期經歷較低品質特性。
根據在一末端使用者的計算系統上運行之遊戲應用程式類型,該末端使用者也會想要接受變化訊框率方面的效能。例如:一末端使用者操作在處理速度方面較低端的計算系統,可能想要接受在特定遊戲應用程式類型(例如即時策略)的訊框率方面(例如每秒25個訊框)相當低之效能,同時需要其他遊戲應用程式類型(例如運動)上較高效能(例如每秒60個訊框)。相較之下,操作一高端計算系統的末端使用者可具有較高期待,並且預期所有遊戲應用程式類型都有每秒60個訊框。一般而言,末端使用者預期該訊框率隨著該計算系統的處理速度而提高。因此,預期該訊框率隨著該最佳設定增加而提高(假設較高最佳設定與較高品質相關聯)。
參數DAG 300可分區,並且可針對區段設定不同的臨界目標。每一臨界目標都可對應至不同效能等級(例如訊框率),也就是末端使用者針對任何已知計算系統的預期,並且可指定不同的目標臨界集合用於每一種遊戲應用程式。該等目標臨界可用於產生每一區段內每一節點的最佳設定。在一具體實施例中,每一臨界目標都可對應至不同電力等級,例如電池電力殘留量、電力供應類型(例如電池或插座)或耗電量。
第三B圖例示根據另一具體實施例,具有節點組織成區段的第三A圖中示範參數DAG 300。分段參數DAG 350可由資料採擷、使用者反饋、測試者選項、調查及/或開發者/出版者輸入所決定。如第三B圖所示,在一或多個方面內,對應至具有最高效能的裝置中參數變化之節點302I包括在區段320內。節點302I被認為是「最快」節點。節點302G和302H都包括在區段325內,並且比區段320內的節點302I還要慢。節點302B、302C、302D、302E和302F都包括在區段330內。節點302G和302H都包括在區段325內,並且比區段330內的節點302B、302C、302D、302E和302F還要快。在一或多個方面內,對應至具有最低效能的裝置中參數變化之節點302A包括在區段335內。節點302A為「最慢」節點。針對臨界目標值的已知集合,每一區段320、325、330和335都可關聯於該集合內不同的臨界目標值。例如在一具體實施例中,區段320、325、330和335都分別關聯於每秒60、40、30和20個訊框的臨界目標值。在另一具體實施例中,區段320、325、330和335都分別關聯於每秒40、35、30和25個訊框的臨界目標值。在一具體實施例中,該等臨界目標依序隨著組織成該等複數個區段的該等複數個參數變化之處理速度增加而提高。
一旦該等臨界目標關聯於該等區段,則可針對每一區段使用先前連結第一圖、第二圖和第三A圖所描述的技術,單獨決定該等最佳設定。然後執行一致性檢查,確定隨著該處理速度提高,該等設定單獨增加分段參數DAG 350的該等不同區段。因為相較於第二區段內與一較高臨界目標相關聯的第二節點之設定,第一區段內與一臨界目標相關聯的第一節點可能具有較高設定,所以需要該一致性檢查。由實施成為一軟體程式的一致性檢查器或由硬體系統內的電路,可執行該一致性檢查。
例如:決定用於區段330內節點302E的該最佳設定可高於決定用於區段325內節點302G的該最佳設定。不過,根據參數DAG 300的結構,相較之下節點302G的處理速度要快過節點302E的處理速度。因此,直覺上與節點302E比較起來,節點302G具有較低最佳設定。與畫質有直接關連性所決定的該等最佳設定,由使用特定應用程式的該等最佳設定之計算系統所產生。末端使用者預期,與具有較低處理速度的計算系統所產生之畫質比較起來,由具有較高處理速度的計算系統所產生之畫質較佳。因此,決定用於節點302E和302G的該等最佳設定無法單獨隨處理速度增加而提高時,則該等最佳設定也與末端使用者的預期不一致。
要確定該等最佳設定的單一性,並且確定更快節點沒有比更慢節點還要慢的最佳設定,因此在分段參數DAG 350內的相鄰節點上執行一致性檢查。若識別一或多個設定不一致,則最小量降低該較慢節點的該等最佳設定,確定兩節點的該等最佳設定之單一性。在一具體實施例中,該較慢節點承接該較快節點的較慢最佳設定。分段參數DAG 350內的該等節點可從該最快節點移動到該最慢節點,在該等區段之間執行一致性檢查,確定該等最佳設定的單一性。對於橫跨計算系統完整範疇的臨界目標集合(例如訊框率值),確定該等區段之間的一致性能夠提供滿足末端使用者預期的最佳設定。
第四A圖顯示根據一具體實施例,用於同時決定複數個最佳設定並且確保橫跨複數個區段的設定一致性之方法400。如操作405所示,已識別與一裝置相關聯的複數個參數變化,其中已將該等複數個參數變化組織成複數個區段。每一區段都可與不同臨界目標值相關聯。此外,如操作415所示,大體上已同時決定該等複數個參數變化的每一者之設定。如操作420所示,確定橫跨該等複數個區段的該等設定之一致性。在一具體實施例中,調整該等設定,確定針對不同參數變化,該等設定隨該處理速度增加而提高。
第四B圖顯示根據另一具體實施例,用於同時決定複數個最佳設定並且確保橫跨複數個區段的設定一致性之另一個方法450。如先前描述完成操作405。如操作410所示,根據臨界目標,將該等複數個參數變 化組織成複數個區段。臨界目標集合可提供給每一軟體應用程式,或給每一種軟體應用程式。如先前描述完成操作415。
如操作425所示,由一致性檢查器選擇一第一參數變化。該第一參數變化可對應至該裝置的一參數DAG內一節點。在一具體實施例中,該選取的節點為對應至該參數DAG內該最快節點的該節點之相鄰節點。如操作430所示,試驗決定用於該第一參數變化的設定,並且若已確定該等設定過高,則在操作435上調整該第一參數變化的該等設定。在本發明的範疇內,相較於決定用於比該第一參數變化還要快的一相鄰參數變化之該等設定,該第一參數的該等設定與一較高品質相關聯時,該等設定可能過高。該品質可為畫質及/或音質。針對某些參數變化,該等設定較低時,該參數變化所產生的該訊框率可超出該臨界目標,如此畫質及/或音質降低時,該訊框率提高。
在操作430內,若決定用於該第一參數變化的一設定並未過高,則在操作440內,該一致性檢查器可識別具有一設定尚未試驗的另一個參數變化。若在操作440內該一致性檢查器識別另一個參數變化,則該一致性檢查器回到操作430,檢查該其他參數變化的該設定。否則在操作445內,該一致性檢查器終止,並且確定該裝置的該等最佳化設定隨著該等不同參數變化的處理速度增加而提高。
末端使用者起始一特定應用程式時,將一軟體程式(例如該一致性檢查器)的介面呈現給該末端使用者,該程式用於決定對應至該末端使用者所使用該計算系統的該參數變化之該等最佳設定。該軟體程式設置成執行結合第一圖、第二圖、第三A圖、第三B圖、第四A圖和第四B圖之一或多者所描述的該等操作,來決定該等複數個參數變化之最佳設定。已識別最接近該末端使用者計算系統的一參數變化,然後該計算系統可選擇性設置成使用已決定用於該匹配參數變化的該等最佳設定。該等複數個參數變化的區段可將與他或她預期一致的最佳設定提供給該末端使用者。
第五圖說明其中可實施許多先前具體實施例的許多架構及/或功能性之示範系統500。如所示,提供的系統500包括至少一個中央處理器501,其連接至通訊匯流排502。通訊匯流排502可使用任何合適的通訊 協定來實施,例如週邊組件互連(PCI,peripheral component interconnect)、PCI-Express、加速圖形連接埠(AGP,accelerated graphics port)、HyperTransport或任何其他匯流排或點對點通訊協定。系統500也包括主記憶體504。控制邏輯(軟體)以及資料都儲存在主記憶體504內,此記憶體可採用隨機存取記憶體(RAM,random access memory)。
系統500也包括輸入裝置512、一圖形處理器506以及一顯示器508,即是一傳統陰極射線管(CRT,cathode ray tube)、液晶顯示器(LCD,liquid crystal display)、發光二極體(LED,light emitting diode)、電漿顯示器等等。使用者輸入可從輸入裝置512接收,例如鍵盤、滑鼠、觸控板、麥克風等等。在一具體實施例中,圖形處理器506可包括複數個著色器模組(shader module)以及一個柵格化模組(rasterization module)等等。每一前述模組都適合在單一半導體平台上形成圖形處理單元(GPU,graphics processing unit))。圖形處理器506可耦合至一或多個DRAM裝置515,並且可根據特性資訊,設置成用不同速率更新該(等)DRAM的不同區域。在一具體實施例中,中央處理器501耦合至一或多個DRAM裝置515,並且可根據特性資訊,設置成用不同速率更新該(等)DRAM的不同區域。DRAM515可實施當成第二圖內的DRAM 280。
在本說明當中,單一半導體平台可稱為單體半導體式積體電路或晶片。吾人應該注意,單一半導體平台一詞也表示多晶片模組,其具備提高的連線性來模擬晶片上運算,並且運用傳統中央處理單元(CPU,central processing unit)和匯流排做大幅改善。當然,依照使用者的意願,許多模組也可分開或與半導體平台進行許多結合。第五圖內顯示的一或多個系統500可合併成系統500,以提供電力給一或多個晶片。
系統500也包括次要儲存器510。次要儲存器510包括例如:硬碟機及/或可移除式儲存裝置,像是軟碟機、磁帶機、光碟機、數位多功能光碟(DVD,digital versatile disk)機、記錄裝置、萬用序列匯流排(USB,universal serial bus)快閃記憶體。可移除式儲存裝置用已知的方式讀取及/或寫入可移除式儲存單元。電腦程式(或電腦控制邏輯演算法)可儲存在主記憶體504及/或次要儲存器510內,這種電腦程式在執行時可讓系統 500執行許多功能。主記憶體504、儲存器510及/或任何其他儲存器都可為電腦可讀取媒體的範例。
在一具體實施例中,許多先前附圖的架構及/或功能性都可在由中央處理器501、圖形處理器506、積體電路(未顯示,可具有至少部分中央處理器501和圖形處理器506的能力)、晶片組(即是設計成以執行相關功能的一單元來運作及銷售之積體電路群組)及/或其他任何積體電路所構成結構內實施。
仍舊是,許多先前附圖的架構及/或功能性都可在一般電腦系統、電路板系統、娛樂專用遊戲控制台系統、應用專屬系統及/或其他任何所要系統的範圍內實施。例如:系統500可為桌上型電腦、膝上型電腦、伺服器、工作站、遊戲主機、嵌入式系統及/或其他任何邏輯類型。仍舊是,系統500可為許多其他裝置的形式,包括但不受限於個人數位助理(PDA,personal digital assistant)裝置、行動電話裝置、電視等等。
進一步,雖然未顯示,系統500可連結至網路(例如通訊網路、區域網路(LAN,local area network)、無線網路、廣域網路(WAN,wide area network),像是網際網路、點對點網路、有線電視網路等等)用來通訊。
當上面已說明許多具體實施例時,必須了解到它們係僅藉由範例來呈現,並非構成限制。因此,較佳具體實施例之廣度及範疇並不侷限於上述任何示範性具體實施例,而應僅根據以下的申請專利範圍及其等效內容來定義。

Claims (20)

  1. 一種方法,包含:識別與一裝置相關聯的複數個參數變化,其中已將該等複數個參數變化組織成複數個區段;決定該等複數個參數變化的每一者之設定;以及確定橫跨該等複數個區段的該等設定之一致性。
  2. 如申請專利範圍第1項之方法,其中每一區段都與複數個臨界目標的一臨界目標相關聯。
  3. 如申請專利範圍第2項之方法,其中該等臨界目標依序隨著組織成該等複數個區段的該等複數個參數變化之處理速度增加而提高。
  4. 如申請專利範圍第2項之方法,其中該等複數個臨界目標為訊框率值之集合。
  5. 如申請專利範圍第2項之方法,其中該等複數個臨界目標為電力等級之集合。
  6. 如申請專利範圍第2項之方法,其中一第一複數個臨界目標對應至第一種遊戲應用程式,並且一第二複數個臨界目標對應至第二種遊戲應用程式。
  7. 如申請專利範圍第1項之方法,其中同時決定該等複數個參數變化的每一者之設定,包含建立內含複數個節點的一有向無環圖(DAG,directed acyclic graph),其中該等複數個節點的每一者都代表該等複數個參數變化之一者。
  8. 如申請專利範圍第7項之方法,進一步包含將該等複數個節點組織成該等複數個區段,每一區段都與不同的臨界目標相關聯。
  9. 如申請專利範圍第1項之方法,其中該等複數個參數變化的每一者之設定包含預設的單一集合,其依照第一特性依序增加並且依照第二特性依序減少。
  10. 如申請專利範圍第1項之方法,其中確定橫跨該等複數個區段的該等設定之一致性包含比較該等複數個參數變化間之設定。
  11. 如申請專利範圍第10項之方法,其中確定橫跨該等複數個區段的該等 設定之一致性,更包含該等第一設定相較於該等第二設定與較高品質相關聯時,調整相較於具有第二設定的一第二參數變化,具有較慢處理速度的一第一參數變化之第一設定。
  12. 如申請專利範圍第11項之方法,其中調整該等第一設定成等於該等第二設定。
  13. 如申請專利範圍第1項之方法,其中該等參數包含該裝置內安裝的一或多個硬體、該裝置內安裝的軟體以及該裝置內一顯示器的一解析度。
  14. 如申請專利範圍第1項之方法,其中針對該等複數個參數變化的每一者,該等設定包含該參數變化的一設置,如此具有該參數變化的該裝置產生一最大化輸出。
  15. 如申請專利範圍第1項之方法,其中同時決定該等複數個參數變化的每一者之設定,包含調整與該等複數個參數變化的每一者相關聯之一或多個設定。
  16. 如申請專利範圍第1項之方法,其中該等複數個參數變化的每一者都會影響如何決定該等設定。
  17. 一種在一電腦可讀取媒體上具體實施之電腦程式商品,其包含:程式碼,用於識別與一裝置相關聯的複數個參數變化,其中已將該等複數個參數變化組織成複數個區段;程式碼,用於決定該等複數個參數變化的每一者之設定;以及程式碼,用於確定橫跨該等複數個區段的該等設定之一致性。
  18. 如申請專利範圍第17項之電腦程式商品,其中每一區段都與複數個臨界目標的一臨界目標相關聯。
  19. 一種系統,包含:一記憶體,用於儲存與一裝置相關聯的複數個參數變化;以及一處理器,其耦合至該記憶體,並且設置成:將該等複數個參數變化組織成複數個區段;決定該等複數個參數變化的每一者之設定;以及確定橫跨該等複數個區段的該等設定之一致性。
  20. 如申請專利範圍第19項之系統,其中該等參數包含該裝置內安裝的一 或多個硬體、該裝置內安裝的軟體以及該裝置內一顯示器的一解析度。
TW102123854A 2012-07-06 2013-07-03 同時決定複數個參數變化設定的系統、方法和電腦程式商品 TW201419212A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/543,196 US10509658B2 (en) 2012-07-06 2012-07-06 System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US201361819478P 2013-05-03 2013-05-03
US13/921,146 US10668386B2 (en) 2012-07-06 2013-06-18 System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations

Publications (1)

Publication Number Publication Date
TW201419212A true TW201419212A (zh) 2014-05-16

Family

ID=49781668

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102123854A TW201419212A (zh) 2012-07-06 2013-07-03 同時決定複數個參數變化設定的系統、方法和電腦程式商品

Country Status (3)

Country Link
CN (1) CN103530108B (zh)
DE (1) DE102013213113A1 (zh)
TW (1) TW201419212A (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5954617A (en) * 1997-01-31 1999-09-21 Cummins Engine Company, Inc. System for controlling internal combustion engine performance in accordance with driver behavior
US20070066403A1 (en) * 2005-09-20 2007-03-22 Conkwright George C Method for dynamically adjusting an interactive application such as a videogame based on continuing assessments of user capability
CN100533541C (zh) * 2006-01-19 2009-08-26 财团法人工业技术研究院 以视觉绩效自动调整显示器参数的装置及其方法
CN101740001A (zh) * 2008-11-19 2010-06-16 康佳集团股份有限公司 一种亮度调整装置、方法和移动终端
CN101930719A (zh) * 2009-06-18 2010-12-29 辉达公司 自动切换显示器场景模式的方法及系统

Also Published As

Publication number Publication date
CN103530108B (zh) 2018-04-06
DE102013213113A1 (de) 2014-01-16
CN103530108A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
US11351463B2 (en) System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
TWI537868B (zh) 同時決定複數個參數變化設定的系統、方法和電腦程式商品
TWI489269B (zh) 測試裝置參數的系統、方法和電腦程式產品
US9870639B2 (en) Graphic processing unit and method of performing, by graphic processing unit, tile-based graphics pipeline
US9117302B2 (en) Switching between direct rendering and binning in graphics processing using an overdraw tracker
TWI515671B (zh) 運用一或多個限制計算一裝置設定的系統、方法和電腦程式商品
TWI512670B (zh) 決定參數設定是否符合預設標準的系統、方法和電腦程式商品
KR102096497B1 (ko) 지도 인터페이스들의 지연시간 단축
JP2019508804A (ja) 処理ユニットのためのフレームベースのクロックレート調整
US20170199558A1 (en) Flexible and scalable energy model for estimating energy consumption
TWI518509B (zh) 決定裝置設定的系統、方法和電腦程式產品
Daim et al. Identifying and forecasting the reverse salient in video game consoles: A performance gap ratio comparative analysis
JP2016517574A (ja) 複数のプリミティブを使用するグラフィック処理
TW201419212A (zh) 同時決定複數個參數變化設定的系統、方法和電腦程式商品
US10504462B2 (en) Non-linear processing of two-dimensional data
GB2574721A (en) Image rendering
US11783752B2 (en) Gamma lookup table compression
JP2010130497A (ja) 情報処理装置およびプログラム
US11386872B2 (en) Experiencing a virtual object at a plurality of sizes
WO2023066095A1 (zh) 一种渲染方法及相关装置
TWI672632B (zh) 視窗裁切配置篩選方法及電腦裝置
US20210060435A1 (en) Valuation of Third-Party Generated Content Within a Video Game Environment
TW202341062A (zh) 計算機圖形處理方法以及系統
Bourassa et al. Green Gaming: Energy Efficiency without Performance Compromise
CN114910450A (zh) 使用粒子密度进行光传输模拟的部分可见度估计