DE102013213048A1 - System, Verfahren und Computerprogrammprodukt zum Bestimmen von Einstellungen für eine Vorrichtung - Google Patents

System, Verfahren und Computerprogrammprodukt zum Bestimmen von Einstellungen für eine Vorrichtung Download PDF

Info

Publication number
DE102013213048A1
DE102013213048A1 DE102013213048.1A DE102013213048A DE102013213048A1 DE 102013213048 A1 DE102013213048 A1 DE 102013213048A1 DE 102013213048 A DE102013213048 A DE 102013213048A DE 102013213048 A1 DE102013213048 A1 DE 102013213048A1
Authority
DE
Germany
Prior art keywords
node
settings
dag
parameters
nodes
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.)
Granted
Application number
DE102013213048.1A
Other languages
English (en)
Inventor
John F. Spitzer
Oleg Vyacheslavovich Vinogradov
Andrey Vladimirovich Makarenko
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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102013213048A1 publication Critical patent/DE102013213048A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • 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/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Ein System, Verfahren und Computerprogrammprodukt werden bereitgestellt zum Bestimmen von Einstellungen für eine Vorrichtung. Eine Mehrzahl von Parametern, die mit einer Vorrichtung assoziiert sind, wird in Betrieb identifiziert. Eine oder mehrere Einstellungen, die mit der Vorrichtung assoziiert sind, werden des Weiteren basierend auf der Mehrzahl von Parametern bestimmt.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf Parameteranalyse und insbesondere auf das Bestimmen eines Satzes von Voreinstellungen basierend auf Parameteranalyse.
  • HINTERGRUND
  • Viele Produkte, die heute existieren, weisen einen oder mehrere Parameter auf, die ein mit dem Produkt assoziiertes Gesamterlebnis beeinflussen. Computerspiele und andere Software mögen zum Beispiel viele Parameter haben, die eine Qualität des Rendering, Audio, Gameplay (engl. „game play”) usw. bestimmen. Gegenwärtige Techniken zum Anordnen der mit diesen Produkten assoziierten Parameter sind aber mit verschiedenen Einschränkungen assoziiert gewesen.
  • Zum Beispiel mögen Kunden gegenwärtig dafür verantwortlich sein, eine Mehrzahl von Parametern, die mit einem Produkt assoziiert sind, zu Justieren, um passende Einstellungen für dieses Produkt zu bestimmen. Dies mag nicht optimale Einstellungen für das Produkt, zeitaufwändigen Versuch und Irrtum (engl. „trial and error”) durch den Kunden etc. zur Folge haben. Es besteht folglich ein Bedürfnis, diese und/oder andere mit dem Stand der Technik assoziierten Probleme anzugehen.
  • ZUSAMMENFASSUNG
  • Ein System, Verfahren und Computerprogrammprodukt werden bereitgestellt zum Bestimmen von Einstellungen für eine Vorrichtung. Eine Mehrzahl von Parametern, die mit einer Vorrichtung assoziiert sind, wird in Betrieb bestimmt. Eine oder mehrere Einstellungen, die mit der Vorrichtung assoziiert sind, werden des Weiteren basierend auf der Mehrzahl von Parametern bestimmt.
  • Kurze Beschreibung der Zeichnungen
  • Die 1 zeigt ein Verfahren zum Bestimmen von Einstellungen für eine Vorrichtung, gemäß einer Ausführungsform.
  • Die 2 zeigt ein Verfahren zum Bestimmen vorbestimmter optimal spielbarer (engl. „optimal playable”) Einstellungen für einen persönlichen Computer, gemäß einer weiteren Ausführungsform.
  • Die 3 zeigt einen beispielhaften Parameter-DAG, gemäß einer weiteren Ausführungsform.
  • Die 4 stellt ein beispielhaftes System dar, in welchem die verschiedenen Architektur und/oder Funktionalität der verschiedenen vorhergehenden Ausführungsformen implementiert werden mögen.
  • DETAILLIERTE BESCHREIBUNG
  • Die 1 zeigt ein Verfahren 100 zum Bestimmen von Einstellungen für eine Vorrichtung gemäß einer Ausführungsform. Wie es in der Operation 102 gezeigt ist, wird eine Mehrzahl von Parametern identifiziert, die mit einer Vorrichtung assoziiert sind. In einer Ausführungsform mag die Vorrichtung jedes Objekt aufweisen, das eine Mehrzahl von Parametern mit sich assoziiert hat. Die Vorrichtung mag zum Beispiel ein Objekt aufweisen, wie zum Beispiel einen persönlichen Computer, einen persönlichen digitalen Assistenten, ein Mobiltelefon oder ein anderes Hardwareelement, ein Kraftfahrzeug, ein Haus etc.
  • In einer Ausführungsform mag die Mehrzahl von Parametern des Weiteren jegliche Eigenschaften (engl. „characteristics”) von der Vorrichtung aufweisen. Die Mehrzahl von Parametern mag zum Beispiel Beschreibungen von Hardware (zum Beispiel einer zentralen Verarbeitungseinheit (CPU), einer Grafikverarbeitungseinheit (GPU), Speicher mit direktem Zugriff (RAM), einem Motherboard, einem Display, einer Auflösung etc.), die innerhalb der Vorrichtung (zum Beispiel eines Desktopcomputers, eines Laptopcomputers, eines Tabletcomputers, eines persönlichen digitalen Assistenten, eines Mobiltelefons etc.) installiert ist, Software (zum Beispiel einem Operativsystem, Treiber, etc.), die innerhalb der Vorrichtung installiert ist, Motoreigenschaften von einem Kraftfahrzeug (zum Beispiel Timing, Headertyp etc.) etc. enthalten.
  • In einer Ausführungsform mag einer oder mehrere von der Mehrzahl von Parametern ferner in unabhängiger Weise konfigurierbar sein. Jeder der Mehrzahl von Parametern mag zum Beispiel dazu fähig sein, unabhängig von den anderen Parametern geändert zu werden. In einer weiteren Ausführungsform mag jeder der Mehrzahl von Parametern von der Vorrichtung verwendet werden, um eine oder mehrere Handlungen auszuführen. In einer noch weiteren Ausführungsform mag die Mehrzahl von Parametern auf einem Server identifiziert werden. Die Mehrzahl von Parametern mag zum Beispiel von dem Produkt oder Service oder von einer Entität, die mit dem Produkt oder Service assoziiert ist, über ein Netzwerk (zum Beispiel ein drahtloses Netzwerk, ein verkabeltes Netzwerk, ein Mobilfunknetzwerk, ein Satellitennetzwerk etc.) an einen Server gesendet werden. In einem weiteren Beispiel mögen Details, die die Mehrzahl von Parametern beschreiben, von der Vorrichtung gemäß einem vorbestimmten Intervall (zum Beispiel einmal täglich, einmal wöchentlich, einmal monatlich etc.) auf den Server hochgeladen werden.
  • Zusätzlich werden, wie es in der Operation 104 gezeigt ist, eine oder mehrere Einstellungen, die mit der Vorrichtung assoziiert sind, basierend auf der Mehrzahl von Parametern bestimmt. In einer Ausführungsform mögen die Einstellungen vorbestimmte Einstellungen für einen oder mehrere von der Mehrzahl von Parametern enthalten, die mit der Vorrichtung assoziiert sind. Die Vorrichtung mag zum Beispiel einen persönlichen Computer aufweisen, und die Einstellungen mögen vorbestimmte Einstellungen für ein oder mehrere Elemente von Software oder Hardware aufweisen, die innerhalb der Vorrichtung installiert sind. In einer weiteren Ausführungsform mögen die Einstellungen mit einer oder mehreren Operation assoziiert sein, die von dem Produkt oder Service ausgeführt werden. Die Einstellungen mögen zum Beispiel vorbestimmte Einstellungen für das Ausführen von einem oder mehreren Softwareprogrammen mittels der Vorrichtung enthalten.
  • Des Weiteren mag die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, in einer Ausführungsform unter Verwendung eines gerichteten azyklischen Grafen (DAG) bestimmt werden. Ein DAG, der eine Mehrzahl von gerichteten Knoten enthält, mag zum Beispiel erzeugt werden, wobei die Knoten basierend auf einem oder mehreren Kriterien gerichtet sind. Jeder der Mehrzahl von Knoten in dem DAG mag zum Beispiel eine Kombination von Vorrichtungsparametern repräsentieren, und die Knoten mögen innerhalb des DAG basierend auf der mit jedem Knoten assoziierten Geschwindigkeit gerichtet sein, wobei die Geschwindigkeit basierend auf den Vorrichtungsparametern bestimmt wird, die von dem Knoten repräsentiert wird. In einer weiteren Ausführungsform mögen die Knoten in dem DAG so gerichtet sein, dass ein erster Knoten in dem DAG auf einen zweiten Knoten des DAG zeigen mag, wenn es bestimmt wird, dass der zweite Knoten des DAG in einer oder mehrerer Hinsichten (zum Beispiel in Bezug auf Verarbeitungsgeschwindigkeit etc.) eindeutig schneller als der erste Knoten des DAG ist.
  • Des Weiteren mag in einer Ausführungsform jeder Knoten in dem DAG eine eindeutige (engl. „unique”) Variation von einer Mehrzahl von möglichen Parametern repräsentieren, die mit der Vorrichtung assoziiert sind. Die Mehrzahl von möglichen Parametern, die mit der Vorrichtung assoziiert sind, mag zum Beispiel eine Vorrichtungs-CPU, eine Vorrichtungs-GPU und eine Vorrichtungs-Auflösung enthalten, und jeder Knoten in dem DAG mag eine eindeutige Kombination von einer bestimmten Vorrichtungs-CPU, Vorrichtungs-GPU und Vorrichtungs-Auflösung repräsentieren. In dieser Art und Weise signalisiert ein erster Knoten, der auf einen zweiten Knoten innerhalb des DAG zeigt, dass die Mehrzahl von möglichen Parametern, die mit der Vorrichtung assoziiert sind und von dem zweiten Knoten in dem DAG repräsentiert werden, eine definitiv bessere Verarbeitungsgeschwindigkeit und Leistung bzw. Performance (engl. „performance”) anbieten als die Mehrzahl von möglichen Parametern, die mit der Vorrichtung assoziiert sind und von dem ersten Knoten in dem DAG repräsentiert werden.
  • In einer Ausführungsform mag das Bestimmen der einen oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, auch ein Identifizieren eines Knotens in dem DAG aufweisen, welcher Knoten der identifizierten Mehrzahl von Parametern entspricht, die mit der Vorrichtung assoziiert sind. Ein Knoten in dem DAG, welcher Knoten eine Variation von einer Mehrzahl von möglichen Parametern repräsentiert, die der identifizierten Mehrzahl von mit der Vorrichtung assoziierten Parametern entsprechen, mag zum Beispiel identifiziert und zu der Vorrichtung gemappt werden.
  • In einer Ausführungsform mag das Bestimmen der einen oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, zusätzlich ein Bestimmen eines ersten Subsatzes von Knoten in dem DAG aufweisen, die eindeutig langsamer als der identifizierte Knoten sind oder die gleiche Geschwindigkeit wie der identifizierte Knoten haben, welcher Knoten der identifizierten Mehrzahl von mit der Vorrichtung assoziierten Parametern entspricht. Zum Beispiel mögen alle die Knoten in dem DAG bestimmt werden, die entweder direkt oder indirekt auf den identifizierten Knoten zeigen, welcher der identifizierten Mehrzahl von Parametern entspricht, die mit der Vorrichtung assoziiert sind.
  • Des Weiteren mögen ein oder mehrere Knoten in dem DAG in einer Ausführungsform mit einer oder mehreren vorbestimmten Einstellungen assoziiert sein. Ein monotoner Satz von Voreinstellungen mag zum Beispiel für eine oder mehrere eindeutige Variationen von der Mehrzahl von mit der Vorrichtung assoziierten möglichen Parametern bestimmt worden sein, wobei jede eindeutige Variation von einer Knoten in dem DAG repräsentiert wird. Siehe zum Beispiel [NVIDP695], die hiermit in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen wird und beispielhafte Verfahren zum Bestimmen eines monotonen Satzes von Voreinstellungen basierend auf einer Mehrzahl von Parametern beschreibt.
  • In einer weiteren Ausführungsform mögen die vorbestimmten Einstellungen mit einem oder mehreren Parametern assoziiert sein, die basierend auf der Mehrzahl von möglichen Parametern, die mit der Vorrichtung assoziiert sind, bestimmt worden sind. Siehe zum Beispiel [NVIDP541], die hiermit in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen wird und beispielhafte Verfahren zum Bestimmen von Anwendungsparameter basierend auf Hardwarespezifikationen beschreibt.
  • In einer Ausführungsform mag das Bestimmen der einen oder mehreren mit der Vorrichtung assoziierten Einstellungen noch ferner ein Bestimmen, aus dem ersten Subsatzes von Knoten, eines zweiten Subsatzes von Knoten aufweisen, für die eine vorbestimmte oder mehrere vorbestimmten Einstellungen bestimmt worden sind. Zum Beispiel mögen die Knoten, für die ein monotoner Satz von Voreinstellungen bestimmt worden ist, innerhalb des DAG unter Verwendung eines Flags oder eines anderen Identifikators identifiziert werden.
  • In einer Ausführungsform mag das Bestimmen der einen oder mehreren mit der Vorrichtung assoziierten Einstellungen auch ein Identifizieren eines finalen Knotens aus dem zweiten Subsatzes von Knoten aufweisen, welcher Knoten einen monotonen Satz von Voreinstellungen hat, der einen maximalen Output ergibt. Ein finaler Knoten mag zum Beispiel innerhalb des zweiten Subsatzes von Knoten identifiziert werden, der einen monotonen Satz von Voreinstellungen hat, der die höchste Bildqualität bei einer gegebenen Framerate (zum Beispiel für ein vorbestimmtes Softwareprogramm etc.) erzeugt. In einer weiteren Ausführungsform mag einer der Mehrzahl von schnellsten Knoten als der finale Knoten arbiträr ausgewählt werden, wenn eine Mehrzahl von Knoten aus dem Subsatz von Knoten identifiziert wurde. In noch einer weiteren Ausführungsform mag einer der Mehrzahl von Knoten gemäß einem oder mehreren vorbestimmten Kriterien ausgewählt werden, wenn eine Mehrzahl von Knoten aus dem ersten Subsatz von Knoten identifiziert wurde.
  • In einer Ausführungsform mögen die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, zusätzlich die eine oder mehreren vorbestimmten Einstellungen des finalen Knotens enthalten, der der schnellste Knoten des Subsatzes von Knoten ist. Zum Beispiel mögen die eine oder mehreren Einstellungen den monotonen Satz von Voreinstellungen aufweisen, der für die eindeutige Variation von Parametern bestimmt wurde, die von der finalen Knoten repräsentiert wird. In einer weiteren Ausführungsform mögen die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, einen Subsatz von der einen oder den mehreren Einstellungen enthalten, die mit der Vorrichtung assoziiert sind. Die eine oder mehreren Einstellungen mögen zum Beispiel einen Subsatz von dem monotonen Satz von Voreinstellungen enthalten, der für die eindeutige Variation von Parametern, die von dem finalen Knoten repräsentiert werden, bestimmt wurde, wobei ein solcher Subsatz unter Verwendung von einem oder mehreren vorbestimmten Kriterien (zum Beispiel einem Minimum-Framerate-Schwellenwert etc.) bestimmt wird.
  • In einer Ausführungsform mögen die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind und basierend auf der Mehrzahl von Parametern bestimmt werden, ferner zu der Vorrichtung retourniert werden. Zum Beispiel mag die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, von der Vorrichtung zu dem Server gesendet werden. In dieser Art und Weise mögen eine oder mehrere vorbestimmten Einstellungen für die Vorrichtung bestimmt werden, während es sichergestellt wird, dass vorbestimmte Kriterien (zum Beispiel ein Minimum-Framerate-Schwellenwert etc.) für die Vorrichtung erfüllt bzw. eingehalten werden. Durch Verwenden eines DAG mag eine Suche zusätzlich dazu verwendet werden, die eine oder mehreren Einstellungen zu bestimmen. Siehe zum Beispiel [NVID699], die hiermit in ihrer Gesamtheit hierin aufgenommen wird und die beispielhafte Verfahren zum Bestimmen, ob Parameterkonfigurationen vorbestimmte Kriterien erfüllen, beschreiben.
  • Illustrativere Informationen bezüglich verschiedener optionalen Architekturen und Merkmale, mit denen das vorhergehende Framework gemäß den Wünschen des Benutzers implementiert oder nicht implementiert werden mag, werden jetzt dargelegt. Es sollte dringend beachtet werden, dass die folgenden Informationen zu illustrativen Zwecken dargelegt werden und nicht als in irgendeiner Weise einschränkend ausgelegt werden sollen. Alle folgenden Merkmale mögen optional eingearbeitet werden, wobei andere beschriebenen Merkmale ausgeschlossen oder nicht ausgeschlossen werden mögen.
  • Die 2 zeigt ein Verfahren 200 zum Bestimmen vorbestimmter optimal spielbarer Einstellungen für einen persönlichen Computer, gemäß einer weiteren Ausführungsform. Das Verfahren 200 mag, als eine Option, im Kontext der Funktionalität von 1 ausgeführt werden. Das Verfahren 200 mag aber selbstverständlich in jeglicher gewünschter Umgebung implementiert werden. Es sollte auch beachtet werden, dass die oben erwähnten Definitionen im Laufe der folgenden Beschreibung Anwendung finden mögen.
  • Wie es in der Operation 202 gezeigt ist, wird eine Mehrzahl von Parametern, die mit einem persönlichen Computer assoziiert sind, zu dem Server gesendet. In einer Ausführungsform mag die Mehrzahl von Parametern Parameter enthalten, die mit einem Display des persönlichen Computers assoziiert sind. Die Mehrzahl von Parametern mag zum Beispiel eine Bildschirmauflösung des persönlichen Computers enthalten. In einer weiteren Ausführungsform mag die Mehrzahl von Parametern Parameter enthalten, die mit dem Rendering von Grafik durch den persönlichen Computer assoziiert sind. Die Mehrzahl von Parametern mag zum Beispiel Spezifikationen von Systemhardware, die innerhalb des persönlichen Computers installiert ist (zum Beispiel CPU-Spezifikationen, GPU-Spezifikationen, Motherboard-Spezifikationen, RAM-Spezifikationen etc.), Spezifikationen von Systemsoftware, die innerhalb des persönlichen Computers installiert ist, etc. enthalten.
  • In einer Ausführungsform mag der Server zusätzlich von dem persönlichen Computer entfernt sein, und die Mehrzahl von Parametern mag über ein Netzwerk zu dem Server gesendet werden. Zum Beispiel mag Software, die innerhalb des persönlichen Computers installiert ist, die Mehrzahl von Parametern erlangen und solche Parameter zu dem Server senden. In einer weiteren Ausführungsform mag der Server innerhalb des persönlichen Computers positioniert sein, und die Mehrzahl von Parametern mag innerhalb des persönlichen Computers zu dem Server gesendet werden. Die Mehrzahl von Parametern mag aber selbstverständlich in jeglicher Art und Weise zu dem Server gesendet werden.
  • In einer weiteren Ausführungsform mag die Mehrzahl von Parametern, die mit dem persönlichen Computer assoziiert sind, zu dem Server gesendet werden, wenn ein Benutzer eine Anwendung auf dem persönlichen Computer ausführt. In noch einer weiteren Ausführungsform mag die Mehrzahl von Parametern, die mit dem persönlichen Computer assoziiert sind, zu dem Server gesendet werden, wenn ein Benutzer eine Anwendung auf dem persönlichen Computer installiert. In einer noch weiteren Ausführungsform mag die Mehrzahl von Parametern, die mit dem persönlichen Computer assoziiert sind, zu dem Server gesendet werden, wenn ein Benutzer eine Anwendung auf dem persönlichen Computer herunterlädt. Die Mehrzahl von Parametern, die mit dem persönlichen Computer assoziiert sind, mag aber selbstverständlich als Folge einer jeglichen Handlung oder eines jeglichen Kriteriums zu dem Server gesendet werden.
  • Ein Knoten in einem Parameter-DAG wird ferner, wie ist in der Operation 204 gezeigt ist, auf dem Server unter Verwendung der Mehrzahl von Parametern identifiziert, die zu dem Server gesendet wurde. Der Parameter-DAG mag zum Beispiel eine Mehrzahl von Knoten enthalten, die eindeutige Kombinationen von Parametern für den persönlichen Computer repräsentieren, und ein Knoten innerhalb des DAG, der alle oder einen vorbestimmten Subsatz der Mehrzahl von Parametern, die zu dem Server gesendet wurden, mag identifiziert werden.
  • Noch ferner, wie es in der Operation 206 gezeigt ist, wird auf dem Server ein erster Subsatz von allen Knoten in dem DAG bestimmt, die eindeutig langsamer als der identifizierte Knoten sind oder die gleiche Geschwindigkeit wie der identifizierte Knoten haben. In einer weiteren Ausführungsform mag jeder Knoten in dem Parameter-DAG eine eindeutige Kombination von Parametern für den persönlichen Computer repräsentieren und jeder Knoten in dem Parameter-DAG mag mit einer vorbestimmten Geschwindigkeit assoziiert sein (zum Beispiel einer Geschwindigkeit, bei der die eindeutige Kombination von Parametern des Knotens Daten verarbeiten kann). Eine Geschwindigkeit mag zum Beispiel für jede eindeutige Kombination von Parametern für den persönlichen Computer explizit berechnet oder approximiert werden, und eine solche Geschwindigkeit mag mit ihrer entsprechenden Knoten assoziiert sein.
  • In einer Ausführungsform mag der erste Subsatz von allen Knoten in dem DAG, die eindeutig langsamer als der identifizierte Knoten sind oder die gleiche Geschwindigkeit wie der identifizierte Knoten haben, durch Identifizieren aller Knoten, die direkt oder indirekt auf den identifizierten Knoten zeigen, auch bestimmt werden. Zusätzlich wird, wie es in der Operation 208 gezeigt ist, ein zweiter Subsatz von allen Knoten in dem ersten Subsatz, die assoziierte optimal spielbare Einstellungen haben, auf dem Server bestimmt. In einer Ausführungsform mag ein Knoten optimal spielbare Einstellungen mit sich assoziiert haben, wenn ein monotoner Satz von Voreinstellungen für die eindeutige Kombination von Parametern für den persönlichen Computer, die von dem Knoten repräsentiert wird, bestimmt worden ist.
  • In einer weiteren Ausführungsform mag jeder Knoten in dem DAG, der assoziierte optimal spielbare Einstellungen hat, von einem Flag oder einem anderen Identifikator identifiziert werden, und das Bestimmen des zweiten Subsatzes mag ein identifizieren aller Knoten in dem ersten Subsatz aufweisen, die ein Flag oder einen anderen Identifikator enthalten, die kennzeichnen, dass der Knoten optimal spielbare Einstellungen mit sich assoziiert hat.
  • Der Knoten mit dem besten Ergebnis von dem zweiten Subsatz wird ferner, wie es in der Operation 210 gezeigt ist, auf dem Server bestimmt. In einer Ausführungsform mag der Knoten mit dem maximalen Output von dem zweiten Subsatz durch bestimmen eines Maximum-Knotens des zweiten Subsatzes bestimmt werden, wobei eine größere Knoten einem Knoten von einem Satz mit einem größeren Output (zum Beispiel eine größere früher bestimmte Bildqualität während Ausführens vorbestimmter Software etc.) entspricht, und als ein Resultat entspricht der Maximum-Knoten dem Knoten des Satzes mit dem maximalen Output (zum Beispiel beste Bildqualität etc.).
  • Die optimal spielbaren Einstellungen, die mit dem Knoten mit dem besten Resultat von dem zweiten Subsatz assoziiert sind, werden noch ferner, wie es in der Operation 212 gezeigt ist, ausgewählt und von dem Server zu dem persönlichen Computer retourniert. In einer Ausführungsform mag ein Performancewert, der mit jeder der optimal spielbaren Einstellungen (zum Beispiel eine Frames-pro-Sekunde-Performance etc.) assoziiert ist, identifiziert und mit einem Schwellenwert verglichen werden, und nur die optimal spielbaren Einstellungen, die einen assoziierten Performancewert haben, der gleich oder größer dem Schwellenwert ist, mögen zu dem persönlichen Computer retourniert werden.
  • In einer weiteren Ausführungsform mögen einer oder mehrere Knoten in dem Parameter-DAG, die eindeutig schneller als der identifizierte Knoten sind und assoziierte optimal spielbare Einstellungen haben, auf dem Server bestimmt werden. Die optimal spielbaren Einstellungen von dem einen oder mehreren eindeutig schnelleren Knoten mögen gegenüber der Mehrzahl von Parametern, die mit dem persönlichen Computer assoziiert sind, getestet werden, um zu bestimmen, ob diese optimal spielbaren Einstellungen in einer höheren Performance resultieren als die optimal spielbare Einstellungen, die mit dem schnellsten Knoten des zweiten Subsatzes assoziiert sind. In dieser Art und Weise mögen die optimal spielbaren für den persönlichen Computer verfeinert werden.
  • 3 zeigt einen beispielhaften Parameter-DAG 300, gemäß einer weiteren Ausführungsform. Der beispielhafte Parameter-DAG 300 mag, als eine Option, im Kontext der Funktionalität von den 12 ausgeführt werden. Der Parameter-DAG 300 mag aber selbstverständlich in jeglicher gewünschter Umgebung implementiert werden. Es sollte auch beachtet werden, dass die oben erwähnten Definitionen im Laufe der folgenden Beschreibung Anwendung finden mögen.
  • Der beispielhafte Parameter-DAG 300 weist, wie gezeigt, eine Mehrzahl von Knoten 302A–I auf, die jeweils einer eindeutigen Kombination von einem ersten Satz 304 von Variationen 306A–C eines ersten Bauelements (zum Beispiel von einem CPU-Typ, etc.) eines persönlichen Computers und einem zweiten Satz 308 von Variationen 310A–C eines zweiten Bauelements (zum Beispiel von einem GPU-Typ) des persönlichen Computers aufweist. In einer Ausführungsform mag der DAG 300 einen gerichteten Grafen aufweisen, der keine gerichteten Zyklen aufweist, die durch die Sammlung von Knoten 302A–I (zum Beispiel Eckpunkte (engl. „vertices”) etc.) und eine Mehrzahl von gerichteten Kanten 312 gebildet werden, so dass es nicht möglich ist, bei einem beliebigen Knoten in dem DAG 300 zu starten und eine Sequenz von Kanten zu folgen, die letztendlich eine Schleife zurück zu diesem Startknoten bildet.
  • Die Knoten in sowohl dem ersten Satz 304 von Variationen 306A–C des ersten Bauelements als auch in dem zweiten Satz 308 von Variationen 310A–C des zweiten Bauelements sind des Weiteren basierend auf Verarbeitungsgeschwindigkeit gerichtet, wobei langsamere Knoten auf schnellere Knoten zeigen. Von daher 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.
  • In einer Ausführungsform mag die Geschwindigkeit von jedem der Knoten 302A–I unter Verwendung von einem oder mehreren Algorithmen, Benchmark-Tests, Herstelleroffenbarungen (engl. „manufacturer disclosures”) etc. bestimmt werden. In einer weiteren Ausführungsform mag die Position der Knoten 302A–I innerhalb des DAG 300 (einschließlich welcher Knoten auf welche Knoten zeigen) durch Analysieren von Bauelement-Eigenschaften in jedem Knoten und Vergleichen der gesamten Verarbeitungsgeschwindigkeit von jedem der Knoten 302A–I bestimmt werden.
  • Die gerichteten Kanten 312 zeigen des Weiteren, wie gezeigt, von Knoten, die langsameren eindeutigen Kombinationen von Parametervariationen des persönlichen Computers entsprechen, auf Knoten, die eindeutig schnelleren eindeutigen Kombinationen von Parametervariationen des persönlichen Computers entsprechen. In dieser Art und Weise entspricht der untere Knoten 302I der schnellsten Kombination von Parametervariationen des persönlichen Computers, wobei der obere Knoten 302A der langsamsten eindeutigen Kombination von Parametervariation des persönlichen Computers entspricht.
  • Die Identifikatoren 314A–C von optimal spielbaren Einstellungen sind ferner, wie gezeigt, jeweils mit den Knoten 302A, 302C und 302H assoziiert. In einer Ausführungsform mögen die Identifikatoren 314A–C von optimal spielbaren Einstellungen kennzeichnen, dass optimal spielbare Einstellungen für die Kombination von Parametervariationen, die den assoziierten Knoten 302A, 302C und 302H entsprechen, bestimmt worden sind. In einer Ausführungsform mag eine Kombination von Parametervariationen noch ferner identifiziert werden. Zum Beispiel mag eine berechnete Kombination von Parametervariationen, die als innerhalb eines persönlichen Computers installiert bestimmt wurden, von dem persönlichen Computer erhalten werden.
  • in einer Ausführungsform mag die identifizierte Kombination von Parametervariationen noch ferner zu dem Knoten 302E innerhalb des DAG 300 zugeordnet („matched”) werden. Die identifizierte Kombination von Parametervariationen mag zum Beispiel zu der Kombination von Parametervariationen passen (engl. „match”), der den Knoten 302E entspricht. In einer weiteren Ausführungsform mag es bestimmt werden, dass der Knotensubsatz, der die Knoten 302A, B, C, D und F enthält, eindeutig langsamer als der oder gleich dem Knoten 302E sind. Zum Beispiel zeigen alle Knoten 302A, B und C durch gerichtete Eckpunkte direkt oder indirekt auf den Knoten 302E, und folglich sind die Knoten 302A, B und C alle eindeutig langsamer als der Knoten 302E. In einem anderen Beispiel mag es bestimmt werden, dass die Knoten 302D und F in Bezug auf Geschwindigkeit gleich dem Knoten 302E sind.
  • In einer Ausführungsform mag es auch basierend auf dem Knotensubsatz, der die Knoten 302A, B, C, D und F enthält, bestimmt werden, dass die Knoten 302A und C die einzige Knoten in dem bestimmten Subsatz sind, die Identifikatoren 314A und B von optimal spielbaren Einstellungen enthalten. Es mag zusätzlich bestimmt werden, dass der Knoten 302C einen maximalen Output (zum Beispiel eine Konfiguration, die in einer höheren vorbestimmten Bildqualität während Ausführens vorbestimmter Software resultiert, etc.) als der Knoten 302A innerhalb des DAG 300 hat. Es mag folglich bestimmt werden, dass der Knoten 302C der Knoten ist, der der bevorzugten Kombination von Parametervariationen entspricht, für die optimal spielbare Einstellungen bestimmt worden sind, und eindeutig langsamer als oder gleich dem Knoten 302E ist.
  • In einer Ausführungsform mögen die optimal spielbaren Einstellungen, die für die Kombination von Parametervariationen, die dem Knoten 302C entspricht, bestimmt wurden, zusätzlich basierend auf der Bestimmung abgerufen und zu dem persönlichen Computer gesendet werden, der die berechnete Kombination von Parametervariationen sandte. In einer weiteren Ausführungsform mögen die optimal spielbaren Einstellungen, die für die Kombination von Parametervariationen, die dem Knoten 302C entspricht, bestimmt wurden, gefiltert werden, so dass nur die optimal spielbaren Einstellungen, die eine Schwellenwertperformance in Bezug auf Frames-pro-Sekunde bereitstellen, zu dem persönlichen Computer gesendet werden. In dieser Art und Weise mag eine Schwellenwertperformance des persönlichen Computers während Verwendung der optimal spielbaren Einstellungen garantiert werden.
  • 4 stellt ein beispielhaftes System 400 dar, in welchem die verschiedenen Architektur und/oder Funktionalität der verschiedenen vorhergehenden Ausführungsformen implementiert werden mögen. Wie gezeigt, wird ein System 400 bereitgestellt, das zumindest einen Hostprozessor 401 aufweist, der mit einem Kommunikationsbus 402 verbunden ist. Das System 400 weist auch einen Hauptspeicher 404 auf. Steuerungslogik (Software) und Daten sind in dem Hauptspeicher 404 gespeichert, der die Form eines Speichers mit direktem Zugriff (RAM) annehmen mag.
  • Das System 400 weist auch einen Grafikprozessor 406 und ein Display 408, das heißt einen Computermonitor, auf. In einer Ausführungsform mag der Grafikprozessor 406 eine Mehrzahl von Shadermodulen (engl. „shader modules”), ein Rasterisierungsmodul (engl. „rasterization module”) etc. aufweisen. Jedes der vorhergehenden Module mag sich sogar auf einer einzigen Halbleiterplattform befinden, um eine Grafikverarbeitungseinheit (GPU) zu bilden.
  • In der vorliegenden Beschreibung mag eine einzige Halbleiterplattform auf einen alleinigen einheitlichen halbleiterbasierten integrierten Schaltkreis oder Chip verweisen. Es sollte beachtet werden, dass der Begriff einzige Halbleiterplattform auch auf Mehrchipmodule mit erhöhter Konnektivität, die Auf-dem-Chip-Operation (engl. „on-chip Operation”) simuliert, verweisen mag und erhebliche Verbesserungen gegenüber der Verwendung einer konventionellen Implementierung mit zentralem Verarbeitungseinheit (CPU) und Bus erzielen mag. Die verschiedenen Module mögen selbstverständlich auch separat oder in verschiedenen Kombinationen von Halbleiterplattformen gemäß den Wünschen des Benutzers angeordnet werden.
  • Das System 400 mag auch einen sekundären Speicher 410 aufweisen. Der Sekundäre Speicher 410 weist zum Beispiel einen Festplattenlaufwerk und/oder einen entfernbaren Speicherlaufwerk (engl. „removable storage drive”), darstellend einen Floppy-Disk-Laufwerk, einen Magnetbandlaufwerk, einen Compact-Disk-Laufwerk etc. auf. Der entfernbare Speicherlaufwerk liest von und/oder schreibt zu einer entfernbaren Speichereinheit in einer wohlbekannten Art und Weise.
  • Computerprogramme oder Computersteuerungsalgorithmen mögen in dem Hauptspeicher 404 und/oder in dem sekundären Speicher 410 gespeichert werden. Solche Programme machen es, wenn sie ausgeführt werden, für das System 400 möglich, verschiedene Funktionen durchzuführen. Speicher 404, Speicher 410 und/oder jeglicher andere Speicher sind mögliche Beispiele von computerlesbaren Medien.
  • In einer Ausführungsform mag die Architektur und/oder Funktionalität der verschiedenen vorhergehenden Figuren im Kontext des Hostprozessors 401, des Grafikprozessors 406, eines integrierten Schaltkreises (nicht gezeigt), der zu zumindest einen Teil der Fähigkeiten von sowohl dem Hostprozessor 401 als auch dem Grafikprozessor 406 aufweist, eines Chipsatzes (das heißt, eine Gruppe von integrierten Schaltkreisen, die zum arbeiten konzipiert sind und als eine Einheit zum Ausführen verwandter Funktionen verkauft werden) und/oder übrigens auch irgendeines anderen integrierten Schaltkreises.
  • Die Architektur und/oder Funktionalität der verschiedenen vorhergehenden Figuren mögen aber auch in dem Kontext eines generellen bzw. allgemeinen Computersystems, eines Leiterplattensystems, eines Spielkonsolsystems, das für Unterhaltungszwecke dediziert ist, eines anwendungsspezifischen Systems und/oder jegliches anderen gewünschten Systems implementiert werden. Zum Beispiel, mag das System 400 die Form eines Desktopcomputers, eines Laptopcomputers und/oder jeglicher anderen Art von Logik annehmen. Das System 400 mag aber auch die Form verschiedener anderen Vorrichtungen annehmen, einschließlich einer persönlichen digitalen Assistenten-Vorrichtung (PDA), einer Mobiltelefon-Vorrichtung, eines Fernsehers etc., ohne auf diese begrenzt zu sein.
  • Das System 400 mag ferner, obwohl dies nicht gezeigt ist, an ein Netzwerk (zum Beispiel ein Telekommunikationsnetzwerk, ein lokales Netzwerk (LAN), ein drahtloses Netzwerk, ein Weitverkehrsnetz (WAN), wie das Internetz, ein Peer-to-Peer-Netzwerk, ein Kabelnetzwerk etc.) zu Kommunikationszwecken gekoppelt sein.
  • Während verschiedene Ausführungsformen oben beschrieben worden sind, sollte es verstanden werden, dass diese nur beispielhaft und nicht einschränkend dargestellt worden sind. Folglich sollte die Weite und der Umfang einer bevorzugten Ausführungsform nicht von einer jeglichen der oben beschriebenen Ausführungsformen begrenzt werden, sondern nur in Übereinstimmung mit den nachfolgenden Ansprüchen und deren Äquivalenten definiert werden.

Claims (20)

  1. Ein Verfahren aufweisend: Identifizieren einer Mehrzahl von Parametern, die mit einer Vorrichtung assoziiert sind; und Bestimmen einer oder mehrerer Einstellungen, die mit der Vorrichtung assoziiert sind, basierend auf der Mehrzahl von Parametern.
  2. Das Verfahren gemäß Anspruch 1, wobei die Mehrzahl von Parametern Beschreibungen von Hardware aufweist, die innerhalb der Vorrichtung installiert ist.
  3. Das Verfahren gemäß einem der Ansprüche 1 oder 2, wobei die Mehrzahl von Parametern Beschreibungen von Software aufweist, die innerhalb der Vorrichtung installiert ist.
  4. Das Verfahren gemäß einem der Ansprüche 1 bis 3, wobei die Einstellungen vorbestimmte Einstellungen für einen oder mehrere von der Mehrzahl von Parametern aufweisen, die mit der Vorrichtung assoziiert sind.
  5. Das Verfahren gemäß einem der Ansprüche 1 bis 4, wobei die Einstellungen vorbestimmte Einstellungen zum Ausführen eines oder mehrerer Softwareprogramme mittels der Vorrichtung aufweisen.
  6. Das Verfahren gemäß einem der Ansprüche 1 bis 5, wobei die eine oder mehreren Einstellungen, die mit der Vorrichtung assoziiert sind, unter Verwendung eines gerichteten azyklischen Grafen (DAG) bestimmt werden.
  7. Das Verfahren gemäß Anspruch 6, wobei der DAG eine Mehrzahl von gerichteten Knoten aufweist.
  8. Das Verfahren gemäß Anspruch 7, wobei jeder der Mehrzahl von Knoten des DAG eine Kombination von Vorrichtungsparametern repräsentiert.
  9. Das Verfahren gemäß Anspruch 8, wobei die Knoten innerhalb des DAG basierend auf einer mit jedem Knoten assoziierten Geschwindigkeit gerichtet sind, wobei die Geschwindigkeit basierend auf den von dem Knoten repräsentierten Vorrichtungsparametern bestimmt wird.
  10. Das Verfahren gemäß Anspruch 7, wobei ein erster Knoten des DAG auf einen zweiten Knoten des DAG zeigt, wenn es bestimmt wird, dass der zweite Knoten des DAG in einer oder mehrerer Hinsichten eindeutig schneller als der erste Knoten des DAG ist.
  11. Das Verfahren gemäß Anspruch 7, wobei jeder Knoten in dem DAG eine eindeutige Variation von einer Mehrzahl von möglichen mit der Vorrichtung assoziierten Parametern repräsentiert.
  12. Das Verfahren gemäß Anspruch 6, wobei das Bestimmen der eine oder mehreren mit der Vorrichtung assoziierten Einstellungen ein Identifizieren eines Knotens in dem DAG aufweist, welcher Knoten der identifizierte Mehrzahl von mit der Vorrichtung assoziierten Parametern entspricht.
  13. Das Verfahren gemäß Anspruch 12, wobei das Bestimmen der einen oder mehreren mit der Vorrichtung assoziierten Einstellungen ein Bestimmen eines ersten Subsatzes von Knoten in dem DAG aufweist, die eindeutig langsamer als der identifizierte Knoten sind oder die gleiche Geschwindigkeit wie der identifizierte Knoten haben, welcher Knoten der identifizierten Mehrzahl von mit der Vorrichtung assoziierten Parametern entspricht.
  14. Das Verfahren gemäß Anspruch 13, wobei das Bestimmen der einen oder mehreren mit der Vorrichtung assoziierten Einstellungen ein Bestimmen, aus dem ersten Subsatzes von Knoten, eines zweiten Subsatzes von Knoten aufweist, für die eine vorbestimmte oder mehrere vorbestimmten Einstellungen bestimmt worden sind.
  15. Das Verfahren gemäß Anspruch 14, wobei das Bestimmen der einen oder mehreren mit der Vorrichtung assoziierten Einstellungen ein Identifizieren eines finalen Knotens aus dem zweiten Subsatzes von Knoten aufweist, welcher Knoten einen monotonen Satz von Voreinstellungen hat, der einen maximalen Output von dem zweiten Subsatz von Knoten ergibt.
  16. Das Verfahren gemäß Anspruch 15, wobei die eine oder mehreren mit der Vorrichtung assoziierten Einstellungen die eine oder mehreren vorbestimmten Einstellungen des finalen Knotens enthalten.
  17. Das Verfahren gemäß Anspruch 16, wobei die eine oder mehreren mit der Vorrichtung assoziierten Einstellungen, die basierend auf der Mehrzahl von Parametern bestimmt werden, zu der Vorrichtung retourniert werden.
  18. Ein Computerprogrammprodukt, das auf einem computerlesbaren Medium verkörpert ist, das Computerprogrammprodukt aufweisend: Code zum Durchführen der Operationen gemäß einem der Ansprüche 1 bis 17.
  19. Ein System aufweisend: einen Prozessor zum Ausführen der Operationen gemäß einem der Ansprüche 1 bis 17.
  20. Das System gemäß Anspruch 19, wobei der Prozessor über einen Bus an einen Speicher gekoppelt ist.
DE102013213048.1A 2012-07-06 2013-07-04 System, Verfahren und Computerprogrammprodukt zum Bestimmen von Einstellungen für eine Vorrichtung Granted DE102013213048A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/543,242 US9286247B2 (en) 2012-07-06 2012-07-06 System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality
US13/543,242 2012-07-06

Publications (1)

Publication Number Publication Date
DE102013213048A1 true DE102013213048A1 (de) 2014-01-09

Family

ID=49780835

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013213048.1A Granted DE102013213048A1 (de) 2012-07-06 2013-07-04 System, Verfahren und Computerprogrammprodukt zum Bestimmen von Einstellungen für eine Vorrichtung

Country Status (4)

Country Link
US (1) US9286247B2 (de)
CN (1) CN103530243B (de)
DE (1) DE102013213048A1 (de)
TW (1) TWI518509B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275377B2 (en) * 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1586705A (de) 1968-09-19 1970-02-27
US5086386A (en) 1990-03-23 1992-02-04 Sun Microsystems, Inc. Method and apparatus for benchmarking the working set of window-based computer systems
US5388841A (en) 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
US5671351A (en) 1995-04-13 1997-09-23 Texas Instruments Incorporated System and method for automated testing and monitoring of software applications
TW292365B (en) 1995-05-31 1996-12-01 Hitachi Ltd Computer management system
US7163588B2 (en) 1997-05-09 2007-01-16 Semitool, Inc. Processing a workpiece using water, a base, and ozone
US5987624A (en) 1997-06-10 1999-11-16 Paradise Electronics, Inc. Method and apparatus for automatically determining signal parameters of an analog display signal received by a display unit of a computer system
US5958058A (en) 1997-07-18 1999-09-28 Micron Electronics, Inc. User-selectable power management interface with application threshold warnings
US6314479B1 (en) 1997-08-04 2001-11-06 Compaq Computer Corporation Universal multi-pin plug and display connector for standardizing signals transmitted between a computer and a display for a PC theatre interconnectivity system
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US6725260B1 (en) 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
US6847358B1 (en) 1999-08-06 2005-01-25 Microsoft Corporation Workstation for processing and producing a video signal
US6850973B1 (en) 1999-09-29 2005-02-01 Fisher-Rosemount Systems, Inc. Downloadable code in a distributed process control system
JP4470259B2 (ja) 2000-01-27 2010-06-02 ソニー株式会社 映像処理装置
US6654952B1 (en) * 2000-02-03 2003-11-25 Sun Microsystems, Inc. Region based optimizations using data dependence graphs
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6753881B1 (en) 2000-11-01 2004-06-22 Ati International Srl Adapter and method to connect a component video input television to a video providing unit
KR100520058B1 (ko) 2000-12-13 2005-10-11 삼성전자주식회사 디바이스드라이버 업그레이드 시스템 및 디바이스드라이버업그레이드 방법
US7076536B2 (en) 2000-12-21 2006-07-11 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier
US7080247B2 (en) 2000-12-22 2006-07-18 Evga Corporation System and method for automated display driver management
US7165109B2 (en) 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US6901580B2 (en) 2001-06-22 2005-05-31 Intel Corporation Configuration parameter sequencing and sequencer
WO2003009104A2 (en) 2001-07-19 2003-01-30 Adhikari Technology, Inc. Business valuation system and method
US6941450B2 (en) * 2001-07-30 2005-09-06 International Business Machines Corporation System and method for identifying one or more optimum configurations of a data processing system
US20030033519A1 (en) 2001-08-13 2003-02-13 Tippingpoint Technologies,Inc. System and method for programming network nodes
JP2003076619A (ja) 2001-08-31 2003-03-14 Allied Tereshisu Kk 通信処理装置、管理装置、プログラム及び通信システム
US7320142B1 (en) 2001-11-09 2008-01-15 Cisco Technology, Inc. Method and system for configurable network intrusion detection
US20030140333A1 (en) 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
US20050120208A1 (en) 2002-01-25 2005-06-02 Albert Dobson Robert W. Data transmission systems
US7299382B2 (en) 2002-04-29 2007-11-20 Sun Microsystems, Inc. System and method for automatic test case generation
US7577951B2 (en) 2002-05-30 2009-08-18 Hewlett-Packard Development Company, L.P. Performance of computer programs while they are running
US7293201B2 (en) 2003-01-17 2007-11-06 Microsoft Corporation System and method for active diagnosis and self healing of software systems
US7584467B2 (en) 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
US20070172140A1 (en) 2003-03-19 2007-07-26 Nils Kokemohr Selective enhancement of digital images
US7359562B2 (en) 2003-03-19 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Enhancing low quality videos of illuminated scenes
US20040212610A1 (en) 2003-04-25 2004-10-28 Dell Products L.P. Method and apparatus for associating display configuration information with respective displays of an information handling system
US7181376B2 (en) 2003-06-03 2007-02-20 International Business Machines Corporation Apparatus and method for coverage directed test
US8392879B2 (en) 2003-10-06 2013-03-05 National Instruments Corporation Parameter assistant for automatically specifying parameter values for a software program
US7369159B2 (en) 2004-03-17 2008-05-06 Rgb Systems, Inc. Method and apparatus for dynamically testing video equipment
US7626944B1 (en) 2004-03-31 2009-12-01 Packeteer, Inc. Methods, apparatuses and systems facilitating remote, automated deployment of network devices
CN100371917C (zh) 2004-09-22 2008-02-27 宏正自动科技股份有限公司 内建于硬件装置的驱动程序的安装方法
US7627537B2 (en) * 2004-10-28 2009-12-01 Intel Corporation Score result reuse for Bayesian network structure learning
US7603445B1 (en) 2004-11-10 2009-10-13 Juniper Networks, Inc. Managing and changing device settings
US7450084B2 (en) 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations
US7561161B2 (en) 2005-01-28 2009-07-14 Microsoft Corporation Quantitative measure of a video interface
CN1889162A (zh) 2005-07-02 2007-01-03 群康科技(深圳)有限公司 液晶显示器韧体更新系统及方法
US7648460B2 (en) 2005-08-31 2010-01-19 Siemens Medical Solutions Usa, Inc. Medical diagnostic imaging optimization based on anatomy recognition
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
US7840915B2 (en) 2006-02-01 2010-11-23 The Trustees Of Columbia University In The City Of New York Methods and media for forming a bound network
JP4218766B2 (ja) 2006-03-09 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション シナリオをテストする方法、装置、及びプログラム
JP2007310245A (ja) 2006-05-19 2007-11-29 Eastman Kodak Co ドライバ回路
US7689954B2 (en) 2006-05-25 2010-03-30 Wisconsin Alumni Research Foundation Efficient statistical timing analysis of circuits
US20080005611A1 (en) 2006-05-31 2008-01-03 Microsoft Corporation Providing A Restore Operating System With New Or Updated Software Components
US7659897B1 (en) 2006-06-30 2010-02-09 Nvidia Corporation System, method, and computer program product for video benchmarking
US20080072077A1 (en) 2006-08-24 2008-03-20 Ati Technologies Inc. Notification of Revocation in a Device Offering Secure Playback of Content
US8292741B2 (en) 2006-10-26 2012-10-23 Cfph, Llc Apparatus, processes and articles for facilitating mobile gaming
EP2091253B1 (de) 2006-11-07 2015-07-29 Sony Corporation Sendeeinrichtung, videosignalsendeverfahren in einer sendeeinrichtung, empfangseinrichtung und videosignalempfangsverfahren in einer empfangseinrichtung
US20080133067A1 (en) 2006-11-30 2008-06-05 Demay Rod Vehicle monitoring system
US9522332B2 (en) 2006-12-13 2016-12-20 Voodoo Gaming Llc Video games including real-life attributes and/or fantasy team settings
US20080242423A1 (en) 2007-03-27 2008-10-02 Shelford Securities, S.A. Real-money online multi-player trivia system, methods of operation, and storage medium
US8204955B2 (en) 2007-04-25 2012-06-19 Miovision Technologies Incorporated Method and system for analyzing multimedia content
US8312389B2 (en) 2007-08-31 2012-11-13 Fair Isaac Corporation Visualization of decision logic
US7942315B2 (en) 2007-09-05 2011-05-17 Ncr Corporation Self-service terminal
US20090069084A1 (en) 2007-09-12 2009-03-12 Reece Alex D System and Methods for Monitoring and Controlling the Actions of an Avatar in a Virtual Environment
US8463641B2 (en) 2007-10-05 2013-06-11 The Boeing Company Method and system using linear programming for estimating test costs for bayesian diagnostic models
US8276133B1 (en) 2007-12-11 2012-09-25 Nvidia Corporation System, method, and computer program product for determining a plurality of application settings utilizing a mathematical function
US8296781B1 (en) 2007-12-11 2012-10-23 Nvidia Corporation System, method, and computer program product for determining application parameters based on hardware specifications
US8280864B1 (en) 2007-12-17 2012-10-02 Nvidia Corporation System, method, and computer program product for retrieving presentation settings from a database
CN101303672B (zh) 2008-03-25 2011-07-20 杭州赛利科技有限公司 电脑多路输入输出命令操作系统、输入设备及运行方法
TWI453596B (zh) 2008-10-23 2014-09-21 Micro Star Int Co Ltd 輸出bios偵錯碼的裝置與方法
US20100162201A1 (en) 2008-12-18 2010-06-24 Sap Ag Automated multi-platform configuration tool for master data management systems using secure shell protocol
US8171343B2 (en) 2009-06-16 2012-05-01 Oracle International Corporation Techniques for determining models for performing diagnostics
TW201205427A (en) 2010-07-22 2012-02-01 Hon Hai Prec Ind Co Ltd System and method for adjusting the display parameters automatically
US8787392B2 (en) * 2010-12-17 2014-07-22 Cisco Technology, Inc. Dynamic routing metric adjustment
CA2774575A1 (en) 2011-04-19 2012-10-19 Monoidics Ltd. System and method for display of software quality
US9275377B2 (en) 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations

Also Published As

Publication number Publication date
CN103530243A (zh) 2014-01-22
TW201416863A (zh) 2014-05-01
US9286247B2 (en) 2016-03-15
TWI518509B (zh) 2016-01-21
CN103530243B (zh) 2016-12-28
US20140013094A1 (en) 2014-01-09

Similar Documents

Publication Publication Date Title
DE102013212482B4 (de) System, Verfahren und Computerprogrammprodukt zum Bestimmen, ob Parameterkonfigurationen vorbestimmte Kriterien erfüllen
DE102013213047A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen von Vorrichtungsparametern
DE102013213094B4 (de) System, Verfahren und Computer-Programm-Produkt zum Berechnen von Einstellungen für ein Gerät, unter Benutzung von einer oder mehreren Einschränkungen
DE102013213093A1 (de) System, Verfahren und Computerprogrammprodukt zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parametervariationen
DE102013213048A1 (de) System, Verfahren und Computerprogrammprodukt zum Bestimmen von Einstellungen für eine Vorrichtung
DE102020125207A1 (de) Unbeaufsichtigtes training von neuronalem netz zur bildkompression mit hohem dynamikumfang
DE102017123054A1 (de) Verfahren und System zur System-On-Chip-Integritätsverifizierung
DE112014002585T5 (de) Verfahren und Vorrichtung zum Protokollieren von Datenaufzeichnungen
DE112016006873T5 (de) Erfassung von Menschen in Bildern unter Verwendung von Tiefeninformationen
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
DE112014007090T5 (de) Verfahren und systeme zum automatischen tagging anhand von software-ausführungs-traces
DE102011011641A1 (de) System, Verfahren und Computerprogrammprodukt zum Wiedergeben von Pixeln mit zumindest einer halbtransparenten Oberfläche
DE102013108965A1 (de) Verarbeitungsverfahren und Verarbeitungsvorrichtung zum Anzeigen eines Icons und elektronisches Gerät
DE112021006096T5 (de) Verändern der benutzeroberfläche einer anwendung während einer aufzeichnungssitzung
DE102012224270A1 (de) Verbinden einer synchronen domänenübergreifenden Transaktionsaktivität in einem einzelnen System
DE102015111820A1 (de) Auswählen eines Netzwerkes
DE102022116905A1 (de) Verfahren und system zur dynamischen rauschunterdrückung eines neuronalen netzwerks zur audioverarbeitung
DE112010004809T5 (de) Mehrfachgranulare Datenstromverarbeitung
DE102021212260A1 (de) Datenanalysevorrichtung und Datenanalyseverfahren
DE102014007023A1 (de) Bildeffektextraktion
DE102007032812A1 (de) Verfahren und Vorrichtung zum Erstellen eines Komplexitätsvektors für zumindest eines Teils einer SVG Szene, sowie Verfahren und Prüfvorrichtung zum Überprüfen einer Abspieltauglichkeit zumindest eines Teils einer SVG-Szene auf einem Gerät
DE112013006292T5 (de) Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads
DE102020002302A1 (de) Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden
DE102012218768B4 (de) Bildverarbeitungssysteme und verwandte verfahren
DE112013004307T5 (de) Systeme und Verfahren für eine zustandsbasierte Testfallgenerierung zur Software-Validierung

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
R018 Grant decision by examination section/examining division