DE102013213113A1 - Method for simultaneously determining settings for multiple parameter variations associated with device, involves ensuring consistency of settings across multiple segments - Google Patents

Method for simultaneously determining settings for multiple parameter variations associated with device, involves ensuring consistency of settings across multiple segments Download PDF

Info

Publication number
DE102013213113A1
DE102013213113A1 DE201310213113 DE102013213113A DE102013213113A1 DE 102013213113 A1 DE102013213113 A1 DE 102013213113A1 DE 201310213113 DE201310213113 DE 201310213113 DE 102013213113 A DE102013213113 A DE 102013213113A DE 102013213113 A1 DE102013213113 A1 DE 102013213113A1
Authority
DE
Germany
Prior art keywords
settings
parameter variations
parameter
variations
node
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
DE201310213113
Other languages
German (de)
Inventor
John F. Spitzer
Jing Wang
Christopher Justin Daniel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
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 DE102013213113A1 publication Critical patent/DE102013213113A1/en
Pending legal-status Critical Current

Links

Images

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

The method (450) involves identifying (405) multiple parameter variations associated with a device. Multiple parameter variations are organized (410) into multiple segments. The settings for each of multiple parameter variations are determined (415). The consistency of the settings across multiple segments is ensured (445). Independent claims are included for the following: (1) computer program product for simultaneously determining settings for multiple parameter variations; and (2) system for simultaneously determining settings for multiple parameter variations.

Description

BEANSPRUCHUNG VON PRIORITÄTCLAIM OF PRIORITY

Diese Anmeldung ist eine teilweise Fortführung (Continuation-in-Part) von US-Anmeldungs-Nr. 13/543,196, eingereicht am 6. Juli 2012. Diese Anmeldung beansprucht auch die Priorität der US-Provisional-Anmeldungs-Nr. No. 61/819,478, eingereicht am 3. Mai 2013. Die vollständigen Inhalte dieser Anmeldungen sind hiermit durch Bezugnahme inkorporiert.This application is a continuation-in-part of US application no. No. 13 / 543,196, filed July 6, 2012. This application also claims the benefit of US Provisional Application Nos. No. No. 61 / 819,478, filed May 3, 2013. The entire contents of these applications are hereby incorporated by reference.

Die vorliegende Erfindung betrifft Parameter-Analyse und insbesondere Bestimmen eines Satzes von Voreinstellungen basierend auf Parameter-Analyse.The present invention relates to parameter analysis, and more particularly to determining a set of preferences based on parameter analysis.

HINTERGRUNDBACKGROUND

Viele der heute existierenden Produkte umfassen einen oder mehrere Parameter, welche eine Gesamt-Erfahrung, welche mit dem Produkt assoziiert ist, beeinflussen. Zum Beispiel können Computer-Spiele und andere Software viele Parameter haben, welche eine Qualität eines Renderns, Audio, Spiel, etc. bestimmen. Vorhandene Techniken zum Anordnen der Parameter, welche mit diesen Produkten assoziiert sind, sind jedoch mit verschiedenen Begrenzungen assoziiert worden.Many of the products existing today include one or more parameters that influence an overall experience associated with the product. For example, computer games and other software may have many parameters that determine a quality of rendering, audio, game, etc. Existing techniques for ordering the parameters associated with these products, however, have been associated with various limitations.

Zum Beispiel können momentan Kunden dafür verantwortlich sein, eine Mehrzahl von Parameter, welche mit einem Produkt assoziiert sind, manuell einzustellen, um geeignete Einstellungen für dieses Produkt zu bestimmen. Dies kann zu schlechteren als optimalen Einstellungen für das Produkt, zu einem zeitaufwendigen Versuch und Irrtum von dem Kunden, etc. führen. Somit gibt es einen Bedarf zum Adressieren dieser und/oder anderer Probleme, welche mit dem Stand der Technik assoziiert sind.For example, at present, customers may be responsible for manually setting a plurality of parameters associated with a product to determine appropriate settings for that product. This can lead to worse than optimal settings for the product, a time-consuming trial and error by the customer, etc. Thus, there is a need to address these and / or other problems associated with the prior art.

ZUSAMMENFASSUNGSUMMARY

Ein System, ein Verfahren und ein Computer-Programm-Produkt sind zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parameter-Variationen bereitgestellt. In Benutzung wird eine Mehrzahl von Parameter-Variationen, welche mit einem Gerät assoziiert ist, identifiziert, wobei die Mehrzahl von Parameter-Variationen in eine Mehrzahl von Segmenten organisiert ist. Zusätzlich werden Einstellungen für jede der Mehrzahl von Parameter-Variationen bestimmt und Konsistenz der Einstellungen über die Mehrzahl von Segmenten wird sichergestellt.A system, method, and computer program product are provided for simultaneously determining settings for a plurality of parameter variations. In use, a plurality of parameter variations associated with a device are identified, wherein the plurality of parameter variations are organized into a plurality of segments. In addition, settings are determined for each of the plurality of parameter variations, and consistency of the settings across the plurality of segments is ensured.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

1 zeigt ein Verfahren zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parameter-Variationen in Übereinstimmung mit einer Ausführungsform. 1 FIG. 10 illustrates a method for simultaneously determining settings for a plurality of parameter variations in accordance with an embodiment.

2 zeigt ein Verfahren zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen in Übereinstimmung mit einer anderen Ausführungsform. 2 FIG. 12 shows a method of simultaneously determining a plurality of optimal settings in accordance with another embodiment.

3A zeigt einen exemplarischen Parameter-DAG in Übereinstimmung mit einer anderen Ausführungsform. 3A shows an exemplary parameter DAG in accordance with another embodiment.

3B zeigt ein Beispiel-Parameter-DAG mit Knoten, welche in Segmente organisiert sind, in Übereinstimmung mit einer anderen Ausführungsform. 3B shows an example parameter DAG with nodes organized into segments in accordance with another embodiment.

4A zeigt ein Verfahren zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen und Sicherstellen einer Konsistenz der Einstellungen über eine Mehrzahl von Segmenten in Übereinstimmung mit einer anderen Ausführungsform. 4A shows a method for simultaneously determining a plurality of optimal settings and ensuring consistency of the settings across a plurality of segments in accordance with another embodiment.

4B zeigt ein anderes Verfahren zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen und Sicherstellen einer Konsistenz der Einstellungen über eine Mehrzahl von Segmenten in Übereinstimmung mit einer anderen Ausführungsform. 4B FIG. 12 illustrates another method of simultaneously determining a plurality of optimal settings and ensuring consistency of the settings across a plurality of segments in accordance with another embodiment.

5 illustriert ein exemplarisches System, in welchem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorherigen Ausführungsformen implementiert werden kann. 5 illustrates an exemplary system in which the various architecture and / or functionality of the various previous embodiments may be implemented.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

1 zeigt ein Verfahren 100 zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parameter-Variationen in Übereinstimmung mit einer Ausführungsform. Wie in Operation 102 gezeigt ist, wird eine Mehrzahl von Parameter-Variationen, welche mit einem Gerät assoziiert sind, identifiziert. In einer Ausführungsform kann das Gerät ein Objekt, wie etwa einen Personal-Computer oder ein anderes Hardware-Element umfassen. In einer anderen Ausführungsform kann die Mehrzahl von Parameter-Variationen eine Mehrzahl von eigentümlichen bzw. eindeutigen (unique) Variationen einer Mehrzahl von verschiedenen Parametern umfassen. 1 shows a method 100 for simultaneously determining settings for a plurality of parameter variations in accordance with an embodiment. As in operation 102 is shown, a plurality of parameter variations associated with a device are identified. In one embodiment, the device may include an object, such as a personal computer or other hardware element. In another embodiment, the plurality of parameter variations may include a plurality of unique variations of a plurality of different parameters.

Zusätzlich kann in einer Ausführungsform die Mehrzahl von Parametern irgendeine Charakteristik des Gerätes umfassen. Zum Beispiel können die Parameter Hardware (z. B. eine Zentral-Verarbeitungs-Einheit (CPU), eine Grafik-Verarbeitungs-Einheit (GPU), Speicher mit willkürlichem Zugriff (RAM), eine Haupt-Platine, eine Anzeige, etc.) umfassen, welche innerhalb des Gerätes (z. B. ein Schreibtisch-Computer, ein Laptop-Computer, ein Tablet-Computer, eine persönlicher digitaler Assistent, ein Mobiltelefon, etc.) installiert ist, Software (z. B. ein Betriebssystem, Treiber, etc.), welche innerhalb des Gerätes installiert ist, umfassen.Additionally, in one embodiment, the plurality of parameters may include any characteristic of the device. For example, the parameters may include hardware (eg, a central processing unit (CPU), a graphics processing unit (GPU), random access memory (RAM), a main board, a display, etc.) contained inside the device (eg a desktop computer, a laptop computer, a tablet Computer, a personal digital assistant, a mobile phone, etc.), software (eg, an operating system, drivers, etc.) installed inside the device.

Ferner kann in einer Ausführungsform einer oder mehrere der Parameter unabhängig konfigurierbar sein. Zum Beispiel kann jeder der Parameter in der Lage sein, unabhängig von den anderen Parametern geändert zu werden. In einer Ausführungsform kann jeder der Parameter von dem Gerät benutzt werden, um eine oder mehrere Aktionen durchzuführen. In noch einer anderen Ausführungsform können die Parameter-Variationen eine Mehrzahl von verschiedenen Typen des Parameters umfassen, welcher eine Größe, Menge (magnitude), Geschwindigkeit, etc. umfasst, assoziiert mit dem Parameter. Wenn z. B. der Parameter eine Gerät-CPU ist, dann können die Variationen des Parameters einen Hersteller der CPU, eine Geschwindigkeit der CPU, eine Zwischenspeicher-Größe der CPU, etc. umfassen. In einem anderen Beispiel können die Variationen, wenn der Parameter RAM ist, dann eine Größe von RAM, eine Geschwindigkeit des RAM, einen Hersteller des RAM, etc. umfassen.Further, in one embodiment, one or more of the parameters may be independently configurable. For example, each of the parameters may be able to be changed independently of the other parameters. In one embodiment, each of the parameters may be used by the device to perform one or more actions. In yet another embodiment, the parameter variations may include a plurality of different types of the parameter, including a magnitude, magnitude, velocity, etc. associated with the parameter. If z. For example, if the parameter is a device CPU, then the variations of the parameter may include a manufacturer of the CPU, a speed of the CPU, a cache size of the CPU, etc. In another example, if the parameter is RAM, then the variations may include a size of RAM, a speed of the RAM, a manufacturer of the RAM, etc.

Noch weiter kann in einer Ausführungsform die Mehrzahl von Parameter-Variationen bei einem Server identifiziert werden. Zum Beispiel kann jede der Mehrzahl von Parameter-Variationen von einem Benutzer-Gerät, welches diese Parameter-Variationen hat, zu einem Server über ein Netzwerk (z. B. ein drahtloses Netzwerk, ein drahtbasiertes, ein zelluläres Netzwerk, ein Satelliten-Netzwerk, etc.) gesendet werden. In einer anderen Ausführungsform kann die Mehrzahl von Parameter-Variationen in einer Datenbank gespeichert und aus der Datenbank abgerufen werden.Still further, in one embodiment, the plurality of parameter variations may be identified at a server. For example, each of the plurality of parameter variations may be from a user device having these parameter variations to a server via a network (eg, a wireless network, a wired, a cellular, a satellite network, etc.). In another embodiment, the plurality of parameter variations may be stored in a database and retrieved from the database.

Auch kann die Mehrzahl von Parameter-Variationen, welche mit dem Gerät assoziiert ist, in einer Ausführungsform basierend auf einem oder mehreren Kriterien identifiziert werden. Zum Beispiel kann eine vorbestimmte Anzahl von Parameter-Variationen, welche bestimmt sind, populärste Benutzer-Variationen zu sein (z. B. Parameter-Variationen, welche in Kunden-Geräten am meisten benutzt werden, etc.) als die Mehrzahl von Parameter-Variationen ausgewählt werden, welche mit dem Gerät assoziiert sind.Also, in an embodiment, the plurality of parameter variations associated with the device may be identified based on one or more criteria. For example, a predetermined number of parameter variations that are destined to be most popular user variations (eg, parameter variations that are most widely used in customer devices, etc.) may be used as the plurality of parameter variations be selected, which are associated with the device.

Wie in Operation 104 gezeigt ist, werden zusätzlich Einstellungen für jede der Mehrzahl von Parameter-Variationen simultan bestimmt. In einer Ausführungsform können die Einstellungen, welche für jede der Mehrzahl von Parameter-Variationen bestimmt sind, optimierte Einstellungen umfassen, welche einen oder mehrere Aspekte der Mehrzahl von Parameter-Variationen manipulieren. In einer anderen Ausführungsform können die Einstellungen für jede der Mehrzahl von Parameter-Variationen eine monotone Menge (monotonic set) von vordefinierten Einstellungen (Voreinstellungen) umfassen. Zum Beispiel können Einstellungen für jede der Mehrzahl von Parameter-Variationen eine monotone Menge von Voreinstellungen umfassen, welche sequenziell bezüglich zu einer ersten Charakteristik ansteigen und sequenziell bezüglich einer zweiten Charakteristik abnehmen.As in operation 104 In addition, settings for each of the plurality of parameter variations are determined simultaneously. In an embodiment, the settings that are determined for each of the plurality of parameter variations may include optimized settings that manipulate one or more aspects of the plurality of parameter variations. In another embodiment, the settings for each of the plurality of parameter variations may include a monotonic set of predefined settings (presets). For example, settings for each of the plurality of parameter variations may include a monotonous set of presets that increase sequentially with respect to a first characteristic and decrease sequentially with respect to a second characteristic.

In einem anderen Beispiel kann die monotone Menge von Voreinstellungen geordnet sein und jede darauffolgende Voreinstellung innerhalb der Menge von Voreinstellungen kann eine verbesserte erste Charakteristik und eine verminderte zweite Charakteristik haben, wenn verglichen mit der vorherigen Voreinstellung innerhalb der Menge von Voreinstellungen. In noch einer anderen Ausführungsform kann die erste Charakteristik mit Qualität (z. B. Bildqualität, Klangqualität, Erfahrungsqualität, etc.) assoziiert sein und die zweite Charakteristik kann mit Performance (z. B. Geschwindigkeit, Ökonomie, Effizienz, etc.) assoziiert sein oder Energielevel oder einem gewissen Verhältnis von Performance pro Einheits-Leistung bzw. Einheits-Energie. Zum Beispiel kann ein Software-Element auf dem Gerät abgelaufen werden, und jede darauf folgende Voreinstellung innerhalb der Menge von Voreinstellungen kann eine verbesserte Bildqualität des Software-Elements und eine verminderte Performance des Software-Elements haben.In another example, the monotone set of presets may be ordered, and any subsequent presets within the set of presets may have an improved first characteristic and a decreased second characteristic when compared to the previous preset within the set of presets. In yet another embodiment, the first characteristic may be associated with quality (eg, image quality, sound quality, experience quality, etc.) and the second characteristic may be associated with performance (eg, speed, economy, efficiency, etc.) or energy level or some ratio of performance per unit power. For example, a software element may be run on the device, and any subsequent presets within the set of presets may have improved image quality of the software element and decreased performance of the software element.

In einer anderen Ausführungsform können die Einstellungen unter Benutzung eines Algorithmus bestimmt werden. Zum Beispiel können die Einstellungen unter Benutzung eines gierigen Algorithmus, eines erschöpfenden Algorithmus, etc. bestimmt werden. In einer anderen Ausführungsform können die Einstellungen dadurch bestimmt werden, dass eine erste Charakteristik bezüglich einer zweiten Charakteristik für jede Voreinstellung der Menge von Voreinstellungen maximiert wird. Zum Beispiel kann jede einer Mehrzahl von Einstellungen für eine Parameter-Variation eine erste Charakteristik mit Qualität assoziiert haben und eine zweite Charakteristik mit Performance assoziiert haben, wobei die erste Charakteristik bezüglich der zweiten Charakteristik optimiert werden kann.In another embodiment, the settings may be determined using an algorithm. For example, the settings may be determined using a greedy algorithm, an exhaustive algorithm, etc. In another embodiment, the settings may be determined by maximizing a first characteristic relating to a second characteristic for each presetting of the set of presets. For example, each of a plurality of parameter variation settings may have associated a first characteristic with quality and associated a second characteristic with performance, wherein the first characteristic may be optimized with respect to the second characteristic.

Ferner können in einer Ausführungsform für jede der Mehrzahl von Parameter-Variationen die Einstellungen eine Konfiguration dieser Parameter-Variation umfassen, derart, dass das Gerät, welches diese Parameter-Variation hat, eine maximierte Ausgabe (z. B. Bildqualität, etc.) produziert, während eine Schwellwert-Anforderung (z. B. eine minimale Bildrate, maximaler Energie-Verbrauch, etc.) aufrechterhalten ist, während ein vorbestimmtes Software-Element abläuft. In einer anderen Ausführungsform kann das Software-Element ein Software-Programm umfassen, welches innerhalb des Gerätes installiert sein kann oder welches innerhalb des Gerätes zu installieren ist.Further, in one embodiment, for each of the plurality of parameter variations, the settings may include a configuration of that parameter variation such that the device having this parameter variation produces a maximized output (eg, image quality, etc.) while a threshold request (eg, a minimum frame rate, maximum power consumption, etc.) is maintained while a predetermined software item is running. In another embodiment, the software element may be a software program include, which may be installed inside the device or which is to be installed inside the device.

Noch weiter kann in einer Ausführungsform simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfassen Erzeugen eines gerichteten azyklischen Graphen (DAG), welcher eine Mehrzahl von Knoten umfasst, wobei jeder der Mehrzahl von Knoten eine der Mehrzahl von Parameter-Variationen repräsentiert. In einer anderen Ausführungsform können die Knoten des DAG basierend auf einem oder mehreren Kriterien gerichtet sein. Zum Beispiel kann jeder der Mehrzahl von Knoten des DAG innerhalb des DAG basierend auf der Geschwindigkeit gerichtet sein, welche mit jedem Knoten assoziiert ist, wobei die Geschwindigkeit basierend auf den Geräte-Parameter-Variationen bestimmt ist, welche mittels des Knotens repräsentiert sind. In einer anderen Ausführungsform können die Knoten in dem DAG derart gerichtet sein, dass ein erster Knoten des DAG auf einen zweiten Knoten des DAG zeigen kann, wenn es bestimmt ist, dass der zweite Knoten des DAG definitiv schneller in einer oder in mehreren Hinsichten (z. B. in Hinsicht auf Verarbeitungs-Geschwindigkeit, etc.) ist als der erste Knoten des DAG.Still further, in one embodiment, simultaneously determining settings for each of the plurality of parameter variations may include generating a directional acyclic graph (DAG) comprising a plurality of nodes, wherein each of the plurality of nodes represents one of the plurality of parameter variations. In another embodiment, the nodes of the DAG may be directed based on one or more criteria. For example, each of the plurality of nodes of the DAG may be directed within the DAG based on the velocity associated with each node, the velocity being determined based on the device-parameter variations represented by the node. In another embodiment, the nodes in the DAG may be directed such that a first node of the DAG may point to a second node of the DAG, if it is determined that the second node of the DAG is definitely faster in one or more respects (e.g. B. in terms of processing speed, etc.) is considered the first node of the DAG.

Auch kann in einer Ausführungsform simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfassen Einstellen von einer oder mehreren Einstellungen, welche mit jeder der Mehrzahl von Parameter-Variationen assoziiert ist. Zum Beispiel kann für jede der Mehrzahl von Parameter-Variationen eine oder mehrere Einstellungen eingestellt werden (z. B. an- oder abgeschaltet werden, erhöht werden, vermindert werden, etc.), um die größtmögliche Menge bzw. Umfang (magnitude) einer ersten Charakteristik bezüglich einer zweiten Charakteristik zu bestimmen. In einer anderen Ausführungsform können die Einstellungen, welche für jede der Mehrzahl von Parameter-Variationen bestimmt sind, die Einstellungen für die Mehrzahl von Parameter-Variationen umfassen, welche die größtmögliche Menge bzw. Größe der ersten Charakteristik bezüglich der zweiten Charakteristik ergeben.Also, in one embodiment, simultaneously determining settings for each of the plurality of parameter variations may include setting one or more settings associated with each of the plurality of parameter variations. For example, for each of the plurality of parameter variations, one or more settings may be adjusted (eg, turned on or off, increased, decreased, etc.) to obtain the largest possible magnitude of a first Characteristic to determine a second characteristic. In another embodiment, the settings determined for each of the plurality of parameter variations may include the settings for the plurality of parameter variations that give the largest possible magnitude of the first characteristic with respect to the second characteristic.

Zusätzlich kann in einer Ausführungsform simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen aufeinander folgendes Einstellen einer einzelnen Einstellung für jede der Mehrzahl-Variationen gleichzeitig umfassen. Zum Beispiel kann für jede der Mehrzahl von Parameter-Variationen eine erste bestimmte Einstellung eingestellt werden, um die größte mögliche Menge einer ersten Charakteristik bezüglich einer zweiten Charakteristik zu bestimmen. Zusätzlich kann, nachdem die erste bestimmte Einstellung eingestellt ist, eine zweite Einstellung bestimmt werden, eingestellt zu werden, wobei die zweite bestimmte Einstellung für jede der Mehrzahl von Parameter-Variationen eingestellt ist.Additionally, in one embodiment, simultaneously determining settings for each of the plurality of parameter variations may comprise sequentially adjusting a single adjustment for each of the plurality of variations simultaneously. For example, for each of the plurality of parameter variations, a first particular setting may be set to determine the largest possible amount of a first characteristic with respect to a second characteristic. In addition, after the first specific setting is set, a second setting may be determined to be set with the second specific setting set for each of the plurality of parameter variations.

In einer anderen Ausführungsform kann ein simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfassen Starten bei einer Minimal-Einstellungs-Menge bzw. Minimal-Einstellungs-Größe für jede der Mehrzahl von Parameter-Variationen und aufeinander folgendes Erhöhen einer einzelnen Einstellung für jede der Mehrzahl von Parameter-Variationen simultan. In noch einer anderen Ausführungsform kann simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfassen Starten bei einer Maximal-Einstellungs-Größe für jede der Mehrzahl von Parameter-Variationen und aufeinander folgendes Vermindern einer einzelnen Einstellung für jede der Mehrzahl von Parameter-Variationen simultan.In another embodiment, simultaneously determining settings for each of the plurality of parameter variations may include starting at a minimum set amount for each of the plurality of parameter variations and successively increasing a single set for each of the plurality of parameter variations simultaneously. In yet another embodiment, simultaneously determining settings for each of the plurality of parameter variations may include starting at a maximum adjustment size for each of the plurality of parameter variations and sequentially decreasing a single adjustment for each of the plurality of parameter variations simultaneously.

In noch einer anderen Ausführungsform kann simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfassen Starten bei sowohl einer Maximal-Einstellungs-Größe als auch einer Minimal-Einstellungs-Größe für jede der Mehrzahl von Parameter-Variationen und aufeinander folgendes Vermindern einer einzelnen Einstellung von dem Maximum und Erhöhen einer einzelnen Einstellung von dem Minimum für jede der Mehrzahl von Parameter-Variationen simultan, bis optimale Einstellungen bestimmt sind, welche die größtmögliche Menge bzw. Größe der ersten Charakteristik bezüglich der zweiten Charakteristik ergeben.In yet another embodiment, simultaneously determining settings for each of the plurality of parameter variations may include starting at both a maximum adjustment size and a minimum adjustment size for each of the plurality of parameter variations and successively decreasing a single one Setting the maximum and increasing a single setting of the minimum for each of the plurality of parameter variations simultaneously until optimum settings are determined which give the largest possible magnitude of the first characteristic with respect to the second characteristic.

Ferner kann in einer Ausführungsform jede der Mehrzahl von Parameter-Variationen beeinflussen, wie die Einstellungen bestimmt werden. Zum Beispiel kann jede der Mehrzahl von Parameter-Variationen (oder ihr entsprechender Knoten in dem DAG) für eine erste bestimmte Einstellung stimmen bzw. votieren, welche für jede der Mehrzahl von Parameter-Variationen eingestellt ist. In einem anderen Beispiel kann, nachdem die erste bestimmte Einstellung für jede der Mehrzahl von Parameter-Variationen eingestellt ist, jede der Mehrzahl von Parameter-Variationen (oder ihr entsprechender Knoten in dem DAG) dann für eine zweite bestimmte Einstellung stimmen bzw. votieren, welche für jede der Mehrzahl von Parameter-Variationen eingestellt ist.Further, in one embodiment, each of the plurality of parameter variations may affect how the settings are determined. For example, each of the plurality of parameter variations (or their corresponding node in the DAG) may vote for a first particular setting that is set for each of the plurality of parameter variations. In another example, after the first specific setting is set for each of the plurality of parameter variations, each of the plurality of parameter variations (or their corresponding node in the DAG) may then vote for a second particular setting, which is set for each of the plurality of parameter variations.

Noch weiter kann in einer Ausführungsform jede der Mehrzahl von Parameter-Variationen einen verschiedenen Level von Einfluss darauf haben, wie die Einstellungen bestimmt sind. Zum Beispiel kann ein Populationswert mit jeder der Mehrzahl von Parameter-Variationen (oder ihrem entsprechenden Knoten in der DAG) assoziiert sein. In einer anderen Ausführungsform kann ein Populationswert, welcher mit einer bestimmten Parameter-Variation assoziiert ist, einer vorbestimmten Anzahl von Benutzern entsprechen, welche die Parameter-Variation haben (z. B. in ihrem Gerät installiert etc.). In noch einer anderen Ausführungsform kann ein Populationswert, welcher mit einer bestimmten Parameter-Variation assoziiert ist, einem vorbestimmten Prozentsatz einer Gesamtzahl von Benutzern entsprechen, welche diese Parameter-Variation haben.Still further, in one embodiment, each of the plurality of parameter variations may have a different level of influence on how the settings are determined. For example, a population value may be associated with each of the plurality of parameter variations (or their corresponding node in the DAG). In another embodiment, a population value associated with a particular parameter variation may be a predetermined number of users which have the parameter variation (eg installed in their device etc.). In yet another embodiment, a population value associated with a particular parameter variation may correspond to a predetermined percentage of a total number of users having that parameter variation.

In noch einer anderen Ausführungsform kann der Populationswert, welcher mit einer bestimmten Parameter-Variation assoziiert ist, eine Größe (z. B. Stärke bzw. Festigkeit (strength) etc.) des Einflusses beeinflussen, welcher mittels der bestimmten Parameter-Variation bezüglich darauf ausgeübt wird, wie die Einstellungen bestimmt sind. Zum Beispiel kann ein Votum mittels der bestimmten Parameter-Variation für eine bestimmte Einstellung, welche für jede der Mehrzahl von Parameter-Variationen eingestellt ist, proportional mittels des Populationswertes erhöht werden, welcher mit der bestimmten Parameter-Variation assoziiert ist (z. B. mittels eines Multiplizierens des Votums mittels des Populationswertes, etc.). Auf diese Weise können populäre Parameter-Variationen, welche von einer großen Benutzerbasis verwendet werden, mehr Einfluss darauf haben, wie die Einstellungen bestimmt sind.In yet another embodiment, the population value associated with a particular parameter variation may affect a magnitude (eg, strength, etc.) of the influence exerted thereon by the particular parameter variation will determine how the settings are made. For example, a vote may be proportionally increased by means of the determined parameter variation for a particular setting set for each of the plurality of parameter variations by means of the population value associated with the particular parameter variation (eg multiplying the vote by the population value, etc.). In this way, popular parameter variations used by a large user base can have more influence on how the settings are determined.

Auch kann in einer Ausführungsform ein Index-Wert (z. B. ein Einfluss-Wert, etc.) mit jeder der Mehrzahl von Parameter-Variationen (oder ihrem entsprechenden Knoten in dem DAG) assoziiert sein. In einer anderen Ausführungsform kann der Index-Wert, welcher mit einer bestimmten Parameter-Variation assoziiert ist, einer Fähigkeit der bestimmten Parameter-Variation entsprechen, ein vorbestimmtes Software-Element bei einer vorbestimmten Bildrate abzulaufen bzw. ablaufen zu lassen. Zum Beispiel kann der Index-Wert –1 sein, wenn die bestimmte Parameter-Variation das vorbestimmte Software-Element nicht bei der vorbestimmten Bildrate ablaufen lassen kann. In einem anderen Beispiel kann der Index-Wert Null sein, wenn die bestimmte Parameter-Variation das vorbestimmte Software-Element unter Benutzung von einer oder mehreren Minimal-Einstellungen bei der vorbestimmten Bildrate ablaufen lassen kann. In noch einer anderen Ausführungsform kann der Index-Wert (n – 1) sein, wenn die bestimmte Parameter-Variation das vorbestimmte Software-Element unter Benutzung einer Maximal-Einstellung für eine Anwendung bei der vorbestimmten Bildrate ablaufen lassen kann, wobei n gleich ist der Anzahl von voreingestellten Einstellungen für jede der Mehrzahl von Parameter-Variationen, welche mittels der Anwendung unterstützt ist. Jede voreingestellte Einstellung entspricht einem Index.Also, in one embodiment, an index value (eg, an influence value, etc.) may be associated with each of the plurality of parameter variations (or their corresponding node in the DAG). In another embodiment, the index value associated with a particular parameter variation may correspond to an ability of the particular parameter variation to expire a predetermined software element at a predetermined frame rate. For example, the index value may be -1 if the particular parameter variation can not run the predetermined software element at the predetermined frame rate. In another example, the index value may be zero if the particular parameter variation can run the predetermined software element using one or more minimum settings at the predetermined frame rate. In yet another embodiment, the index value may be (n-1) if the determined parameter variation can run the predetermined software element using the maximum setting for an application at the predetermined frame rate, where n is equal to Number of preset settings for each of the plurality of parameter variations supported by the application. Each preset setting corresponds to an index.

In noch einer anderen Ausführungsform kann der Index-Wert, welcher mit einer bestimmten Parameter-Variation assoziiert ist, eine Menge (z. B. Stärke, etc.) des Einflusses beeinflussen, welcher mittels der bestimmten Parameter-Variation bezüglich darauf ausgeübt wird, wie die Einstellungen bestimmt werden. Zum Beispiel kann ein Votum mittels der bestimmten Parameter-Variation für eine bestimmte Einstellung, welche für jede der Mehrzahl von Parameter-Variationen eingestellt ist, erhöht oder erniedrigt werden proportional mittels des Index-Wertes, welcher mit der bestimmten Parameter-Variation assoziiert ist (z. B. mittels eines Multiplizierens des Votums mittels des Index-Wertes etc.). Auf diese Weise können Parameter-Variationen, welche mit größerer Wahrscheinlichkeit die Einstellungen benutzen, mehr Einfluss darauf haben, wie die Einstellungen bestimmt werden.In yet another embodiment, the index value associated with a particular parameter variation may affect an amount (eg, magnitude, etc.) of the influence exerted thereon by the particular parameter variation as to the settings are determined. For example, a vote may be incremented or decremented by the particular parameter variation for a particular setting set for each of the plurality of parameter variations, in proportion to the index value associated with the particular parameter variation (e B. by means of a multiplication of the vote by means of the index value etc.). In this way, parameter variations, which are more likely to use the settings, may have more influence on how the settings are determined.

Zusätzlich kann in einer Ausführungsform eine Nichtübereinstimmung bzw. ein Unterschied zwischen der Mehrzahl von Parameter-Variationen (oder entsprechenden Knoten in dem DAG) während eines Votierens für bestimmte Einstellungen identifiziert werden, welche für jede der Mehrzahl von Parameter-Variationen einzustellen sind. Zum Beispiel kann ein Teil der Mehrzahl von Parameter-Variationen (oder ihre entsprechenden Knoten in dem DAG) für eine bestimmte Einstellung votieren, welche für jede der Mehrzahl von Parameter-Variationen einzustellen ist, und ein anderer Teil der Mehrzahl von Parameter-Variationen (oder ihre entsprechenden Knoten in dem DAG) kann für eine andere bestimmte Einstellung votieren, welche für jede der Mehrzahl von Parameter-Variationen einzustellen ist.Additionally, in one embodiment, a mismatch between the plurality of parameter variations (or corresponding nodes in the DAG) may be identified during voting for particular settings to be set for each of the plurality of parameter variations. For example, a portion of the plurality of parameter variations (or their corresponding nodes in the DAG) may vote for a particular setting to be set for each of the plurality of parameter variations, and another portion of the plurality of parameter variations (or their corresponding nodes in the DAG) may vote for another particular setting to be set for each of the plurality of parameter variations.

In Antwort auf die Identifikation der Nichtübereinstimmung zwischen der Mehrzahl von Parameter-Variationen kann die Mehrzahl von Parameter-Variationen in eine Mehrzahl von Untergruppen aufgeteilt werden (z. B. kleinere DAGs, etc.). Wenn z. B. ein vorbestimmter Prozentsatz der Mehrzahl von Parameter-Variationen (oder ihre entsprechenden Knoten in dem DAG) für eine bestimmte Einstellung votieren, welche verschieden ist von Einstellungen, für welche andere Parameter-Variationen (oder ihre entsprechenden DAG-Knoten) votiert haben, kann der bestimmte Prozentsatz der Mehrzahl von Parameter-Variationen von dem DAG entfernt werden und in einen Unter-DAG zur Einstellungs-Bestimmung platziert werden. Auf diese Weise kann eine Einstellungs-Bestimmung für bestimmte Parameter-Variation in jeder Untergruppe effizienter bestimmt werden.In response to the identification of the mismatch between the plurality of parameter variations, the plurality of parameter variations may be divided into a plurality of subgroups (eg, smaller DAGs, etc.). If z. For example, a predetermined percentage of the plurality of parameter variations (or their corresponding nodes in the DAG) may vote for a particular setting that is different from settings for which other parameter variations (or their corresponding DAG nodes) have voted the certain percentage of the plurality of parameter variations are removed from the DAG and placed in a sub-DAG for the setting determination. In this way, a setting determination for certain parameter variation in each subgroup can be determined more efficiently.

Illustrativere Information wird nun bezüglich verschiedener optionaler Architekturen und Merkmale ausgeführt werden, mit denen das vorangehende Rahmen-Werk implementiert werden kann oder nicht implementiert zu werden braucht, je nach den Wünschen des Benutzers. Es sollte deutlich bemerkt werden, dass die folgende Information für illustrative Zwecke ausgeführt ist und nicht interpretiert werden sollte, in irgendeiner Weise zu begrenzen. Irgendwelche der folgenden Merkmale können optional mit oder ohne den Ausschluss von anderen beschriebenen Merkmalen inkorporiert werden.More illustrative information will now be performed on various optional architectures and features with which the previous framework work may or may not be implemented, depending on the wishes of the user. It should be clearly noted that the following information is for illustrative purposes and should not be interpreted as limiting in any way. Any of the following features may be optional with or incorporated without the exclusion of other described features.

2 zeigt ein Verfahren 200 zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen in Übereinstimmung mit einer anderen Ausführungsform. Als eine Option kann das Verfahren 200 in dem Zusammenhang der Funktionalität von 1 ausgeführt werden. Natürlich kann jedoch das Verfahren 200 in irgendeiner gewünschten Umgebung implementiert werden. Es sollte bemerkt werden, dass die zuvor erwähnten Definitionen während der vorliegenden Beschreibung gelten können. 2 shows a method 200 for simultaneously determining a plurality of optimal settings in accordance with another embodiment. As an option, the procedure 200 in the context of the functionality of 1 be executed. Of course, however, the procedure may 200 be implemented in any desired environment. It should be noted that the aforementioned definitions may apply throughout the present description.

Wie in Operation 202 gezeigt ist, wird eine Mehrzahl von Parameter-Variationen, welche mit einem Gerät assoziiert sind, identifiziert. In einer Ausführungsform kann die Mehrzahl von Parameter-Variationen Parameter-Variationen umfassen, welche mit einer Anzeige des Personal-Computers assoziiert sind. Zum Beispiel kann die Mehrzahl von Parameter-Variationen eine Schirm-Auflösung des Personal-Computers umfassen. In einer anderen Ausführungsform kann die Mehrzahl von Parameter-Variationen Parameter-Variationen umfassen, welche mit dem Rendern von Grafik mittels des Personal-Computers assoziiert ist. Zum Beispiel kann die Mehrzahl von Parameter-Variationen Spezifitäten von System-Hardware, welche in dem Gerät installiert ist (z. B. CPU-Spezifitäten, GPU-Spezifitäten, Hauptplatine-Spezifitäten, RAM-Spezifitäten, etc.) umfassen, Spezifitäten von System-Software, welche innerhalb des Gerätes installiert ist, etc.As in operation 202 is shown, a plurality of parameter variations associated with a device are identified. In one embodiment, the plurality of parameter variations may include parameter variations associated with a display of the personal computer. For example, the plurality of parameter variations may include a screen resolution of the personal computer. In another embodiment, the plurality of parameter variations may include parameter variations associated with rendering graphics using the personal computer. For example, the plurality of parameter variations may include specificities of system hardware installed in the device (eg, CPU specificities, GPU specificities, motherboard specificities, RAM specificities, etc.), system specificities Software installed inside the device, etc.

Wie in Operation 204 gezeigt ist, wird zusätzlich ein DAG mit einer Mehrzahl von Knoten konstruiert, wobei jeder der Mehrzahl von Knoten einer der Mehrzahl von Parameter-Variationen entspricht. In einer Ausführungsform können die Knoten in dem DAG basierend auf einer oder mehreren Regeln gerichtet sein. Zum Beispiel können die Knoten innerhalb des DAG basierend auf der Geschwindigkeit gerichtet sein, welche mit jedem Knoten assoziiert ist, wobei die Geschwindigkeit basierend auf den Parameter-Variationen bestimmt ist, welche mittels des Knotens repräsentiert sind. In einer anderen Ausführungsform können die Knoten in dem DAG derart gerichtet sein, dass ein erster Knoten des DAG auf einen zweiten Knoten des DAG zeigt, wenn bestimmt ist, dass der zweite Knoten des DAG definitiv in einer oder in mehreren Hinsichten (z. B. hinsichtlich von Verarbeitungs-Geschwindigkeit, etc.) schneller ist als der erste Knoten des DAG.As in operation 204 In addition, a DAG is constructed with a plurality of nodes, wherein each of the plurality of nodes corresponds to one of the plurality of parameter variations. In an embodiment, the nodes in the DAG may be directed based on one or more rules. For example, the nodes within the DAG may be directed based on the velocity associated with each node, the velocity being determined based on the parameter variations represented by the node. In another embodiment, the nodes in the DAG may be directed such that a first node of the DAG points to a second node of the DAG if it is determined that the second node of the DAG is definitely in one or more respects (e.g. in terms of processing speed, etc.) is faster than the first node of the DAG.

Auch kann in einer Ausführungsform jeder Knoten in dem DAG eine eigentümliche bzw. eindeutige (unique) Variation einer Mehrzahl von möglichen Parametern repräsentieren, welche mit dem Gerät assoziiert sind. Zum Beispiel kann die Mehrzahl von möglichen Parametern, welche mit dem Gerät assoziiert sind, eine Geräte-CPU, eine Geräte-GPU, eine Geräte-Auflösung, umfassen und jeder Knoten in dem DAG kann eine einzigartige bzw. eindeutige Kombination einer bestimmten Geräte-CPU, Geräte-GPU und Geräte-Auflösung repräsentieren. Auf diese Weise zeigt ein erster Knoten, welcher auf einen zweiten Knoten innerhalb des DAG zeigt, an, dass die Mehrzahl von Parameter-Variationen, welche mit dem Gerät assoziiert sind, welche mittels des zweiten Knotens in dem DAG repräsentiert sind, definitiv eine bessere Verarbeitungs-Geschwindigkeit und Performance bieten, als die Mehrzahl von Parameter-Variationen, welche mit dem Gerät assoziiert sind, welche mittels des ersten Knotens in dem DAG repräsentiert sind.Also, in one embodiment, each node in the DAG may represent a unique variation of a plurality of possible parameters associated with the device. For example, the plurality of possible parameters associated with the device may include a device CPU, a device GPU, a device resolution, and each node in the DAG may have a unique combination of a particular device CPU , Device GPU and device resolution represent. In this way, a first node pointing to a second node within the DAG indicates that the plurality of parameter variations associated with the device represented by the second node in the DAG are definitely better processing Provide speed and performance as the plurality of parameter variations associated with the device represented by the first node in the DAG.

Wie in Operation 206 gezeigt ist, wird ferner ein Populations-Wert, welcher mit jedem Knoten assoziiert ist, jedem Knoten zugewiesen. In einer Ausführungsform kann eine Mehrzahl von Populations-Werten als ein Ergebnis von analytischen Operationen erhalten werden. In einer anderen Ausführungsform kann die Mehrzahl von Populations-Werten Telemetrie-Daten umfassen. In noch einer anderen Ausführungsform kann die Mehrzahl von Populations-Werten von einer Populations-Wert-Datenbank abgerufen werden. In noch einer anderen Ausführungsform kann der Populations-Wert, welcher jedem Knoten zugewiesen ist, eine Benutzer-Population repräsentieren, welche ein Gerät besitzt, welches die Parameter-Variationen hat, welche diesem Knoten entsprechen.As in operation 206 In addition, a population value associated with each node is assigned to each node. In one embodiment, a plurality of population values may be obtained as a result of analytical operations. In another embodiment, the plurality of population values may include telemetry data. In yet another embodiment, the plurality of population values may be retrieved from a population value database. In yet another embodiment, the population value assigned to each node may represent a user population having a device having the parameter variations corresponding to that node.

In einer Ausführungsform ist eine Population einem neuen Knoten unter Benutzung eines „Proxy”-Mechanismus zugewiesen. Der neue Knoten kann einer neuen Konfiguration entsprechen einschließlich einer neuen GPU, und/oder einer neuen CPU, und/oder einer neuen Anzeige-Auflösung. Weil neue Knoten natürlicherweise eine Benutzerbasis von anfänglich Null haben, kann der neue Knoten die Populations-Werte von einer anderen Konfiguration in derselben Klasse wie der neue Knoten „borgen”, vorzugsweise von der vorherigen Generation. Zum Beispiel kann eine neue Konfiguration die Populations-Werte einer existierenden Konfiguration borgen, welche für eine ausreichend lange Zeit in Benutzung gewesen ist, um eine etablierte und definierbare Benutzer-Basis zu haben. Die existierende Konfiguration dient als ein „Proxy” für den neuen Knoten. Zum Beispiel kann die existierende Konfiguration verdoppelt werden, sowie auch die assoziierten Populations-Werte, wobei die GPU durch eine neue GPU ersetzt wird. Der „Proxy”-Mechanismus ermöglicht eine Präpopulation eines DAG mit historischen Daten, um die neuen Knoten zu initialisieren, selbst bevor die neue Konfiguration in den Markt entlassen ist.In one embodiment, a population is assigned to a new node using a "proxy" mechanism. The new node may correspond to a new configuration including a new GPU, and / or a new CPU, and / or a new display resolution. Because new nodes naturally have a user base of initially zero, the new node may "borrow" the population values from another configuration in the same class as the new node, preferably from the previous generation. For example, a new configuration may borrow the population values of an existing configuration that has been in use for a sufficiently long time to have an established and definable user base. The existing configuration serves as a "proxy" for the new node. For example, the existing configuration can be doubled as well as the associated population values, replacing the GPU with a new GPU. The "proxy" mechanism allows for pre-population of a DAG with historical data to initialize the new nodes, even before the new configuration is released to the market.

Wie in Operation 208 gezeigt ist, ist ferner ein Index-Wert mit jedem Knoten assoziiert. In einer Ausführungsform kann ein Index-Wert für einen Knoten dadurch bestimmt werden, dass eine Fähigkeit der bestimmten Parameter-Variationen, welche mittels dieses Knotens repräsentiert ist, berechnet wird, ein vorbestimmtes Software-Element bei einer vorbestimmten Bildrate abzulaufen bzw. ablaufen zu lassen. In einer anderen Ausführungsform kann ein Index-Wert für einen Knoten basierend auf der Stellung des Knotens innerhalb des DAGs bestimmt werden. In einer Ausführungsform werden z. B. stärkeren Knoten in dem DAG höhere Index-Werte zugewiesen.As in operation 208 In addition, an index value is associated with each node. In a Embodiment, an index value for a node may be determined by computing an ability of the particular parameter variations represented by that node to run a predetermined software element at a predetermined frame rate. In another embodiment, an index value for a node may be determined based on the position of the node within the DAG. In one embodiment, for. For example, stronger nodes in the DAG are assigned higher index values.

Wie auch in Operation 210 gezeigt ist, werden optimale voreingestellte Einstellungen für jede der Mehrzahl von Parameter-Variationen bestimmt, unter Benutzung der Populations-Werte und der Index-Werte. In einer Ausführungsform können die optimalen voreingestellten Einstellungen eine monotone Menge von Voreinstellungen für das Gerät umfassen. In einer anderen Ausführungsform kann die monotone Menge von Voreinstellungen bezüglich zu einem oder mehreren Software-Elementen bestimmt werden, welche auf dem Gerät installiert sind. Zum Beispiel kann die monotone Menge von Voreinstellungen für eine Instanz einer Anwendung (z. B. Videospiel-Software, Medien-Abspiel-Software, etc.) bestimmt werden, welche auf dem Gerät installiert ist. In noch einer anderen Ausführungsform kann die monotone Menge von Voreinstellungen bezüglich zu einem oder mehreren Software-Elementen bestimmt werden, welche auf dem Gerät zu installieren sind (z. B. noch nicht auf dem Gerät installiert, etc.).As well as in surgery 210 2, optimal default settings are determined for each of the plurality of parameter variations, using the population values and the index values. In one embodiment, the optimal default settings may include a monotonous set of preferences for the device. In another embodiment, the monotone set of preferences may be determined with respect to one or more software elements installed on the device. For example, the monotone set of presets may be determined for an instance of an application (eg, video game software, media player software, etc.) installed on the device. In yet another embodiment, the monotone set of presets may be determined with respect to one or more software elements to be installed on the device (eg, not yet installed on the device, etc.).

In noch einer anderen Ausführungsform kann die monotone Menge von Voreinstellungen die Geräte-Einstellungen repräsentieren (sowohl abhängig als auch unabhängig), welche die Art und Weise bzw. den Weg beeinflussen, wie das Gerät ein oder mehrere Software-Elemente abläuft. Zum Beispiel kann jede der monotonen Menge von Voreinstellungen ein Textur-Abbildungs-Niveau (texture mapping level) von angezeigter Grafik diktieren, welches mittels des Geräts bereitgestellt ist, ein Beleuchtungs- bzw. Beleuchtungs-Modell (lighting model), welches mittels des Geräts während der Anzeige von Grafik benutzt wird, ein Antialising-Niveau, ein Objektdetail-Niveau, etc.In yet another embodiment, the monotone set of presets may represent the device settings (both dependent and independent) that affect the way the device executes one or more software elements. For example, each of the monotonous set of presets may dictate a texture mapping level of displayed graphics provided by the device, a lighting model that may be displayed by the device during the display of graphics is used, an antialising level, an object detail level, etc.

Zusätzlich kann in einer Ausführungsform Bestimmen der optimalen voreingestellten Einstellungen umfassen Bestimmen einer Mehrzahl von Performance-Leveln für das Gerät. Zum Beispiel kann eine Mehrzahl von abnehmenden Performance-Leveln (z. B. von einem Maximal-Performance-Level zu einem Minimal-Performance-Level, etc.) für das Gerät bestimmt werden (z. B. unter Benutzung von einem oder mehreren Benchmarks, etc.), wobei jedes aufeinander folgende bzw. nachfolgende Performance-Level anzeigt, dass das Gerät bei einer geringen Rate, weniger effizient, oder in einer anderen weniger gewünschten Weise durchführt (z. B. abläuft, berechnet, etc.), wenn verglichen mit dem vorherigen Level. In einer anderen Ausführungsform kann das Performance-Level mit einem Level von Ressourcen, welche von dem Gerät benutzt werden, assoziiert sein. Zum Beispiel kann das Performance-Level eine Menge von Verarbeitungs-Ressourcen, welche von dem Gerät benutzt werden, eine Menge von Software-Ressourcen, welche mittels des Geräts benutzt werden, eine Menge von Netzwerk-Ressourcen, welches mittels des Gerätes benutzt werden, eine Bildrate, welche mittels des Geräts bereitgestellt ist, eine Energie-Ressource, welche mittels des Geräts benutzt ist, etc. anzeigen. Zum Beispiel kann, wenn ein Gerät unter Benutzung von Batterie-Energie betrieben wird (im Gegensatz zu eingesteckt in einen Energie-Versorgungs-Auslass), die Bildqualität vermindert werden, um Energie-Verbrauch zu reduzieren und Batterie-Lebenszeit zu erhöhen.Additionally, in one embodiment, determining the optimal preset settings may include determining a plurality of performance levels for the device. For example, a plurality of decreasing performance levels (eg, from a maximum performance level to a minimum performance level, etc.) may be determined for the device (eg, using one or more benchmarks , etc.), where each successive or subsequent performance level indicates that the device is performing at a low rate, less efficiently, or in some other less desirable manner (eg expires, calculated, etc.) when compared to the previous level. In another embodiment, the performance level may be associated with a level of resources used by the device. For example, the performance level may include a quantity of processing resources used by the device, a set of software resources used by the device, a set of network resources used by the device Frame rate, which is provided by the device, a power resource, which is used by means of the device, etc. display. For example, when a device is operated using battery power (as opposed to being plugged into a power supply outlet), image quality may be reduced to reduce power consumption and increase battery life.

Ferner kann in einer Ausführungsform Bestimmen der optimalen voreingestellten Einstellungen umfassen Bestimmen einer Mehrzahl von Bildqualitäts-Levels für das Gerät. Zum Beispiel kann eine Mehrzahl von aufsteigenden Bildqualität-Levels (z. B. von einem Minimal-Bildqualitäts-Level zu einem Maximal-Bildqualitäts-Level etc.) für das Gerät bestimmt werden, wobei jeder aufeinander folgende Bildqualitäts-Level anzeigt, dass die Bildqualität, welche von dem Gerät angezeigt ist (z. B. ein oder mehr der Auflösung, Farbe, Detail, etc.) ansteigt, wenn mit dem vorherigen Level verglichen.Further, in one embodiment, determining the optimal preset settings may include determining a plurality of image quality levels for the device. For example, a plurality of ascending image quality levels (eg, from a minimum image quality level to a maximum image quality level, etc.) may be determined for the device, wherein each successive image quality level indicates that the image quality which is displayed by the device (eg, one or more of resolution, color, detail, etc.) increases when compared to the previous level.

Noch weiter kann in einer Ausführungsform jeder der Mehrzahl von Performance-Levels mit einer der Mehrzahl von Bildqualitäts-Levels für das Gerät assoziiert sein. Zum Beispiel kann jeder aufeinander folgend absteigende Performance-Level mit einem aufeinander folgend ansteigenden Bildqualitäts-Level derart assoziiert sein, dass, wenn die Performance des Gerätes abnimmt oder ein Level für das Gerät verfügbarer Energie, die mittels des Gerätes produzierte Bildqualität ansteigt. In einer anderen Ausführungsform kann der Bildqualitäts-Level für jedes der Mehrzahl von Performance-Level maximiert werden, basierend auf der Mehrzahl von Parameter-Variationen des Gerätes.Still further, in one embodiment, each of the plurality of performance levels may be associated with one of the plurality of image quality levels for the device. For example, each successive descending performance level may be associated with a sequentially increasing image quality level such that as the performance of the device decreases or a level of available energy to the device increases, the image quality produced by the device increases. In another embodiment, the image quality level for each of the plurality of performance levels may be maximized based on the plurality of parameter variations of the device.

Zum Beispiel kann für jedes bestimmte Performance-Level oder Level von Energie/Leistung eine Maximal-Bildqualität bestimmt werden, welche von dem Gerät bereitgestellt werden kann, basierend auf der Mehrzahl von Parameter-Variationen des Gerätes. In einer Ausführungsform kann die Maximal-Bildqualität unter Benutzung eines gierigen Algorithmus berechnet werden. In einer anderen Ausführungsform kann die Maximal-Bildqualität unter Benutzung eines erschöpfenden Algorithmus berechnet werden. Natürlich kann jedoch die Maximal-Bildqualität für jeden Performance-Level in irgendeiner Weise berechnet werden. Auf diese Weise können Voreinstellungen monoton ansteigen im Sinne von Bildqualität und monoton abfallen im Sinne von Performance.For example, for each particular performance level or level of energy / power, a maximum image quality may be determined which may be provided by the device based on the plurality of parameter variations of the device. In one embodiment, the maximum image quality can be calculated using a greedy algorithm. In another embodiment, the maximum image quality may be calculated using an exhaustive algorithm. Of course, however, the maximum Image quality for each performance level can be calculated in some way. In this way, presets can increase monotonically in terms of image quality and monotonically decrease in terms of performance.

Auch kann in einer Ausführungsform die Maximal-Bildqualität unter Benutzung einer analogen Zugangsweise bestimmt werden. Zum Beispiel kann eine Mehrzahl von Einstellungs-Elementen, eine „Bang-for-buck”-Indikator und ein „Scheitern”-Indikator bereitgestellt sein. In einem anderen Beispiel kann jedes Einstellungs-Element eine Eigenschaft in der Anwendung repräsentieren. In noch einem anderen Beispiel kann jedes Einstellungs-Element in diskreten Schritten eingestellt werden. In einer anderen Ausführungsform kann der „Bang-for-buck”-Indikator einen Gesamt-Wert (z. B. eine Bildqualität mal einer Bildrate) für eine vorhandene Voreinstellung zurückgeben. In noch einer anderen Ausführungsform kann der „Scheitern”-Indikator aktiviert werden, wenn und nur wenn die Voreinstellung ungültig ist. Das kann benötigt werden, wenn es abhängige Variablen gibt und einige Kombinationen von Einstellungs-Elementen tatsächlich ungültig sind.Also, in one embodiment, the maximum image quality may be determined using an analogue approach. For example, a plurality of adjustment elements, a "bang-for-buck" indicator and a "failure" indicator may be provided. In another example, each adjustment item may represent a property in the application. In yet another example, each adjustment item may be adjusted in discrete steps. In another embodiment, the "bang-for-buck" indicator may return a total value (eg, an image quality times a frame rate) for an existing preset. In yet another embodiment, the "fail" indicator may be activated if and only if the default is invalid. This may be needed if there are dependent variables and some combinations of preference items are actually invalid.

Zum Beispiel haben die zwei Einstellungs-Elemente A und B Stopps Falsch und Wahr, aber das Einstellungs-Element B kann nur auf Wahr gesetzt werden, wenn und nur wenn Einstellungs-Element A auch auf Wahr gesetzt ist. In solch einem Fall kann der „Scheitern”-Indikator nur aktiviert werden, wenn Einstellungs-Element A auf Falsch gesetzt ist und Einstellungs-Element B auf Wahr gesetzt ist. In einer anderen Ausführungsform kann angenommen werden, dass Stopps derart geordnet sind, dass ein Einstellen eines Einstellungs-Elements eins hoch (up one) Stopp immer zu gleicher/besserer Bildqualität und gleicher/schlechterer Performance führt.For example, the two setting items A and B have stops False and True, but the setting item B can only be set to true if and only if setting item A is also true. In such a case, the "fail" indicator can be activated only if setting item A is set to false and setting item B is set to true. In another embodiment, it may be assumed that stoppages are arranged such that setting an adjustment item one high up always results in equal / better picture quality and equal / worse performance.

Zusätzlich kann in einer Ausführungsform in einer simultanen Weise für jede der Parameter-Variationen ein monotone-Menge-Bestimmungs-Algorithmus damit starten, dass alle Einstellungs-Elemente auf ihre Minimal-Level werden vollständig herunter geregelt (d. h. ihre „Minimalsatz”-Werte). Nun kann ein Einstellungs-Element zu einer Zeit, jedes Einstellungs-Element temporär inkrementell genau ein Stopp bis zu seinem Maximal-Wert hochgedreht werden (d. h., wenn das Einstellungs-Element vollständig bis 10 von 10 hochgedreht ist, wird es nicht auf 11 hochdrehen). Wenn der „Scheitern”-Indikator nicht aktiviert, kann der „Bang-for-buck”-Indikator-Wert aufgezeichnet werden, bevor dieses Einstellungs-Element zurück auf seine ursprüngliche Position gesetzt wird. Sobald alle Einstellungs-Elemente inkrementell nach oben gedreht worden sind, wird das Element, welches den höchsten „Bang-for-buck”-Indikator-Wert produziert (und welches noch gültig war) permanent ein Stopp eingestellt (adjusted one stop). Dieser Prozess kann auf diese Weise wiederholt werden, bis alle Einstellungs-Elemente bei ihrer Maximal-Einstellung sind (d. h. ihren „Maximalsatz”-Werten). Die Sequenz von (#Stopps-#Einstellungs-Elementen + 1) Voreinstellungen, welche gewählt wurden, können optimale monotone Voreinstellungen repräsentieren.Additionally, in one embodiment, in a simultaneous manner, for each of the parameter variations, a monotone set determination algorithm may start with all of the adjustment elements being completely downshifted to their minimum levels (i.e., their "minimum set" values). Now, one setting item at a time, each setting item, can be incrementally incrementally incremented exactly one stop up to its maximum value (ie, if the adjustment item is fully turned up to 10 out of 10, it will not turn up to 11) , If the "failure" indicator is not activated, the "bang-for-buck" indicator value may be recorded before this adjustment item is reset to its original position. Once all of the adjustment elements have been incrementally turned up, the element producing the highest "bang-for-buck" indicator value (and which was still valid) is permanently set to a stop (adjusted one stop). This process can be repeated in this manner until all the adjustment items are at their maximum setting (i.e., their "maximum set" values). The sequence of (# stop # setting items + 1) presets that have been selected can represent optimal monotone presets.

Ferner kann in einer anderen Ausführungsform in einer simultanen Weise für jede der Parameter-Variationen ein monotone-Menge-Bestimmungs-Algorithmus damit starten, dass alle Einstellungs-Elemente vollständig hoch auf ihre Maximal-Level gedreht sind (d. h. ihre „Maximalsatz”-Werte). Nun kann, ein Einstellungs-Element zu einer Zeit, jedes Einstellungs-Element temporär inkrementell genau ein Stopp nach unten gedreht werden. Wenn der „Scheitern”-Indikator nicht aktiviert, dann kann der „Bang-for-buck”-Indikator aufgezeichnet werden, bevor dieses Einstellungs-Element zurück auf seine ursprüngliche Position gesetzt wird. Sobald alle Einstellungs-Elemente inkrementell nach unten gedreht worden sind, wird das Element, welches den höchsten „Bang-for-buck”-Indikator-Wert produzierte (und noch gültig war) permanent einen Stopp eingestellt. Dieser Prozess kann in dieser Weise wiederholt werden, bis alle Einstellungs-Elemente bei ihrer Maximal-Einstellung sind (d. h. ihren „Maximalsatz”-Werten).Further, in another embodiment, in a simultaneous manner, for each of the parameter variations, a monotonic quantification algorithm may start with all of the tuning elements fully rotated to their maximum levels (ie, their "maximum-set" values). , Now, one setting item at a time, each setting item can be incrementally incrementally turned exactly one stop down. If the "failure" indicator is not activated, then the "bang-for-buck" indicator may be recorded before this adjustment item is reset to its original position. Once all the adjustment elements have been incrementally turned down, the element which produced the highest "bang-for-buck" indicator value (and was still valid) is permanently stopped. This process can be repeated in this manner until all the adjustment items are at their maximum setting (i.e., their "maximum set" values).

Noch weiter können in einer Ausführungsform in einer simultanen Weise für jede der Parameter-Variationen ein oder mehrere der monotone-Menge-Bestimmungs-Algorithmen damit starten, dass alle Einstellungs-Elemente vollständig nach unten auf ihre Minimal-Level gedreht sind, und einer oder mehrere der monotone-Menge-Bestimmungs-Algorithmen kann damit starten, dass alle Einstellungs-Elemente vollständig nach oben auf ihre Maximal-Level gedreht sind. Zusätzlich können Einstellungen inkrementell mittels jedes der Algorithmen gemacht werden, bis die Einstellungen konvergieren. Auf diese Weise können optimale Voreinstellungs-Einstellungen in einer beschleunigten Weise bestimmt werden. Zusätzlich können schnellere Konfigurationen Einstellungs-Einstellungen beeinflussen, welche von Wichtigkeit für sie sind und können Voreinstellungs-Einstellungen vermeiden, welche mit langsameren Konfigurationen assoziiert sind oder mittels langsamerer Konfigurationen bestimmt sind.Still further, in one embodiment, in a simultaneous manner, for each of the parameter variations, one or more of the monotonic amount determination algorithms may start with all of the adjustment elements completely turned down to their minimum levels, and one or more The monotone quantitation algorithms may start with all of the tuning elements fully flipped up to their maximum levels. In addition, adjustments can be made incrementally using each of the algorithms until the settings converge. In this way, optimal default settings can be determined in an expedited manner. In addition, faster configurations may affect adjustment settings that are of importance to them and may avoid preset settings associated with slower configurations or determined by slower configurations.

Auch kann in einer Ausführungsform jeder der Mehrzahl von Knoten in dem DAG darüber abstimmen, welches Einstellungs-Element zu manipulieren ist (z. B. Erhöhen oder Erniedrigen, etc.). Zum Beispiel kann jeder der Mehrzahl von Knoten in dem DAG ein Votum abgeben darüber, welches Einstellungs-Element temporär inkrementell hochgedreht oder herunter gedreht werden soll genau ein Stopp für jede der Parameter-Variationen, welche den Knoten in dem DAG entsprechen. In einer anderen Ausführungsform kann das Einstellungs-Element, welches die größte Anzahl von Voten erhält, ausgewählt werden, für jeden Knoten inkrementell hoch oder runter gedreht zu werden.Also, in one embodiment, each of the plurality of nodes in the DAG may vote on which setting item to manipulate (eg, increase or decrease, etc.). For example, each of the plurality of nodes in the DAG may vote on which setting item to incrementally increment or decrement incrementally, just one stop for each of the parameter variations corresponding to the node in the DAG. In another embodiment, the adjustment element, which receives the largest number of votes, are selected to be incrementally turned up or down for each node.

In einer anderen Ausführungsform kann das Votum jedes Knotens gemäß dem Populations-Wert und dem Index-Wert, welcher mit diesem Knoten assoziiert ist bzw. sind, eingestellt werden. Zum Beispiel kann das Votum jedes Knotens in Proportion zu seinem Populations-Wert erhöht werden und kann gemäß seines Index-Wertes erhöht oder erniedrigt werden. Auf diese Weise kann populäreren und relevanteren Knoten in dem DAG ein größeres Gewicht während des Votierens gegeben werden.In another embodiment, the vote of each node may be adjusted according to the population value and the index value associated with that node. For example, the vote of each node may be increased in proportion to its population value and may be increased or decreased according to its index value. In this way, more popular and relevant nodes in the DAG can be given greater weight during voting.

Zusätzlich können optimale Voreinstellungs-Einstellungen für jede der Mehrzahl von Parameter-Variationen simultan bestimmt werden, wobei solche Voreinstellungen von einer niedrigsten Einstellung (z. B. „Min-Satz”, etc.) zu einer höchsten Einstellung (z. B. „Max-Satz”, etc.) reichen können und was „Bang-for-buck” (z. B. Bildqualität pro Performance-Einheit, etc.) bei jedem Schritt entlang des Weges maximieren kann. Ferner kann die Ordnung der monotonen Mehrzahl von Voreinstellungen derart aufrechterhalten werden, dass Monotonität von Performance und Bildqualität garantiert werden kann, wenn Parameter-Enumeratoren jeweils in derselben Weise geordnet sind. Ferner können optimale Voreinstellungs-Einstellungen für die Mehrzahl von Parameter-Variationen bestimmt werden, derart, dass Bildqualität bezüglich Performance-Kosten für jede der optimalen Voreinstellungs-Einstellungen maximiert werden kann.In addition, optimal default settings for each of the plurality of parameter variations may be determined simultaneously, with such presets varying from a lowest setting (eg, "Min Set", etc.) to a highest setting (eg, "Max Sentence ", etc.) and what" bang-for-buck "(eg image quality per unit performance, etc.) can maximize at each step along the way. Furthermore, the order of the monotone plurality of presets can be maintained such that performance and image quality monotony can be guaranteed when parameter enumerators are each ordered in the same way. Further, optimal default settings may be determined for the plurality of parameter variations such that image quality can be maximized in terms of performance cost for each of the optimal default settings.

3A zeigt einen beispielhaften Parameter-DAG 300 in Übereinstimmung mit einer anderen Ausführungsform. Als eine Option kann der exemplarische Parameter-DAG 300 in dem Zusammenhang der Funktionalität von 12 ausgeführt werden. Natürlich kann jedoch der exemplarische Parameter-DAG 300 in irgendeiner gewünschten Umgebung implementiert werden. Es sollte auch bemerkt werden, dass die zuvor erwähnten Definitionen während der vorliegenden Beschreibung gelten können. 3A shows an exemplary parameter DAG 300 in accordance with another embodiment. As an option, the exemplary parameter DAG 300 in the context of the functionality of 1 - 2 be executed. Of course, however, the exemplary parameter DAG 300 be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply throughout the present description.

Wie gezeigt ist, umfasst der exemplarische Parameter-DAG 300 eine Mehrzahl von Knoten 302A–I, welche jeweils einer einzigartigen Kombination eines ersten Satzes 304 von Variationen 306A–C einer ersten Komponente (z. B. ein CPU-Typ, etc.) eines Personal-Computers und eines zweiten Satzes 308 von Variationen 310A–C einer zweiten Komponente (z. B. ein GPU-Typ) des Personal-Computers entsprechen. In einer Ausführungsform kann der DAG 300 einen gerichteten Graphen mit keinen gerichteten Zyklen umfassen, welche mittels der Kollektion von Knoten 302A–I (z. B. Vertizes, etc.) und einer Mehrzahl von gerichteten Kanten 312 gebildet ist, derart, dass es keinen Weg gibt, um bei irgendeinem Knoten in dem DAG 300 zu starten und einer Sequenz von Kanten zu folgen, welche schließlich wiederum zurück führen (loops back) zu diesem Start-Knoten.As shown, the exemplary parameter DAG includes 300 a plurality of nodes 302A -I, each of which is a unique combination of a first sentence 304 of variations 306A -C a first component (eg, a CPU type, etc.) of a personal computer and a second set 308 of variations 310A -C correspond to a second component (eg, a GPU type) of the personal computer. In one embodiment, the DAG 300 comprise a directed graph with no directed cycles generated by the collection of nodes 302A -I (eg, vertices, etc.) and a plurality of directed edges 312 such that there is no way to connect to any node in the DAG 300 to start and follow a sequence of edges, which in turn lead back (loops back) to this start node.

Zusätzlich sind die Knoten in sowohl dem ersten Satz 304 von Variationen 306A–C der ersten Komponente und in dem zweiten Satz 308 von Variationen 310A–C der zweiten Komponente basierend auf Verarbeitungs-Geschwindigkeit gerichtet, wobei langsamere Knoten auf schneller Knoten zeigen. Als solche ist der erste Knoten 306A der langsamste Knoten in dem ersten Satz 304. Der zweite Knoten 306B ist schneller als der erste Knoten 306A aber langsamer als der dritte Knoten 306C in dem ersten Satz 304 und der dritte Knoten 306C ist der schnellste Knoten in dem ersten Satz 304.Additionally, the nodes are in both the first sentence 304 of variations 306A -C the first component and in the second sentence 308 of variations 310A -C the second component based on processing speed, with slower nodes pointing to faster nodes. As such, the first node 306A the slowest node in the first sentence 304 , The second node 306B is faster than the first node 306A but slower than the third node 306C in the first sentence 304 and the third node 306C is the fastest node in the first sentence 304 ,

In einer Ausführungsform kann die Geschwindigkeit von jedem der Knoten 302A–I unter Benutzung von einem oder mehreren Algorithmen, Benchmark-Tests, Hersteller-Offenbarungen, etc. bestimmt werden. In einer anderen Ausführungsform kann die Stellung der Knoten 302A–I innerhalb des DAG 300 (einschließlich, welche Knoten auf welche Knoten weisen) dadurch bestimmt werden, dass Eigenschaften von Komponenten in jedem Knoten analysiert werden und die Gesamt-Verarbeitungs-Geschwindigkeit jedes der Knoten 302A–I verglichen wird.In one embodiment, the speed of each of the nodes 302A -I using one or more algorithms, benchmark tests, manufacturer disclosures, etc. In another embodiment, the position of the nodes 302A -I within the DAG 300 (including which nodes point to which nodes) can be determined by analyzing properties of components in each node and the overall processing speed of each of the nodes 302A -I is compared.

Wie gezeigt ist, zeigen zusätzlich gerichtete Kanten 312 von Knoten, welche langsameren eigentümlichen Kombinationen von Parameter-Variationen des Personal-Computers entsprechen, auf Knoten, welche zu eindeutig schnelleren eigentümlichen Kombinationen von Parameter-Variationen des Personal-Computers entsprechen. Auf diese Weise entspricht der untere Knoten 302I der schnellsten eigentümlichen Kombination von Parameter-Variationen des Personal-Computers, während der obere Knoten 302A der langsamsten eigentümlichen Kombination von Parameter-Variationen des Personal-Computers entspricht.As shown, additional directed edges are shown 312 of nodes corresponding to slower peculiar combinations of parameter variations of the personal computer on nodes corresponding to distinctly faster peculiar combinations of parameter variations of the personal computer. In this way, the lower node corresponds 302I the fastest peculiar combination of parameter variations of the personal computer, while the top node 302A corresponds to the slowest peculiar combination of parameter variations of the personal computer.

Optimieren mit SegmentationOptimize with Segmentation

Die Struktur des Parameter-DAG 300 ist gemäß Erhöhen von Verarbeitungs-Geschwindigkeit und/oder Performance der Parameter-Variationen bestimmt und die Einstellungen für jede Parameter-Variation können bestimmt werden, um Bildqualität und Performance für jede Parameter-Variation auszugleichen. In dem Zusammenhang der vorliegenden Beschreibung kann Verarbeitung und Performance sich auf Rendern, Abspielen, Berechnen, und andere Operationen oder Pixel-Auflösung beziehen. Die Parameter-Variationen können in Gruppen organisiert werden, um weitere Customisierung der optimalen Einstellungen basierend auf Endbenutzer-Erwartungen bereitzustellen. Endbenutzer-Erwartungen können basierend auf Verarbeitungs-Geschwindigkeit oder Performance-Level des Benutzer-Rechen-Systems variieren (d. h. ein Gerät, welches eine bestimmte Variation von Parametern hat, wie etwa eine CPU, GPU und/oder Anzeige-Auflösung). Zum Beispiel kann ein Endbenutzer, welcher ein Anwendungs-Programm auf einem Rechen-System ablaufen lässt, welches eine niedrigere Verarbeitungs-Geschwindigkeit hat, erwarten, eine niedrigere Bildrate zu erfahren, verglichen mit dem Ablaufenlassen desselben Anwendungs-Programms auf einem Rechen-System, welches eine höhere Verarbeitungs-Geschwindigkeit hat. Ähnlich kann ein Endbenutzer, welcher ein Anwendungs-Programm auf einem Rechen-System ablaufen lässt, welches geringere Verarbeitungs-Fähigkeiten im Sinne von Unterstützung für Charakteristiken hat, welche mittels der Einstellungen beeinflusst werden (z. B. Bildqualität, Klangqualität, Farbtiefe, Textur-Moden, Beleuchtungs-Modelle und dergleichen) erwarten, eine niedrige Qualitäts-Charakteristik zu erfahren verglichen mit dem Ablaufenlassen desselben Anwendungs-Programms auf einem Computer- oder Rechen-System, welches größere Verarbeitungs-Fähigkeiten hat.The structure of the parameter DAG 300 is determined according to increasing processing speed and / or performance of the parameter variations and the settings for each parameter variation may be determined to compensate for image quality and performance for each parameter variation. In the context of the present description, processing and performance may refer to rendering, playback, computation, and other operations or pixel resolution. The parameter variations can be organized into groups to further customize the optimal settings based on end user To provide expectations. End user expectations may vary based on processing speed or performance levels of the user computing system (ie, a device having a particular variation of parameters, such as a CPU, GPU, and / or display resolution). For example, an end user running an application program on a computing system that has a lower processing speed may expect to experience a lower frame rate compared to running the same application program on a computing system has a higher processing speed. Similarly, an end user running an application program on a computing system may have lower processing capabilities in terms of support for characteristics that are influenced by the settings (eg, image quality, sound quality, color depth, texture). Fashions, lighting models, and the like) expect to experience a low quality characteristic as compared to running the same application program on a computer or computing system having greater processing capabilities.

Ein Endbenutzer kann auch Willens sein, variierende Performance im Sinne einer Bildrate abhängig von dem Genre eines Spiel-Anwendungs-Programms zu akzeptieren, welches auf dem Rechen-System des Endbenutzers abläuft. Zum Beispiel kann ein Endbenutzer, welcher ein niedriger-Qualität-Rechensystem betreibt, im Sinne von Verarbeitungs-Geschwindigkeit Willens sein, eine ziemlich geringe Performance im Sinne einer Bildrate zu akzeptieren (z. B. 25 Bilder pro Sekunde) für gewisse Genres von Spiel-Anwendungs-Programmen, wie etwa Echtzeit-Strategie, während höhere Performance (z. B. 60 Bilder pro Sekunde) für andere Genres eines Spiel-Anwendungs-Programms gefordert sind, wie etwa Sport. Im Gegensatz dazu kann ein Endbenutzer, welcher ein hoch qualitatives Rechen-System betreibt, höhere Erwartungen haben und 60 Bilder pro Sekunde oder mehr über alle Genres von Spiel-Anwendungs-Programmen hinweg erwarten. Typischerweise erwartet ein Endbenutzer, dass die Bildrate mit der Verarbeitungs-Geschwindigkeit des Rechen-Systems ansteigt. Daher ist erwartet, dass die Bildrate sich erhöht, wenn sich die optimalen Einstellungen erhöhen (unter der Annahme, dass höhere optimale Einstellungen mit höherer Qualität korrelieren).An end user may also be willing to accept varying performance in terms of frame rate depending on the genre of a game application program running on the end user's computing system. For example, an end user running a lower-quality computing system may be in the sense of processing speed willing to accept fairly low performance in terms of frame rate (e.g., 25 frames per second) for certain genres of games. Application programs, such as real-time strategy, while requiring higher performance (e.g., 60 frames per second) for other genres of a game application program, such as sports. In contrast, an end user who operates a high-quality computing system may have higher expectations and expect 60 frames per second or more across all genres of game application programs. Typically, an end user expects the frame rate to increase with the computational system processing speed. Therefore, the frame rate is expected to increase as the optimal settings increase (assuming that higher optimal settings correlate with higher quality).

Der Parameter-DAG 300 kann segmentiert werden und verschiedene Schwellwert-Ziele können für jedes Segment gesetzt werden. Jedes Schwellwert-Ziel kann einem verschiedenen Level von Performance (z. B. Bildrate) entsprechen, welcher von einem Endbenutzer für ein gegebenes Rechen-System erwartet ist, und ein anderer Satz von Ziel-Schwellwerten kann für jedes Genres von Spiel-Anwendungs-Programmen spezifiziert werden. Die Ziel-Schwellwerte werden benutzt, um optimale Einstellungen für jeden Knoten innerhalb jedes Segmentes zu erzeugen. In einer Ausführungsform kann jedes Schwellwert-Ziel einem verschiedenen Energie-Level entsprechen, wie etwa eine Menge von Batterie-Energie, welche übrig Energie-Versorgung (ist, ein Typ einer z. B. Batterie oder Auslass), oder ein Level von Energie-Verbrauch.The parameter DAG 300 can be segmented and different threshold targets can be set for each segment. Each threshold target may correspond to a different level of performance (eg, frame rate) expected by one end user for a given compute system, and another set of target thresholds may be for each genre of game application programs be specified. The target thresholds are used to generate optimal settings for each node within each segment. In one embodiment, each threshold target may correspond to a different energy level, such as an amount of battery energy, which is left over energy supply (a type of, eg, battery or exhaust), or a level of energy. Consumption.

3B zeigt einen exemplarischen Parameter-DAG 300 von 3A mit Knoten in Segmenten organisiert, in Übereinstimmung mit einer anderen Ausführungsform. Die segmentierte Parameter-DAG 350 kann mittels Data-Mining, Benutzer-Rückkopplung, Test-Meinungen, Übersichten bzw. Umfragen (surveys), und/oder Entwickler-/Veröffentlicher-Eingabe bestimmt werden. Wie in 3B gezeigt ist, ist der Knoten 302I, welcher einer Parameter-Variation eines Gerätes entspricht, welches die höchste Performance hat, in einer oder in mehreren Hinsichten, in einem Segment 320 umfasst. Der Knoten 302I ist betrachtet, der „schnellste” Knoten zu sein. Die Knoten 302B und 302H sind in einem Segment 325 umfasst und sind „langsamer” als der Knoten 302I in dem Segment 320. Die Knoten 302B, 302C, 302D, 302E und 302F sind in einem Segment 330 umfasst. Die Knoten 302G und 302H in dem Segment 325 sind „schneller” als die Knoten 302B, 302C, 302D, 302E und 302F in einem Segment 330. Der Knoten 302A, welcher einer Parameter-Variation eines Gerätes entspricht, welches die niedrigste Performance hat, in einer oder in mehreren Hinsichten, ist in einem Segment 335 umfasst. Der Knoten 302A ist der „langsamste” Knoten. Für einen gegebenen Satz von Schwellwert-Zielwerten kann jedes Segment 320, 325, 330 und 335 mit einem verschiedenen Schwellwert-Zielwert in dem Satz assoziiert sein. Zum Beispiel sind in einer Ausführungsform die Segmente 320, 325, 330 und 335 mit Schwellwert-Zielwerten von 60, 40, 30 bzw. 20 Bildern pro Sekunde assoziiert. In einer anderen Ausführungsform sind die Segmente 320, 325, 330 und 335 mit Schwellwert-Zielwerten von 40, 35, 30 bzw. 25 Bildern pro Sekunde assoziiert. In einer Ausführungsform steigen die Schwellwert-Ziele sequentiell in Bezug auf erhöhte Verarbeitungs-Geschwindigkeit der Mehrzahl von Parameter-Variationen, welche in die Mehrzahl von Segmenten organisiert sind, an. 3B shows an exemplary parameter DAG 300 from 3A organized with nodes in segments, in accordance with another embodiment. The segmented parameter DAG 350 can be determined by data mining, user feedback, test opinions, surveys, and / or developer / publisher input. As in 3B is shown is the node 302I , which corresponds to a parameter variation of a device having the highest performance, in one or more respects, in a segment 320 includes. The knot 302I is considered to be the "fastest" node. The knots 302B and 302H are in a segment 325 includes and is "slower" than the node 302I in the segment 320 , The knots 302B . 302C . 302D . 302E and 302F are in a segment 330 includes. The knots 302G and 302H in the segment 325 are "faster" than the nodes 302B . 302C . 302D . 302E and 302F in a segment 330 , The knot 302A , which corresponds to a parameter variation of a device that has the lowest performance, in one or more respects, is in one segment 335 includes. The knot 302A is the "slowest" knot. For a given set of threshold target values, each segment 320 . 325 . 330 and 335 be associated with a different threshold target value in the sentence. For example, in one embodiment, the segments are 320 . 325 . 330 and 335 associated with threshold targets of 60, 40, 30, and 20 frames per second, respectively. In another embodiment, the segments are 320 . 325 . 330 and 335 associated with threshold targets of 40, 35, 30, and 25 frames per second, respectively. In one embodiment, the threshold targets increase sequentially with respect to increased processing speed of the plurality of parameter variations organized into the plurality of segments.

Sobald die Schwellwert-Ziele mit den Segmenten assoziiert sind, können die optimalen Einstellungen unabhängig für jedes Segment unter Benutzung der oben vorher im Zusammenhang mit 1, 2 und 3A beschriebenen Techniken bestimmt werden. Eine Konsistenz-Überprüfung wird dann durchgeführt, um sicherzustellen, dass die Einstellungen monoton über die verschiedenen Segmente des segmentierten Parameter-DAG 350 ansteigen, wenn die Verarbeitungs-Geschwindigkeit ansteigt. Die Konsistenz-Überprüfung ist benötigt, weil es für einen ersten Knoten in einem ersten Segment, welches mit einem Schwellwert-Ziel assoziiert ist, möglich ist, eine höhere Einstellung verglichen mit einer Einstellung eines zweiten Knotens in einem zweiten Segment, welches mit einem höheren Schwellwert-Ziel assoziiert ist, zu haben. Die Konsistenz-Überprüfung kann mittels eines Konsistenz-Überprüfers durchgeführt werden, welcher als ein Software-Programm oder mittels einer Schaltung in einem Hardware-System implementiert ist.Once the threshold targets are associated with the segments, the optimal settings can be independently for each segment using the above previously related 1 . 2 and 3A be determined. A consistency check is then performed to ensure that the settings are monotone over the various segments of the segmented parameter DAG 350 increase as the processing speed increases. The consistency check is needed because it is possible for a first node in a first segment associated with a threshold target to have a higher setting compared to setting a second node in a second segment having a higher threshold Goal is to have. The consistency check may be performed by a consistency checker implemented as a software program or by a circuit in a hardware system.

Zum Beispiel kann die optionale Einstellung, welche für den Knoten 302E bestimmt ist, welcher innerhalb des Segments 330 ist, höher sein als die optimale Einstellung, welche für den Knoten 302G bestimmt ist, welcher innerhalb des Segments 325 ist. Basierend auf der Struktur des Parameter-DAG 300 ist jedoch die Verarbeitungs-Geschwindigkeit des Knotens 302G höher verglichen mit der Verarbeitungs-Geschwindigkeit des Knotens 302E. Daher ist es gegen eine Intuition für den Knoten 302G, geringe optimale Einstellungen zu haben, verglichen mit dem Knoten 302E.For example, the optional setting for which node 302E it is determined which one within the segment 330 is higher than the optimal setting for the node 302G it is determined which one within the segment 325 is. Based on the structure of the parameter DAG 300 is, however, the processing speed of the node 302G higher compared to the processing speed of the node 302E , Therefore, it is against intuition for the node 302G to have low optimal settings compared to the node 302E ,

Die optimalen Einstellungen, welche bestimmt werden, korrelieren direkt mit der Qualität von Bildern, welche von einem Rechen-System erzeugt werden, welches die optimalen Einstellungen für ein bestimmtes Anwendungs-Programm benutzt. Ein Endbenutzer erwartet, dass die Qualität von Bildern, welche von einem Rechen-System produziert werden, welches eine höhere Verarbeitungs-Geschwindigkeit hat, besser ist verglichen mit der Qualität von Bildern, welche von einem Rechen-System produziert sind, welches eine geringere Verarbeitungs-Geschwindigkeit hat. Daher sind, wenn die optimalen Einstellungen, welche für die Knoten 302E und 302G bestimmt sind, daran scheitern, monoton anzusteigen, wenn die Verarbeitungs-Geschwindigkeit ansteigt, die optimalen Einstellungen auch inkonsistent mit den Erwartungen eines Endbenutzers.The optimal settings that are determined correlate directly with the quality of images generated by a computational system that uses the optimal settings for a particular application program. An end user expects the quality of images produced by a rake system, which has a higher processing speed, to be better than the quality of images produced by a rake system, which has lower processing power. Speed has. Therefore, if the optimal settings, which for the nodes 302E and 302G are determined to fail to monotonically increase as the processing speed increases, the optimal settings also inconsistent with the expectations of an end user.

Um Monotonität der Einstellungen sicherzustellen und sicherzustellen, dass schnellere Knoten nicht niedrigere optimale Einstellungen haben als langsamere Knoten, wird eine Konsistenz-Überprüfung auf benachbarten Knoten in dem segmentierten Parameter-DAG 350 durchgeführt. Wenn eine Inkonsistenz für eine oder mehr Einstellungen identifiziert ist, werden die optimalen Einstellungen für den langsameren Knoten um eine minimale Menge bzw. Größe erniedrigt, um Monotonität der optimalen Einstellungen für die zwei Knoten sicherzustellen. In einer Ausführungsform erbt der langsamere Knoten die geringere optimale Einstellung des schnelleren Knotens. Die Knoten in dem segmentierten Parameter-DAG 350 können beginnend von dem schnellsten Knoten zu dem langsamsten Knoten traversiert werden, um die Konsistenz-Überprüfung über die Segmente durchzuführen, um Monotonität der optimalen Einstellungen sicherzustellen. Ein Sicherstellen einer Konsistenz über die Segmente kann optimale Einstellungen bereitstellen, welche die Erwartungen von Endbenutzern für einen Satz von Schwellwert-Zielen erfüllen (z. B. Bildrate-Werte) über das volle Spektrum von Rechen-Geräten.To ensure monotony of the settings and to ensure that faster nodes do not have lower optimal settings than slower nodes, a consistency check is performed on adjacent nodes in the segmented parameter DAG 350 carried out. If an inconsistency is identified for one or more settings, the optimal settings for the slower node are decreased by a minimum amount to ensure monotony of the optimal settings for the two nodes. In one embodiment, the slower node inherits the lesser optimal setting of the faster node. The nodes in the segmented parameter DAG 350 can be traversed starting from the fastest node to the slowest node to perform consistency checking across the segments to ensure monotony of the optimal settings. Ensuring consistency across the segments can provide optimal settings that meet end user expectations for a set of threshold targets (eg frame rate values) across the full spectrum of computational devices.

4A zeigt ein Verfahren 400 zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen und zum Sicherstellen einer Konsistenz der Einstellungen über eine Mehrzahl von Segmenten in Übereinstimmung mit einer anderen Ausführungsform. Wie in Operation 405 gezeigt ist, wird eine Mehrzahl von Parameter-Variationen, welche mit einem Gerät assoziiert sind, identifiziert, wobei die Mehrzahl von Parameter-Variationen in eine Mehrzahl von Segmenten organisiert ist. Jedes Segment kann mit einem anderen Schwellwert-Zielwert assoziiert sein. Zusätzlich, wie es in Operation 415 gezeigt ist, werden Einstellungen für jede der Mehrzahl von Parameter-Variationen im Wesentlichen simultan bestimmt. Wie in Operation 420 gezeigt ist, ist Konsistenz der Einstellungen über die Mehrzahl von Segmenten sichergestellt. In einer Ausführungsform werden die Einstellungen eingestellt, um sicherzustellen, dass die Einstellungen monoton ansteigen, wenn die Verarbeitungs-Geschwindigkeit für die verschiedenen Parameter-Variationen ansteigt. 4A shows a method 400 for simultaneously determining a plurality of optimal settings and for ensuring consistency of the settings across a plurality of segments in accordance with another embodiment. As in operation 405 3, a plurality of parameter variations associated with a device are identified, wherein the plurality of parameter variations are organized into a plurality of segments. Each segment may be associated with a different threshold target value. In addition, as is the case in surgery 415 is shown, settings for each of the plurality of parameter variations are determined substantially simultaneously. As in operation 420 is shown, consistency of the settings across the plurality of segments is ensured. In one embodiment, the settings are adjusted to ensure that the settings increase monotonically as the processing speed for the various parameter variations increases.

4B zeigt ein anderes Verfahren 450 zum simultanen Bestimmen einer Mehrzahl von optimalen Einstellungen und zum Sicherstellen einer Konsistenz der Einstellungen über eine Mehrzahl von Segmenten in Übereinstimmung mit einer anderen Ausführungsform. Operation 405 ist vollendet, wie vorher beschrieben. Wie in Operation 410 gezeigt ist, ist die Mehrzahl von Parameter-Variationen in eine Mehrzahl von Segmenten basierend auf Schwellwert-Zielen organisiert. Ein Satz bzw. eine Menge von Schwellwert-Zielen kann für jedes Software-Anwendungs-Programm oder jedes Genres eines Software-Anwendungs-Programms bereitgestellt sein. Operation 415 ist vollendet, wie vorher beschrieben. 4B shows another method 450 for simultaneously determining a plurality of optimal settings and for ensuring consistency of the settings across a plurality of segments in accordance with another embodiment. surgery 405 is completed, as previously described. As in operation 410 12, the plurality of parameter variations is organized into a plurality of segments based on threshold targets. One set of threshold targets may be provided for each software application program or genre of a software application program. surgery 415 is completed, as previously described.

Wie in Operation 425 gezeigt ist, ist eine erste Parameter-Variation mittels eines Konsistenz-Überprüfers ausgewählt. Die erste Parameter-Variation kann einem Knoten in einem Parameter-DAG für das Gerät entsprechen. In einer Ausführungsform ist der ausgewählte Knoten ein benachbarter Knoten des Knotens, welcher dem schnellsten Knoten in dem Parameter-DAG entspricht. Wie in Operation 430 gezeigt ist, werden Einstellungen, welche für die erste Parameter-Variation bestimmt sind, untersucht, und, wenn bestimmt ist, dass die Einstellungen zu hoch sind, werden die Einstellungen für die erste Parameter-Variation bei Operation 435 eingestellt. In dem Zusammenhang der vorliegenden Beschreibung können die Einstellungen zu hoch sein, wenn die Einstellungen für den ersten Parameter mit einer höheren Qualität korrelieren, verglichen mit den Einstellungen, welche für eine benachbarte Parameter-Variation bestimmt sind, welche schneller ist als die erste Parameter-Variation. Die Qualität kann Bildqualität und/oder Klang-Qualität sein. Für einige Parameter-Variationen kann, wenn die Einstellungen verringert bzw. erniedrigt werden, die Bildrate, welche mittels der Parameter-Variation erzeugt ist, das Schwellwert-Ziel übersteigen, so dass die Bildrate ansteigt, während die Bild- und/oder Klang-Qualität abnimmt.As in operation 425 is shown, a first parameter variation is selected by means of a consistency checker. The first parameter variation may correspond to a node in a parameter DAG for the device. In one embodiment, the selected node is an adjacent node of the node that corresponds to the fastest node in the parameter DAG. As in operation 430 2, settings determined for the first parameter variation are examined, and if it is determined that the settings are too high, the settings for the first parameter variation become the operation 435 set. In the context of the present description For example, the settings may be too high if the settings for the first parameter correlate with a higher quality compared to the settings determined for an adjacent parameter variation which is faster than the first parameter variation. The quality can be image quality and / or sound quality. For some parameter variations, as the settings are decreased, the frame rate generated by the parameter variation may exceed the threshold target so that the frame rate increases while the image and / or sound quality increases decreases.

Wenn in Operation 430 eine Einstellung, welche für die erste Parameter-Variation bestimmt ist, nicht zu hoch ist, dann kann in Operation 440 der Konsistenz-Überprüfer eine andere Parameter-Variation identifizieren, welche eine Einstellung hat, welche noch nicht untersucht worden ist. Wenn der Konsistenz-Überprüfer eine andere Parameter-Variation in Operation 440 identifiziert, dann kehrt der Konsistenz-Überprüfer zu Operation 430 zurück, um die Einstellung der anderen Parameter-Variationen zu überprüfen. Anderenfalls terminiert in Operation 445 der Konsistenz-Überprüfer und die optimierten Einstellungen für das Gerät sind sichergestellt, monoton anzusteigen, wenn die Verarbeitungs-Geschwindigkeit der verschiedenen Parameter-Variationen ansteigt.When in operation 430 a setting that is intended for the first parameter variation is not too high, then in operation 440 the consistency checker identifies another parameter variation that has a setting that has not yet been examined. If the consistency checker has another parameter variation in operation 440 then the consistency checker returns to operation 430 back to check the setting of the other parameter variations. Otherwise scheduled in operation 445 The consistency checker and the optimized settings for the device are guaranteed to increase monotonically as the processing speed of the various parameter variations increases.

Wenn ein Endbenutzer ein bestimmtes Anwendungs-Programm initiiert, kann dem Endbenutzer eine Schnittstelle eines Software-Programms (z. B. der Konsistenz-Überprüfer) präsentiert werden, was anbietet, die optimalen Einstellungen für die Parameter-Variation zu bestimmen, welche dem Rechen-System entspricht, welches der Endbenutzer benutzt. Das Software-Programm ist konfiguriert, um die Operationen durchzuführen, welche im Zusammenhang mit einer oder mehreren der 1, 2, 3A, 3B, 4A und 4B durchzuführen, um optimale Einstellungen für die Mehrzahl von Parameter-Variationen zu bestimmen. Eine Parameter-Variation, welche am besten mit dem Rechen-System des Endbenutzers übereinstimmt (matches), wird identifiziert und das Rechen-System kann dann selektiv konfiguriert werden, um die optimalen Einstellungen zu benutzen, welche für die übereinstimmende Parameter-Variation bestimmt wurden. Segmentierung der Mehrzahl von Parameter-Variationen kann dem Endbenutzer optimale Einstellungen bereitstellen, welche konsistent mit seiner oder ihrer Erwartungen sind.When an end user initiates a particular application program, an interface of a software program (eg, the consistency checker) may be presented to the end user, which offers to determine the optimal parameter variation settings that are appropriate to the computational System corresponds to what the end user uses. The software program is configured to perform the operations associated with one or more of the 1 . 2 . 3A . 3B . 4A and 4B to determine optimal settings for the plurality of parameter variations. A parameter variation that best matches the end user's computing system (matches) is identified and the computing system can then be selectively configured to use the optimal settings determined for the matching parameter variation. Segmenting the plurality of parameter variations may provide the end user with optimal settings that are consistent with his or her expectations.

5 illustriert ein beispielhaftes System 500, in welchem die verschiedene Architektur und/oder Funktionalität der verschiedenen vorherigen Ausführungsformen implementiert werden kann. Wie gezeigt ist, ist ein System 500 bereitgestellt, welches zumindest einen Zentral-Prozessor 501 umfasst, welcher mit einem Kommunikations-Bus 502 verbunden ist. Der Kommunikations-Bus 502 kann unter Benutzung irgendeines geeigneten Protokolls, wie etwa PCI (Peripheral Component Interconnect), PCI-Express, AGP (Accelerated Graphics Port), HyperTransport, oder irgendeinem anderen Bus oder Punkt-zu-Punkt-Kommunikations-Protokolls) implementiert sein. Das System 500 umfasst auch einen Hauptspeicher 504. Steuer-Logik (Software) und Daten sind in dem Hauptspeicher 504 gespeichert, welcher die Form eines Speichers mit willkürlichem Zugriff (RAM) annehmen kann. 5 illustrates an exemplary system 500 in which the various architecture and / or functionality of the various previous embodiments may be implemented. As shown, is a system 500 provided, which at least one central processor 501 which is connected to a communication bus 502 connected is. The communication bus 502 may be implemented using any suitable protocol, such as PCI (Peripheral Component Interconnect), PCI Express, Accelerated Graphics Port (AGP), HyperTransport, or any other bus or point-to-point communication protocol. The system 500 also includes a main memory 504 , Control logic (software) and data are in main memory 504 which may take the form of random access memory (RAM).

Das System 500 umfasst auch Eingabe-Geräte 512, einen Grafik-Prozessor 506, und eine Anzeige 508, d. h. eine herkömmliche CRT (Kathoden-Strahl-Röhre), LCD (Flüssigkristall-Anzeige), LED (Lichtemittierende Diode), Plasma-Anzeige oder dergleichen. Benutzer-Eingabe kann von den Eingabe-Geräten 512, z. B. Tastatur, Maus, Berührfeld, Mikrofon und dergleichen empfangen werden. In einer Ausführungsform kann der Grafik-Prozessor 506 eine Mehrzahl von Schattierungs-Modulen, ein Rastarisierungs-Modul, etc. umfassen. Jedes der vorangehenden Module kann sogar auf einer einzelnen Halbleiter-Plattform situiert werden, um eine Grafik-Verarbeitungs-Einheit (GPU) zu bilden. Der Grafik-Prozessor 506 kann mit einem oder mehreren DRAM-Geräten 515 gekoppelt sein und kann konfiguriert sein, verschiedene Bereiche der DRAM(s) bei verschiedenen Raten basierend auf Charakterisierungs-Information zu aktualisieren (refresh). In einer Ausführungsform ist der Zentral-Prozessor 501 mit einem oder mit mehreren DRAM-Geräten 515 gekoppelt und konfiguriert, verschiedene Bereiche der DRAM(s) bei verschiedenen Raten basierend auf Charakterisierungs-Information zu aktualisieren. Der DRAM 515 kann als der DRAM 280 in 2 implementiert sein.The system 500 also includes input devices 512 , a graphics processor 506 , and an ad 508 that is, a conventional CRT (Cathode Ray Tube), LCD (Liquid Crystal Display), LED (Light Emitting Diode), Plasma Display, or the like. User input can be from the input devices 512 , z. As keyboard, mouse, Berührfeld, microphone and the like are received. In one embodiment, the graphics processor 506 a plurality of shading modules, a Rastarisierungs module, etc. include. Each of the foregoing modules may even be located on a single semiconductor platform to form a graphics processing unit (GPU). The graphics processor 506 can work with one or more DRAM devices 515 and may be configured to refresh (refresh) different portions of the DRAM (s) at different rates based on characterization information. In one embodiment, the central processor is 501 with one or more DRAM devices 515 coupled and configured to update various portions of the DRAM (s) at different rates based on characterization information. The DRAM 515 can as the DRAM 280 in 2 be implemented.

In der vorliegenden Beschreibung kann sich eine einzelne Halbleiter-Plattform auf einen einzelnen unitären Halbleiter-basierten integrierten Schaltkreis oder Chip beziehen. Es sollte bemerkt werden, dass der Ausdruck einzelne Plattform sich auch auf Mehr-Chip-Module mit einer erhöhten Konnektivität beziehen kann, welche eine Auf-Chip-Operation simulieren, und welche wesentliche Verbesserungen über ein Benutzen einer herkömmlichen Zentral-Verarbeitungs-Einheit (CPU) und Bus-Implementation machen. Natürlich können die verschiedenen Module auch separat oder in verschiedenen Kombinationen von Halbleiter-Plattformen nach dem Wünschen des Benutzers situiert bzw. angeordnet sein. Eines oder mehrere der Systeme 500, welche in 5 gezeigt sind, können in dem System 500 inkorporiert sein, um Energie für einen oder mehrere der Chips bereitzustellen.In the present specification, a single semiconductor platform may refer to a single unitary semiconductor-based integrated circuit or chip. It should be noted that the term single platform may also refer to multi-chip modules with increased connectivity, which simulate on-chip operation, and which provide substantial improvements over use of a conventional central processing unit (CPU) ) and bus implementation. Of course, the various modules may also be located separately or in different combinations of semiconductor platforms as desired by the user. One or more of the systems 500 , what a 5 can be shown in the system 500 incorporated to provide energy for one or more of the chips.

Das System 500 kann auch einen sekundären Speicher 510 umfassen. Der sekundäre Speicher 510 umfasst z. B. ein Festplatte-Laufwerk und/oder ein entfernbares Speicher-Laufwerk, welches ein Floppydisk-Laufwerk repräsentiert, ein Magnetband-Laufwerk, ein Kompaktdisk-Laufwerk, digitale-versatile-Disk-(DVD)-Laufwerk, Aufnahmegerät, Universal-Serial-Bus-(USB)-Flashspeicher. Das entfernbare Speicher-Gerät liest von und/oder schreibt auf eine entfernbare Speicher-Einheit in einer wohl bekannten Weise. Computer-Programme oder Computer-Steuerlogik-Algorithmen können in dem Hauptspeicher 504 und/oder dem sekundären Speicher 510 gespeichert sein. Solche Computer-Programme, wenn aufgeführt, setzen das System 500 in die Lage, verschiedene Funktionen durchzuführen. Der Hauptspeicher 504, der Speicher 510 und/oder irgendein anderer Speicher sind mögliche Beispiele von Computer-lesbaren Medien.The system 500 can also have a secondary memory 510 include. The secondary storage 510 includes z. A hard disk drive and / or a removable storage drive that represents a floppy disk drive, a magnetic tape drive, a compact disc drive, digital versatile disc (DVD) drive, recording device, universal serial bus (USB) -Flashspeicher. The removable storage device reads from and / or writes to a removable storage device in a well known manner. Computer programs or computer control logic algorithms can be stored in main memory 504 and / or the secondary memory 510 be saved. Such computer programs, if listed, put the system 500 able to perform various functions. The main memory 504 , the memory 510 and / or any other memory are possible examples of computer-readable media.

In einer Ausführungsform kann die Architektur und/oder Funktionalität der verschiedenen vorherigen Figuren in dem Zusammenhang des Zentral-Prozessors 501, des Grafik-Prozessor 506 und der integrierten Schaltung (nicht gezeigt) implementiert sein, welche in der Lage ist, von zumindest einem Teil der Fähigkeit von sowohl dem Zentral-Prozessor 501 als auch dem Grafik-Prozessor 506, ein Chip-Satz (d. h. eine Gruppe von integrierten Schaltungen, welche ausgelegt sind, als eine Einheit zum Durchführen von betreffenden Funktionen zu arbeiten und verkauft zu werden, etc.) und/oder irgendeine andere integrierte Schaltung für dieses Problem.In one embodiment, the architecture and / or functionality of the various previous figures may be in the context of the central processor 501 , the graphics processor 506 and the integrated circuit (not shown), which is capable of performing at least part of the capability of both the central processor 501 as well as the graphics processor 506 , a chip set (ie, a set of integrated circuits designed to operate and be sold as a unit for performing respective functions, etc.) and / or any other integrated circuit for this problem.

Noch weiter kann die Architektur und/oder Funktionalität der verschiedenen vorherigen Figuren in dem Zusammenhang eines Allgemein-Computer-Systems, eines Schaltungs-Platte-Systems, eines Spielkonsole-Systems, welches für Unterhaltungs-Zwecke dediziert ist, eines Anwendungsspezifischen Systems, und/oder irgendeines anderen gewünschten Systems implementiert sein. Zum Beispiel kann das System 500 die Form eines Schreibtisch-Computers, eines Laptop-Computers, eines Servers, einer Workstation, von Spielkonsolen, eines eingebetteten Systems und/oder irgendeines anderen Typs von Logik annehmen. Noch weiter kann das System 500 die Form von verschiedenen anderen Geräten annehmen einschließlich, aber nicht darauf begrenzt, ein persönlicher digitaler Assistent(PDA)-Gerät, ein mobiles Telefon-Gerät, ein Fernseher, etc.Still further, the architecture and / or functionality of the various previous figures may be in the context of a general-computer system, a circuit-disk system, a game console system dedicated for entertainment purposes, an application-specific system, and / or be implemented of any other desired system. For example, the system 500 take the form of a desktop computer, a laptop computer, a server, a workstation, game consoles, an embedded system, and / or any other type of logic. Even further, the system can 500 take the form of various other devices including, but not limited to, a personal digital assistant (PDA) device, a mobile phone device, a television, etc.

Während es nicht gezeigt ist, kann das System 500 ferner an ein Netzwerk (z. B. Telekommunikations-Netzwerk, Lokalbereichs-Netzwerk (LAN), drahtloses Netzwerk, Fernbereichs-Netzwerk (WAN), wie etwa das Internet, Peer-to-Peer-Netzwerk, Kabel-Netzwerk, oder dergleichen) für Kommunikations-Zwecke gekoppelt sein.While it is not shown, the system can 500 to a network (e.g., telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, or the like) be coupled for communication purposes.

Während verschiedene Ausführungsformen oben beschrieben sind, sollte es verstanden werden, dass sie nur als Weg eines Beispiels präsentiert worden sind und nicht als eine Begrenzung. Somit sollte die Breite und der Geltungsbereich der bevorzugten Ausführungsform nicht mittels irgendeiner der oben beschriebenen exemplarischen Ausführungsformen begrenzt sein, sondern sollte nur in Übereinstimmung mit den folgenden Ansprüchen und ihren Äquivalente definiert sein.While various embodiments are described above, it should be understood that they have been presented only as a way of example and not as a limitation. Thus, the breadth and scope of the preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (20)

Verfahren, aufweisend: Identifizieren einer Mehrzahl von Parameter-Variationen, welche mit einem Gerät assoziiert sind, wobei die Mehrzahl von Parameter-Variationen in eine Mehrzahl von Segmenten organisiert ist; Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen; und Sicherstellen einer Konsistenz der Einstellungen über die Mehrzahl von Segmenten.Method, comprising Identifying a plurality of parameter variations associated with a device, wherein the plurality of parameter variations are organized into a plurality of segments; Determining settings for each of the plurality of parameter variations; and Ensure consistency of settings across the majority of segments. Verfahren gemäß Anspruch 1, wobei jedes Segment mit einem Schwellwert-Ziel einer Mehrzahl von Schwellwert-Zielen assoziiert ist.The method of claim 1, wherein each segment is associated with a threshold target of a plurality of threshold targets. Verfahren gemäß Anspruch 2, wobei die Schwellwert-Ziele sequentiell ansteigen bezüglich Anstiegen in der Verarbeitungs-Geschwindigkeit der Mehrzahl von Parameter-Variationen, welche in die Mehrzahl von Segmenten organisiert ist.The method of claim 2, wherein the threshold targets sequentially increase with respect to increases in the processing speed of the plurality of parameter variations organized into the plurality of segments. Verfahren gemäß Anspruch 2, wobei die Mehrzahl von Schwellwert-Zielen ein Satz von Bildrate-Werten ist.The method of claim 2, wherein the plurality of threshold targets is a set of frame rate values. Verfahren gemäß Anspruch 2, wobei die Mehrzahl von Schwellwert-Zielen ein Satz von Energie-Leveln ist.The method of claim 2, wherein the plurality of threshold targets is a set of energy levels. Verfahren gemäß Anspruch 2, wobei eine erste Mehrzahl von Schwellwert-Zielen einem ersten Genre von Spiel-Anwendungs-Programmen entspricht und wobei eine zweite Mehrzahl von Schwellwert-Zielen einem zweiten Genre von Spiel-Anwendungs-Programmen entspricht.The method of claim 2, wherein a first plurality of threshold targets corresponds to a first genre of game application programs, and wherein a second plurality of threshold targets corresponds to a second genre of game application programs. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfasst Erzeugen eines gerichteten azyklischen Graphen (DAG), welcher eine Mehrzahl von Knoten umfasst, wobei jeder der Mehrzahl von Knoten eine der Mehrzahl von Parameter-Variationen repräsentiert.The method of claim 1, wherein simultaneously determining settings for each of the plurality of parameter variations comprises generating a directional acyclic graph (DAG) comprising a plurality of nodes, wherein each of the plurality of nodes is one of the plurality of parameters Represents variations. Verfahren gemäß Anspruch 7, ferner aufweisend Organisieren der Mehrzahl von Knoten in die Mehrzahl von Segmenten, wobei jedes Segment mit einem anderen Schwellwert-Ziel assoziiert ist.The method of claim 7, further comprising organizing the plurality of nodes into the plurality of segments, each segment being associated with a different threshold target. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei die Einstellungen für jede der Parameter-Variationen eine monotone Menge von Voreinstellungen umfassen, welche sequentiell ansteigen in Bezug auf eine erste Charakteristik und welche sequentiell abfallen in Bezug auf eine zweite Charakteristik. Method according to one of claims 1 to 8, wherein the settings for each of the parameter variations comprise a monotonous set of presets which increase sequentially with respect to a first characteristic and which decrease sequentially with respect to a second characteristic. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei ein Sicherstellen einer Konsistenz der Einstellungen über die Mehrzahl von Segmenten aufweist Vergleichen von Einstellungen zwischen der Mehrzahl von Parameter-Variationen.The method of claim 1, wherein ensuring consistency of the settings across the plurality of segments comprises comparing settings between the plurality of parameter variations. Verfahren gemäß Anspruch 10, wobei Sicherstellen einer Konsistenz der Einstellungen über die Mehrzahl von Segmenten ferner aufweist Einstellen von ersten Einstellungen für eine erste Parameter-Variation, welche eine geringere Verarbeitungs-Geschwindigkeit verglichen mit einer zweiten Parameter-Variation hat, welche zweite Einstellungen hat, wenn die ersten Einstellungen mit einer höheren Qualität verglichen mit den zweiten Einstellungen assoziiert sind.The method of claim 10, wherein ensuring consistency of the settings across the plurality of segments further comprises setting first settings for a first parameter variation that has a lower processing speed compared to a second parameter variation having second settings when the first settings are associated with a higher quality compared to the second settings. Verfahren gemäß Anspruch 11, wobei die ersten Einstellungen eingestellt sind, um den zweiten Einstellungen zu gleichen.The method of claim 11, wherein the first settings are set to equal the second settings. Verfahren gemäß einem der Ansprüche 1 bis 12, wobei die Parameter eine oder mehr von Hardware, welche innerhalb des Gerätes installiert ist, Software, welche innerhalb des Geräts installiert ist, und Auflösung einer Anzeige innerhalb des Gerätes umfassen.The method of one of claims 1 to 12, wherein the parameters include one or more of hardware installed within the device, software installed within the device, and resolution of a display within the device. Verfahren gemäß einem der Ansprüche 1 bis 13, wobei für jede der Mehrzahl von Parameter-Variationen die Einstellungen eine Konfiguration von dieser Parameter-Variation derart umfassen, dass das Gerät, welches diese Parameter-Variation hat, eine maximierte Ausgabe erzeugt.The method of claim 1, wherein for each of the plurality of parameter variations the adjustments comprise a configuration of this parameter variation such that the device having this parameter variation generates a maximized output. Verfahren gemäß einem der Ansprüche 1 bis 14, wobei simultanes Bestimmen von Einstellungen für jede der Mehrzahl von Parameter-Variationen umfasst Einstellen einer oder mehrerer Einstellungen, welche mit jeder der Mehrzahl von Parameter-Variationen assoziiert ist.A method according to any one of claims 1 to 14, wherein simultaneously determining settings for each of the plurality of parameter variations comprises adjusting one or more settings associated with each of the plurality of parameter variations. Verfahren gemäß einem der Ansprüche 1 bis 15, wobei jede der Mehrzahl von Parameter-Variationen beeinflusst, wie die Einstellungen bestimmt werden.The method of one of claims 1 to 15, wherein each of the plurality of parameter variations affects how the settings are determined. Computer-Programm-Produkt, welches auf einem Computer-lesbaren Medium verkörpert ist, aufweisend: Code zum Durchführen der Operationen gemäß einem der Ansprüche 1 bis 16.Computer program product embodied on a computer readable medium, comprising: Code for performing the operations according to one of claims 1 to 16. Computer-Programm-Produkt gemäß Anspruch 17, wobei jedes Segment mit einem Schwellwert-Ziel einer Mehrzahl von Schwellwert-Zielen assoziiert ist.The computer program product of claim 17, wherein each segment is associated with a threshold target of a plurality of threshold targets. System, aufweisend: einen Speicher, welcher eine Mehrzahl von Parameter-Variationen speichert, welche mit einem Gerät assoziiert sind; und einen Prozessor, welcher mit dem Speicher gekoppelt ist und konfiguriert ist, die Operationen gemäß einem der Ansprüche 1 bis 16 durchzuführen.System comprising: a memory storing a plurality of parameter variations associated with a device; and a processor coupled to the memory and configured to perform the operations of any one of claims 1 to 16. System gemäß Anspruch 19, wobei die Parameter einen oder mehrere von Hardware, welche innerhalb des Geräts installiert ist, Software, welche innerhalb des Geräts installiert ist, und eine Auflösung einer Anzeige innerhalb des Gerätes umfassen.The system of claim 19, wherein the parameters include one or more of hardware installed within the device, software installed within the device, and resolution of a display within the device.
DE201310213113 2012-07-06 2013-07-04 Method for simultaneously determining settings for multiple parameter variations associated with device, involves ensuring consistency of settings across multiple segments Pending DE102013213113A1 (en)

Applications Claiming Priority (6)

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
US13/543,196 2012-07-06
US201361819478P 2013-05-03 2013-05-03
US61/819,478 2013-05-03
US13/921,146 2013-06-18
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
DE102013213113A1 true DE102013213113A1 (en) 2014-01-16

Family

ID=49781668

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310213113 Pending DE102013213113A1 (en) 2012-07-06 2013-07-04 Method for simultaneously determining settings for multiple parameter variations associated with device, involves ensuring consistency of settings across multiple segments

Country Status (3)

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

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 (en) * 2006-01-19 2009-08-26 财团法人工业技术研究院 Device and method for automatic adjusting parameters of display based on visual performance
CN101740001A (en) * 2008-11-19 2010-06-16 康佳集团股份有限公司 Device and method and mobile terminal for brightness adjustment,
CN101930719A (en) * 2009-06-18 2010-12-29 辉达公司 Method and system for automatically switching scene mode of display

Also Published As

Publication number Publication date
TW201419212A (en) 2014-05-16
CN103530108B (en) 2018-04-06
CN103530108A (en) 2014-01-22

Similar Documents

Publication Publication Date Title
DE102013213094B4 (en) System, method and computer program product for computing settings for a device using one or more constraints
DE102013213093A1 (en) A system, method and computer program product for simultaneously determining settings for a plurality of parameter variations
DE102013213047A1 (en) System, method and computer program product for testing device parameters
US11351463B2 (en) System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
DE102017124573A1 (en) SYSTEMS AND METHOD FOR CRITING NEURONAL NETWORKS FOR AN OPERATIONAL EFFICIENT CONCLUSION
DE102016118210A1 (en) Granular quality of service for computer resources
DE60004507T2 (en) FAST GROUPING THROUGH SPARKLY FILLED DATA RECORDS
DE102020125207A1 (en) UNATTENDED TRAINING FROM NEURONAL NETWORK TO IMAGE COMPRESSION WITH HIGH DYNAMIC SCOPE
DE112012000212T5 (en) Technology for live analysis-based rematerialization to reduce register pressure and improve parallelism
DE102019122935A1 (en) METHOD AND DEVICES FOR ASSIGNING A WORK LOAD TO AN ACCELERATOR USING MACHINE LEARNERS
DE112016005006T5 (en) AUTOMATIC VIDEO EXECUTIVE SUMMARY
DE102020112961A1 (en) TECHNIQUES FOR DYNAMIC PARTITIONING OF TASKS
DE102020132716A1 (en) SYSTEM FOR ANALYZING AND IMPROVING SOFTWARE BASED ON GRAPH ATTENTION NETWORKS
DE112017000046T5 (en) Assessment of the accuracy of a machine learning model
DE102015009799A1 (en) Risk quantification for strategy application
DE112019007506T5 (en) DETERMINING HIGH INTEREST DURATION OF GAMEPLAY SESSIONS FROM USER INPUT
DE112010005096T5 (en) Methods and apparatus for evaluating resource capacity in a system of virtual containers
DE112014007090T5 (en) AUTOMATIC TAGGING METHOD AND SYSTEMS DUE TO SOFTWARE EXECUTION TRACES
DE102013208041A1 (en) Server-based graphics processing techniques
DE102013213048A1 (en) System, method and computer program product for determining settings for a device
DE102012224492A1 (en) Trigger window conditions using exception handling
DE102020112531A1 (en) Operational metric calculation for workload type
DE112008003584T5 (en) A uniform look and feel creating bi-graphic engine
DE202017007534U1 (en) Multiscale 3D texture synthesis
DE102012107809A1 (en) Browsing between mobile and non-mobile websites

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE

R016 Response to examination communication