(57)【要約】  少なくとも２つのグラフィックプロセッサを有するデバイスにおいて、前記デバイスが第１のまたはカレントグラフィックプロセッサから第２のまたはターゲットグラフィックプロセッサに切り替わったかどうかが決定される。前記第１のグラフィックプロセッサに対応する設定のうち、前記第２のグラフィックプロセッサに適用する少なくとも一部の設定が特定され、これらの転送可能設定に基づいて、前記第２のグラフィックプロセッサの設定が更新される。前記転送可能設定は、前記第１のグラフィックプロセッサに対応するどの設定が変更されたかを示す変更指標に基づいて特定されうる。必要な場合、前記転送可能設定の特定の設定に、変換または転換が適用されうる。その後前記アクティブなグラフィックプロセッサが遷移したときにも、同様な設定の転送が行われうる。一実施形態では、グラフィックプロセッサ間の遷移は、前記デバイスの電力状態の変化によって発生しうる。
2011507080.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのグラフィックプロセッサを有するデバイスにおいて、前記少なくとも２つのグラフィックプロセッサのうちのグラフィックプロセッサ間で動作を移行するための方法であって、
前記デバイスが、前記少なくとも２つのグラフィックプロセッサの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサの第２のグラフィックプロセッサに切り替えられたことを決定するステップと、
転送可能設定を提供するために、前記第１のグラフィックプロセッサに対応する設定のうち、前記第２のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定するステップと、
更新された設定を提供するために、前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するステップとを含む、方法。
【請求項２】
前記転送可能設定を特定するステップは変更された前記第１のグラフィックプロセッサに対応する設定を特定するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記変更された前記第１のグラフィックプロセッサに対応する設定を特定するステップは、少なくとも前記第１のグラフィックプロセッサに対応する一部の設定に対する変更指標を確認するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記第２のグラフィックプロセッサに対応する前記設定を更新する際に、前記第１のグラフィックプロセッサに対応する各設定に対する前記変更指標をリセットするステップを更に含む、請求項３に記載の方法。
【請求項５】
前記デバイスは前記少なくとも２つのグラフィックプロセッサのいずれかと通信しているディスプレイを更に備え、前記方法は、
前記第２のグラフィックプロセッサによって、前記更新された設定に基づいて、前記ディスプレイに表示データを提供するステップを更に含む、請求項１に記載の方法。
【請求項６】
前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するステップは、
前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を前記転送可能設定のうちの対応する設定で置換するステップを更に含む、請求項１に記載の方法。
【請求項７】
前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するステップは、
少なくとも１つの転換された設定を提供するために前記転送可能設定のうちの少なくとも１つを転換するステップと、
前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を前記少なくとも１つの転換された設定のうちの対応する設定で置換するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記デバイスが前記第１のグラフィックプロセッサに切り替わったことを決定するステップと、
追加の転送可能設定を提供するために、前記第２のグラフィックプロセッサに対応する設定のうち、前記第１のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定するステップと、
追加の更新された設定を提供するために前記追加の転送可能設定に基づいて前記第１のグラフィックプロセッサに対応する設定を更新するステップとを更に含む、請求項１に記載の方法。
【請求項９】
前記第２のグラフィックプロセッサへの前記切り替えは前記デバイスの電力状態の変化によって発生する、請求項１に記載の方法。
【請求項１０】
少なくとも２つのグラフィックプロセッサと、前記少なくとも２つのグラフィックプロセッサに一意に関連する少なくとも２つのグラフィックプロセッサ制御プログラムとを備えるデバイスにおいて、前記少なくとも２つのグラフィックプロセッサの動作を制御するための方法であって、
前記少なくとも２つのグラフィックプロセッサのうちの現在アクティブなグラフィックプロセッサを特定するステップと、
前記少なくとも２つのグラフィックプロセッサ制御プログラムのうちの前記現在アクティブなグラフィックプロセッサに関連するカレントグラフィックプロセッサ制御プログラムのインスタンスを生成するステップを含む、方法。
【請求項１１】
前記少なくとも２つのグラフィックプロセッサ制御プログラムのグラフィックプロセッサ制御プログラムの起動要求を受け取るステップを更に含み、現在アクティブなグラフィックプロセッサを特定するステップは前記要求に応答して行われる、請求項１０に記載の方法。
【請求項１２】
前記デバイスが、前記少なくとも２つのグラフィックプロセッサの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサの第２のグラフィックプロセッサに動作を移行したことを決定するステップを更に含み、
前記現在アクティブなグラフィックプロセッサを特定するステップは、前記デバイスが前記第１のグラフィックプロセッサから前記第２のグラフィックプロセッサに動作を移行したと決定されると行われる、請求項１０に記載の方法。
【請求項１３】
前記デバイスが前記第１のグラフィックプロセッサから前記第２のグラフィックプロセッサに動作を移行したことを前記デバイスのユーザに通知するステップを更に含む、請求項１２に記載の方法。
【請求項１４】
少なくとも２つのグラフィックプロセッサを備え、前記少なくとも２つのグラフィックプロセッサのうちのグラフィックプロセッサ間で動作を移行することが可能なデバイスであって、
前記少なくとも２つのグラフィックプロセッサのうちの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサのうちに第２のグラフィックプロセッサに動作が遷移したときに切替指標を提供するように動作可能なアクティブグラフィックプロセッサ決定部と、
前記アクティブグラフィックプロセッサ決定部と通信しており、前記切替指標に応答し、かつ転送可能設定を提供するために、前記第１のグラフィックプロセッサに対応する設定のうち、前記第２のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定するように動作可能な転送可能設定特定部と、
前記転送可能設定特定部と通信しており、更新された設定を提供するために、前記転送可能設定に基づいて、第２のグラフィックプロセッサに対応する設定を更新するように動作可能な更新制御部とを備える、デバイス。
【請求項１５】
前記転送可能設定特定部は、変更された前記第１のグラフィックプロセッサに対応する設定を特定することによって、前記転送可能設定を特定するように更に動作可能である、請求項１４に記載のデバイス。
【請求項１６】
前記転送可能設定特定部は、前記第１のグラフィックプロセッサに対応する各設定に対する変更指標を確認することによって、変更された前記第１のグラフィックプロセッサに対応する設定を特定し、前記第２のグラフィックプロセッサに対応する前記設定を更新する際に、前記第１のグラフィックプロセッサの各設定に対応する前記変更指標をリセットするように更に動作可能である、請求項１５に記載のデバイス。
【請求項１７】
前記少なくとも２つのグラフィックプロセッサのいずれかと通信しているディスプレイを更に備え、前記第２のグラフィックプロセッサは前記更新された設定に基づいて前記ディスプレイに表示データを提供するように動作可能である、請求項１４に記載のデバイス。
【請求項１８】
前記更新制御部は、前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を、前記転送可能設定のうちの対応する設定で置換することによって、前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するように更に動作可能である、請求項１４に記載のデバイス。
【請求項１９】
前記更新制御部は、
少なくとも１つの転換された設定を提供するために前記転送可能設定のうちの少なくとも１つを転換し、
前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を、前記少なくとも１つの転換された設定のうちの対応する設定で置換することによって、前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するように更に動作可能である、請求項１４に記載のデバイス。
【請求項２０】
前記アクティブグラフィックプロセッサ決定部は、前記デバイスが前記第１のグラフィックプロセッサに切り替わったことを決定するように更に動作可能であり、
転送可能設定特定部は、追加の転送可能設定を提供するために、前記第２のグラフィックプロセッサに対応する設定のうち、前記第１のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定するように動作可能であり、前記更新制御部は、追加の更新された設定を提供するために、前記追加の転送可能設定に基づいて前記第１のグラフィックプロセッサに対応する設定を更新するように更に動作可能である、請求項１４に記載のデバイス。
【請求項２１】
前記アクティブグラフィックプロセッサ決定部は前記デバイスの電力状態の変化に応答して前記切替指標を提供するように動作可能な電力状態監視部を有する、請求項１４に記載のデバイス。
【請求項２２】
実行可能命令が記憶されているプロセッサ可読媒体であって、前記実行可能命令は、実行されると、少なくとも２つのグラフィックプロセッサを備え、前記少なくとも２つのグラフィックプロセッサのうちのグラフィックプロセッサ間で動作を移行することが可能なデバイスを、
前記デバイスが、前記少なくとも２つのグラフィックプロセッサの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサの第２のグラフィックプロセッサに切り替わったことを決定し、
転送可能設定を提供するために、前記第１のグラフィックプロセッサに対応する設定のうち、前記第２のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定し、
更新された設定を提供するために、前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するように構成する、プロセッサ可読媒体。
【請求項２３】
前記プロセッサによって実行されると前記転送可能設定を特定する前記プロセスを行わせる前記実行可能命令は、前記プロセッサに更に変更された前記第１のグラフィックプロセッサに対応する設定を特定させる実行可能命令を有する、請求項２２に記載のプロセッサ可読媒体。
【請求項２４】
前記プロセッサによって実行されると、変更された前記第１のグラフィックプロセッサに対応する設定を特定する前記プロセスを行わせる前記実行可能命令は、前記プロセッサに更に、前記第１のグラフィックプロセッサに対応する各設定に対する変更指標を確認させ、前記第２のグラフィックプロセッサに対応する前記設定を更新する際に、前記第１のグラフィックプロセッサの各設定に対応する前記変更指標をリセットさせる実行可能命令を含む、請求項２３に記載のプロセッサ可読媒体。
【請求項２５】
前記プロセッサによって実行されると、前記プロセッサに、
前記更新された設定に基づいて、前記少なくとも２つのグラフィックプロセッサのいずれかと通信している前記ディスプレイに表示データを提供させるプロセッサ実行可能命令を更に含む、請求項２２に記載のプロセッサ可読媒体。
【請求項２６】
前記プロセッサによって実行されると、前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するプロセスを行わせる実行可能命令は、前記プロセッサに更に、
前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を前記転送可能設定のうちの対応する設定で置換させる実行可能命令を有する、請求項２２に記載のプロセッサ可読媒体。
【請求項２７】
前記プロセッサによって実行されると前記転送可能設定に基づいて前記第２のグラフィックプロセッサに対応する設定を更新するプロセスを行わせる実行可能命令は、前記プロセッサに更に、
少なくとも１つの転換された設定を提供するために前記転送可能設定のうちの少なくとも１つを転換させ、
前記第２のグラフィックプロセッサに対応する前記設定のうちの設定を前記少なくとも１つの転換された設定のうちの対応する設定で置換させる実行可能命令を含む、請求項２２に記載のプロセッサ可読媒体。
【請求項２８】
前記プロセッサによって実行されると、前記プロセッサに、
前記デバイスが前記第１のグラフィックプロセッサに切り替わったことを決定させ、
追加の転送可能設定を提供するために、前記第２のグラフィックプロセッサに対応する設定のうち、前記第１のグラフィックプロセッサに適用すべき少なくとも一部の設定を特定させ、
追加の更新された設定を提供するために、前記追加の転送可能設定に基づいて前記第１のグラフィックプロセッサに対応する設定を更新させる実行可能命令を含む、請求項２２に記載のプロセッサ可読媒体。
【請求項２９】
少なくとも２つのグラフィックプロセッサを備え、前記少なくとも２つのグラフィックプロセッサのうちのグラフィックプロセッサ間で動作を移行することが可能であり、少なくとも２つのグラフィックプロセッサに一意に関連する少なくとも２つのグラフィックプロセッサ制御プログラムを有するデバイスであって、
前記少なくとも２つのグラフィックプロセッサうちの現在アクティブなグラフィックプロセッサの識別情報を提供するように動作可能なアクティブグラフィックプロセッサ決定部と、
前記アクティブグラフィックプロセッサ決定部と通信しており、前記識別情報に応答して、前記少なくとも２つのグラフィックプロセッサ制御プログラムのうちの前記現在アクティブなグラフィックプロセッサに関連するカレントグラフィックプロセッサ制御プログラムのインスタンスを生成するように動作可能な制御プログラム選択部とを備える、デバイス。
【請求項３０】
前記デバイスは、
前記アクティブグラフィックプロセッサ決定部と通信しており、前記少なくとも２つのグラフィックプロセッサ制御プログラムのグラフィックプロセッサ制御プログラムの起動要求を受け取るように動作可能な要求入力機構を更に備え、前記アクティブグラフィックプロセッサ決定部は、前記要求に応答して前記現在アクティブなグラフィックを決定するように更に動作可能である、請求項２９に記載のデバイス。
【請求項３１】
前記アクティブグラフィックプロセッサ決定部は、前記デバイスが、前記少なくとも２つのグラフィックプロセッサの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサの第２のグラフィックプロセッサに動作を移行したときに、識別情報を提供するように更に動作可能である、請求項２９に記載のデバイス。
【請求項３２】
前記デバイスは、
前記アクティブグラフィックプロセッサ決定部と通信しており、前記デバイスが前記第１のグラフィックプロセッサから前記第２のグラフィックプロセッサに動作を移行したことを前記デバイスのユーザに通知するように動作可能なユーザ出力機構を更に備える、請求項３１に記載のデバイス。
【請求項３３】
実行可能命令が記憶されているプロセッサ可読媒体であって、前記実行可能命令は、実行されると、少なくとも２つのグラフィックプロセッサを備え、前記少なくとも２つのグラフィックプロセッサのうちのグラフィックプロセッサ間で動作を移行することが可能なデバイスを、
前記少なくとも２つのグラフィックプロセッサのうちの現在アクティブなグラフィックプロセッサを特定させ、
前記現在アクティブなグラフィックプロセッサに一意に関連する少なくとも２つのグラフィックプロセッサ制御プログラムのうち、前記現在アクティブなグラフィックプロセッサに関連するカレントグラフィックプロセッサ制御プログラムのインスタンスを生成させるように構成する、プロセッサ可読媒体。
【請求項３４】
前記プロセッサによって実行されると、前記デバイスを、
前記少なくとも２つのグラフィックプロセッサ制御プログラムのグラフィックプロセッサ制御プログラムの起動要求を受け取らせるように構成するプロセッサ可読命令を更に含み、現在アクティブなグラフィックプロセッサは前記要求に応答して特定される、請求項３３に記載のプロセッサ可読媒体。
【請求項３５】
前記プロセッサによって実行されると、前記デバイスを、
前記デバイスが、前記少なくとも２つのグラフィックプロセッサの第１のグラフィックプロセッサから前記少なくとも２つのグラフィックプロセッサの第２のグラフィックプロセッサに動作を移行したことを決定させるように構成するプロセッサ可読命令を更に含み、現在アクティブなグラフィックプロセッサは、前記デバイスが前記第１のグラフィックプロセッサから前記第２のグラフィックプロセッサに動作を移行したことの決定に応答して特定される、請求項３３に記載のプロセッサ可読媒体。
【請求項３６】
前記プロセッサによって実行されると、前記デバイスを、
前記デバイスが前記第１のグラフィックプロセッサから前記第２のグラフィックプロセッサに動作を移行したことを前記デバイスのユーザに通知させるように構成するプロセッサ可読命令を更に含む、請求項３５に記載のプロセッサ可読媒体。
【請求項３７】
ディスプレイおよびユーザ選択デバイスを含む、グラフィカルなユーザインタフェースを有するコンピューティングシステムにおいて、少なくとも２つのグラフィックプロセッサの動作を制御するための方法であって、
前記ディスプレイにグローバル設定転送有効化機構を提供するステップと、
前記ユーザ選択デバイスおよび前記グローバル設定転送有効化機構を介して、ユーザ選択入力を受け取るステップと、
前記第１の選択入力に基づいて前記少なくとも２つのグラフィックプロセッサの動作を制御するステップとを含み、前記ユーザ選択入力は転送可能設定を前記少なくとも２つのグラフィックプロセッサに使用するかどうかを決定するために使用される、方法。
【請求項３８】
ディスプレイおよびユーザ選択デバイスを有し、グラフィカルなユーザインタフェースを有するコンピューティングシステムにおいて、前記コンピューティングシステムのユーザに少なくとも２つのグラフィックプロセッサの動作状態を示すための方法であって、
前記ディスプレイに、前記少なくとも２つのグラフィックプロセッサの少なくとも一部に適用可能である設定の転送状態指標を提供するステップを有する方法。
【請求項３９】
前記ディスプレイに、前記設定に対応する個々の設定転送有効化機構を提供するステップと、
前記ユーザ選択デバイスおよび前記個々の設定転送有効化機構を介して、前記設定を前記少なくとも２つのグラフィックプロセッサ間で転送するかどうかを決定するために使用される第１のユーザ選択入力を受け取るステップとを更に含む、請求項３８に記載の方法。
【請求項４０】
前記第１のユーザ選択入力に応答して、前記ディスプレイで前記転送状態指標の外観を変更するステップを更に含む、請求項３９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本願は、同日出願の同時係属米国特許出願第６１／０１３，５２７に関連している。
【０００２】
本発明は、一般に、グラフィックプロセッサによって使用される設定の制御に関し、より詳細には、少なくとも２つのグラフィックプロセッサを含むデバイスにおいて設定を制御するための技術に関する。
【背景技術】
【０００３】
ハイエンドの独立グラフィックプロセッサの電力需要が増え続けるのに伴い、バッテリ寿命の長いバッテリ駆動のデバイス（例えば、ラップトップコンピュータ、電話、個人情報端末等の無線通信デバイスなど）を設計することが次第に困難となっている。スタンバイ期間中の電力の流出を低減させる技術が使用されている場合でも、このようなグラフィックプロセッサは大量の電力消費を必要とする。高いパフォーマンスを提供できる高性能のデバイスの強力な市場が存在している一方、バッテリ駆動中は、このパフォーマンスを大幅に犠牲にすることも求められている。
【０００４】
この問題に対する１つの解決策として、高パフォーマンスの独立グラフィックプロセッサと、より電力効率の高い一体型グラフィックプロセッサの両方を提供する方法がある。このような構成では、交流（ＡＣ）壁面コンセント等の非バッテリ電源にデバイスが接続されているときは、通常、独立グラフィックプロセッサが使用され、デバイスがバッテリ駆動される場合は、一体型グラフィックプロセッサが使用される。独立グラフィックプロセッサは、非使用時には完全に給電停止され、バッテリ寿命の実質的な延長が可能となるが、グラフィックパフォーマンスの犠牲を伴う。この例としては、本発明の譲受人が提供しているＰｏｗｅｒＸｐｒｅｓｓ（登録商標）ソリューションがある。
【０００５】
このようなソリューションでは、一体型グラフィックプロセッサと独立グラフィックプロセッサ間の切替が、ほぼシームレスまたは完全にシームレスとなるように設計されている。この結果、エンドユーザは、多くの場合、ある瞬間に、どのグラフィックプロセッサを使用しているかを認識していない。このことは、特にグラフィックを多用しないアプリケーションで当てはまる。このようなシステムは、多くの場合、全体的な表示品質とパフォーマンスに関連する各種の設定またはパラメータを調整するためにユーザが使用するソフトウェアベースのコントロールパネルを備える。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この２つのタイプのグラフィックプロセッサに同じ設定または似た設定が存在する場合、ユーザは、コントロールパネルを使用して独立グラフィックプロセッサに対して行った変更が、デバイスの切替後に、一体型グラフィックプロセッサのコントロールパネルで変更されておらず、混乱することがある。この状況の理由は、３つの分類に分類される。第１の分類は、デバイス固有の設定である。例えば、高いパフォーマンス性能のために独立グラフィックプロセッサのみで使用可能な設定や、電力節約性能のために一体型グラフィックプロセッサのみで使用可能な設定が挙げられる。第２の分類は、両デバイスで同一の設定である。第３の分類は、両デバイスで似ているが、グラフィックプロセッサの性能の違いにより、値のとりうる範囲が異なる設定である。
【０００７】
また、異なるグラフィックプロセッサが異なるベンダによって製造されるため、各デバイスのコントロールパネルアプリケーションが別々に存在することがある。この結果、エンドユーザが、現在アクティブなグラフィックプロセッサの制御に、どのコントロールパネルを使用したらよいかを判断するのが困難となることがある。
【０００８】
このため、一方のグラフィックプロセッサの適切な設定を、もう一方のグラフィックプロセッサに自動的に適用（および、必要な場合には転換）できる方法が求められている。また、コントロールパネルアプリケーションが呼び出されたときに、確実に、正しいコントロールパネルアプリケーションが開くことが望ましい。
【課題を解決するための手段】
【０００９】
概略説明すると、本発明は、少なくとも２つのグラフィックプロセッサを有するデバイスにおけるグラフィックプロセッサの設定を処理するための技術を提供する。本発明の一実施形態では、前記デバイスが第１のまたはカレントグラフィックプロセッサから第２のまたは標的グラフィックプロセッサに切り替わったかどうかが決定される。前記第１のグラフィックプロセッサに対応する設定のうち、前記第２のグラフィックプロセッサに適用する少なくとも一部の設定が特定され、これらの転送可能設定に基づいて、前記第２のグラフィックプロセッサの設定が更新される。その後、得られた更新された設定が、表示データの提供に使用されうる。前記転送可能設定は、前記第１のグラフィックプロセッサに対応するどの設定が変更されたかを示す変更指標に基づいて特定されうる。必要な場合、前記転送可能設定の特定の設定に、変換または転換が適用され、得られた転換された設定が、前記第２のグラフィックプロセッサの前記設定を更新するために使用されうる。その後前記アクティブなグラフィックプロセッサが遷移した（すなわち、前記第２のグラフィックプロセッサから前記第１のグラフィックプロセッサに遷移した）ときにも、同様な設定の転送が行われうる。現在の好適な実施形態では、グラフィックプロセッサ間の遷移は、前記デバイスの電力状態の変化によって発生しうる。
【００１０】
本発明の別の実施形態では、グラフィックプロセッサ制御プログラムまたはアプリケーションの選択が、現在アクティブなグラフィックプロセッサを決定して、前記現在アクティブなグラフィックプロセッサに対応するカレントグラフィックプロセッサ制御プログラムのインスタンスを生成することによって行われる。前記現在アクティブなグラフィックプロセッサの前記決定は、グラフィックプロセッサ制御プログラムの起動要求に応答するか、または、例えば、前記デバイスの電力状態の変化により前記遷移が開始される場合など、第１のグラフィックプロセッサから第２のグラフィックプロセッサへの遷移に応答して行われうる。前記遷移の通知が、前記デバイスのユーザに提供されうる。このように、本発明は、ユーザの使用感を改善するように、グラフィックプロセッサ間で滑らかな遷移が確実に行われるようにする。
【図面の簡単な説明】
【００１１】
【図１】本発明によるデバイスの実施形態を示すブロック図。
【図２】本発明によるデバイスの実施形態を示すブロック図。
【図３】本発明による、２つのグラフィックプロセッサ間での動作の移行時のデバイスの動作を示すフローチャート。
【図４】本発明による、グラフィックプロセッサ設定の処理を示す図。
【図５】本発明による、グラフィックプロセッサ制御プログラムのインスタンス生成時のデバイスの動作を示すフローチャート。
【図６】複数のグラフィックプロセッサと１つの制御プログラムとを使用するデバイスにおける、本発明の実施形態を示すブロック図。
【図７】複数のグラフィックプロセッサと複数の制御プログラムとを使用するデバイスにおける、本発明の実施形態のブロック図。
【図８】本発明を実装するために使用されうる例示的なハードウェア設計のブロック図。
【図９】本発明の実施形態と共に使用されうるコントロールパネルインタフェースを示す図。
【図１０】本発明の実施形態と共に使用されうる別のコントロールパネルインタフェースを示す図。
【発明を実施するための形態】
【００１２】
本発明の特徴を、添付の特許請求の範囲に詳細に記載する。本発明自体と、更なる特徴および効果は、添付の図面を参照しつつ、以下の詳細な説明を鑑みれば明らかとなろう。以下に、本発明の１つ以上の実施形態を、添付の図面を参照して例示のみのために記載する。図面においては、同じ参照符号は同じ要素を参照している。
【００１３】
ここで図１を参照すると、本発明に係るデバイス１００が更に示される。より詳細には、デバイス１００は、１つ以上のメモリデバイス１１２と通信している少なくとも１つのプロセッサ１０２を備える。本明細書で使用する「デバイス」とは、画像（または表示）データを表示可能な、コンピュータ、テレビ、モバイル通信デバイス（携帯電話等）など、事実上どのようなものも含む。プロセッサ１０２は、通常、当業界において公知のように、デバイス１００の動作を制御するアプリケーションまたはホストプロセッサであり、多くの場合、メモリデバイス１１２に記憶されたデータを、実行可能命令の制御下で動作するマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサまたはその組み合わせに実装される。メモリデバイス１１２は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）など、揮発性メモリおよび不揮発性メモリのどのような組み合わせを備えうる。このように構成されたプロセッサ１０２は、例えば、画像（例えば、グラフィック、静止画、ビデオなど）をディスプレイ１１０に提供するために適合されたプログラムを含むソフトウェアプログラムの形の広範な機能を実装することができる。ディスプレイ１１０は、例えばラップトップコンピュータ、個人情報端末などの場合のようにデバイス１００と一体化されていてもよい。上記のほかに、あるいは上記に加えて、ディスプレイ１１０には、例えばデスクトップコンピュータの場合のように外部ディスプレイが含まれてもよい。
【００１４】
デバイス１００用の電源１１６が図に示すように提供され、現在の好適な実施形態では、電力モニタ１１８と通信している。電力モニタ１１８は、好ましくは、デバイスの電力状態に関するデータ（例えば、一般に、使用中の電源のタイプ、バッテリ駆動のデバイスではバッテリの放電速度または残りの充電の量、ＡＣ駆動デバイスでは電力消費速度）をプロセッサ１０２（図示）またはコプロセッサ１０６，１０８（不図示）に提供する。更に、ディスプレイ１１０が、デバイス１００用の電源１１６によって給電されない場合（バッテリ駆動のラップトップコンピュータにプロジェクタが結合された場合など）は、監視対象の電源に、ディスプレイ１１０用の電源も含まれうる。更に、温度センサ、振動センサ、湿度センサまたは当業者に公知の他の部品などの他のセンサ１２０も設けられうる。例えば、破線で示すように、電源１１６（または下で説明するようにコプロセッサの１つ）の温度を監視するために温度センサが設けられてもよい。このように、電源１１６の温度（または特定のセンサ１２０の性質に応じて他のパラメータ）も、デバイスの電力状態を決定する際の入力として使用されうる。
【００１５】
前述のように、デバイス１００は、上で説明したように、少なくとも２つのコプロセッサ１０６，１０８を備える。当業界で公知のように、このようなコプロセッサは、プロセッサ１０２の特定の処理作業の負荷を軽減して、プロセッサ１０２が他の処理タスクを処理できるようにするために使用される。図１には図示されていないが、コプロセッサ１０６，１０８は、メモリ１１２をプロセッサ１０２と共有しても、コプロセッサ１０６，１０８の一方または両方のみからアクセス可能なローカルメモリを使用しても、この両方を行ってもよい。現在の好適な実施形態では、当業界で公知のように、コプロセッサ１０６，１０８にはグラフィックプロセッサが含まれるが、本発明はこの点に限定されない。このようなコプロセッサ１０６，１０８には、独立グラフィックプロセッサ１０６と一体型グラフィックプロセッサ１０８が含まれうるが、他の組み合わせも可能であってもよい。コプロセッサ、特にグラフィックコプロセッサの多くの実装では、プロセッサ１０２、独立コプロセッサ１０６とメモリまたは他のデバイス（図示せず）間に、いわゆるノースブリッジ１０４などのブリッジデバイスが設けられうる。更に当業界で公知のように、一体型コプロセッサ１０８はノースブリッジデバイス１０４の一部として実装される。あるいは、一体型コプロセッサ１０８が、アプリケーションまたはホストプロセッサ１０２の内部に実装されてもよい。
【００１６】
本発明の一態様では、コプロセッサ１０６とコプロセッサ１０８は、少なくとも、それぞれの電力消費とパフォーマンスとが異なる。前述のように、独立グラフィックプロセッサ１０６は、通常は、電力消費の増大を犠牲にして、高いパフォーマンス（すなわち、多量の処理および／またはより高度な処理を実行する能力）を提供する。一方、一体型グラフィックプロセッサ１０８は、一般に、パフォーマンスの低下を犠牲にして、電力消費を抑えている。独立コプロセッサ１０６と一体型コプロセッサ１０８とで電力消費／パフォーマンス特性が異なることで、パフォーマンスおよびバッテリ寿命に対するユーザの要求を満たすうえでより大きな柔軟性が得られるようになる。あるいは、コプロセッサ１０６とコプロセッサ１０８は、電力消費／パフォーマンス以外の点で異なってもよく、例えば、各コプロセッサ１０６，１０８に関連する能力または特化機能（specialization）が異なっていてもよい。例えば、デスクトップコンピュータまたはノートブックコンピュータのユーザが、ＡＣ電力を使用する場合であっても、ファンノイズが低いために一体型コプロセッサ１０８を使用するが、重いアプリケーションの起動時に、自動的に独立コプロセッサ１０６に切り替えたいと考えることがある。
【００１７】
最後に、デバイス１００は、プロセッサ１０２と通信している１つ以上のユーザ入出力デバイス１１４も備えうる。このようなデバイスは、当業界において公知であり、デバイス１００のユーザがデバイス１００に入力を提供するかまたはデバイス１００から出力を受け取れるようにする、キーボード、キーパッド、ポインタデバイス、ボタン、マイクロフォン、タッチスクリーン、ディスプレイスクリーン、オンスクリーンコントロールパネル、スピーカ、アナンシエータまたは他のデバイス、あるいはこれらの組み合わせを含むが、これらに限定されない。
【００１８】
次に図２を参照すると、本発明に係るデバイス２００の模式的ブロック図が更に示される。現在の好適な実施形態では、図２に示す各ブロックは、図１に示すプロセッサ１０２などのプロセッサによって実行される実行可能命令として、適切なストレージデバイスに格納されたソフトウェアアプリケーションまたはプログラムを使用して実装される。しかし、図２に示す各ブロックが、コプロセッサ１０６，１０８などの別のプロセッサによって少なくとも部分的に実行される格納済みのプログラムを使用するか、あるいは、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックアレイまたは当業者に公知の他の実装方法などの他の技術を使用して実装されもよいと理解される。また、下記の説明は、グラフィックプロセッサに特に言及しているが、本発明はこのようなコプロセッサに限定されず、他のタイプのコプロセッサにも同様に適用できるものと理解される。
【００１９】
図に示すように、デバイス２００は、必要な場合または望ましい場合に、少なくとも２つのグラフィックプロセッサのうち、いずれのグラフィックプロセッサが現在アクティブであるかを決定するように動作するアクティブグラフィックプロセッサ決定部２０２を有する。このような決定を行うための技術は、当業界で公知であり、例えば、適切なメモリ位置または制御レジスタに記憶されている状態指標を含んでもよい。更に、独立コプロセッサ１０６と一体型コプロセッサ１０８が、（下で更に詳細に説明するように）異なるベンダによって提供されるグラフィックコプロセッサである場合、オペレーティングシステムによって提供される描画コマンドを、現在アクティブなグラフィックコプロセッサに転送するいわゆる「ウエッジ」ドライバが存在する。このドライバは、現在の状態を検知して報告するため、現在アクティブなコプロセッサの確認に使用することができる。この解決策は、ウエッジドライバが提供される場合にも、あるいは、「ウエッジ」が、１社のベンダが提供するドライバに組み込まれる場合にも、同様に適用することができる。ほかの手法は、通常の知識を有する当業者には明らかであろう。
【００２０】
本発明の一実施態様では、アクティブグラフィックプロセッサ決定部２０２は、転送可能設定特定部２０４に結合されている。転送可能設定特定部２０４は、第１のグラフィックプロセッサに対応する設定２１０の少なくとも一部のうち、第２のグラフィックプロセッサに適用可能なものを特定するように動作可能である。本明細書に使用する「設定」とは、コプロセッサの動作に影響を及ぼす任意のユーザ構成可能なパラメータを指す。例えば、グラフィックプロセッサの場合、このような設定には、グラフィックプロセッサが対応可能な現在の解像度、使用される色深度、実行するアンチエイリアスフィルタリングの程度などが含まれうる。下で更に詳細に説明するように、このような設定は、少なくとも２つのコプロセッサのそれぞれで機能と範囲が同じでも、機能は同じであるが範囲が異なっていても、一方のコプロセッサにしか存在しなくてもよい。設定をコプロセッサ間で転送する方法は、この連続値における設定の位置（their location within this continuum）によって変わる。
【００２１】
転送可能設定特定部２０４は、アクティブグラフィックプロセッサ決定部２０２によって提供される切替指標２３０に応答する。切替指標２３０は、コプロセッサ間の遷移（すなわち、コプロセッサが提供するデバイス２００のための支援が、一方のコプロセッサからもう一方のコプロセッサに遷移する）時点や、この遷移が発生しそうな時点を特定する。例えば、切替指標２３０は、例えば、別のコプロセッサの電力が切断されている一方で、第１のコプロセッサが給電された場合などのコプロセッサの電力状態の変化、あるいは、例えば、デバイスがバッテリ動作に切り替えられた場合などのデバイス２００自体の電力状態の変化に応答して提供されうる。あるいは、このような遷移が、（例えば、アプリケーションプロセッサによって）供給される明示的なコマンドに応答して検出されてもよい。いずれの場合も、転送可能設定特定部は、切替指標２３０に応答して転送可能な設定を特定する。例えば、現在の好適な実施形態では、転送可能設定特定部２０４は、第１のグラフィックプロセッサの設定に関連する１つ以上の変更指標２１２に基づいて、転送可能な設定を特定する。例えば、（図４に示すように）、各グラフィックプロセッサに関連する各設定には、対応するフラグ４０８，４１０が関連付けられており、このフラグは、最後にグラフィックプロセッサの遷移が行われてから、所定のパラメータに変更が行われた時点を示すように機能する。転送可能な設定を特定するために、他の技術が同様に使用されてもよいことを当業者は認めるであろう。例えば、明示的な変更フラグを使用する代りに、変更された設定の識別情報がログに記録され、切替指標２３０の受信時に、このログが参照されてもよい。あるいは、設定（存在する場合）の変更の有無を問わず、切替が発生するたびに、すべての可能な設定が転送されてもよい。以前の設定の組の完全な記録が保持され、必要なときに（更新されている可能性がある）現在の設定と比較されて、差異が特定されてもよい。３つ以上のコプロセッサが使用される場合、上記の解決策がすぐに複雑になりうる。このため、更に別の手法として、タイムスタンプを転送可能な制御と関連付ける方法がある。タイムスタンプを使用する手法では、それぞれの変更に「最終変更日時」が関連付けられ、有効なプロセッサの変更のタイムスタンプが古い場合、すなわち、変更が古い場合には、そのプロセッサが新しい設定を採用する。
【００２２】
転送可能設定を特定する方法を問わず、転送可能設定特定部２０４は、更新制御部２０６が使用するための転送可能設定を提供するか、別様にこれを特定する。更新制御部２０６は、第２のまたは標的グラフィックプロセッサの設定を、少なくとも部分的に転送可能設定に基づいて更新させる。下で更に詳細に説明するように、転送可能設定の１つ以上を、第２のグラフィックプロセッサに適切に適用するためには、変換または転換が必要となることがある。このために、更新制御部２０６は、任意の必要な転換を実行するための転換コンポーネント２０８を備えうる。別の実施形態では、転換コンポーネント２０８が、更新制御部２０６の一部を構成せず、設計事項として、更新制御部２０６の外部に実装されてもよい。
【００２３】
本発明の別の実施形態では、アクティブグラフィックプロセッサ決定部２０２は、現在アクティブなグラフィックプロセッサ２３２の指標を、制御プログラム選択部２２０に提供しうる。この場合も、現在アクティブなグラフィックプロセッサを決定するための技術は、当業界で公知であり、前述のように電力状態の決定、ソフトウェアドライバの決定、または明示的なホスト命令などがある。制御プログラム選択部２２０は、現在アクティブなグラフィックプロセッサ２３２の指標に応答して、現在アクティブなグラフィックプロセッサに関連するカレントグラフィックプロセッサ制御プログラムのインスタンスを生成するように動作可能である。このように、どのグラフィックプロセッサが現在使用であっても、適切なグラフィックプロセッサ制御プログラムのインスタンスが生成されうる。本明細書で使用する「グラフィックプロセッサ制御プログラム」とは、好ましくは、制御プログラムに関連するグラフィックプロセッサに関連する設定を、デバイスのユーザが構成できるようにするコントロールパネルアプリケーション、あるいは他のプログラムまたはアプリケーションを含む。例えば、図１の独立コプロセッサ１０６が、関連する制御プログラムを有し、一体型コプロセッサ１０８も、関連する別の異なる制御プログラムを有しうる。
【００２４】
また、デバイスが第１のグラフィックプロセッサから第２のグラフィックプロセッサへの動作の遷移を行う旨の通知を、デバイスのユーザに提供するために、ユーザ出力機構２２４（例えば、図１に関して上で説明したユーザ出力デバイス１１４またはディスプレイ１１０の一方）が使用されうる。例えば、ユーザに遷移を知らせるメッセージがディスプレイに表示されても、または信号音またはチャイムなどの可聴指標がスピーカを介して提供されてもよい。このような指標を提供するための技術は、当業界において公知である。
【００２５】
また、制御プログラム選択部は、要求入力機構２２２（上で説明したユーザ入力デバイス１１４の１つが含まれうる）から受け取った、グラフィックプロセッサ制御プログラムの起動要求にも応答しうる。例えば、ユーザが行った選択によって、当該起動要求が制御プログラム選択部２２０に提供されるように、ユーザが選択できる表示アイコンまたは他の機構が使用されてもよい。
【００２６】
次に図３を参照すると、本発明の一実施形態に係るデバイスの動作を示すフローチャートが示される。特に明記しない限り、図３に示す処理は、好ましくは、適切なメモリデバイスに記憶されている実行可能命令の制御下で動作される１つ以上のプロセッサを使用して実装される。しかし、当業者に公知のように、プログラマブルロジックアレイ、ＡＳＩＣ、状態機械などといった他の実装技術が同様に使用されてもよい。
【００２７】
ブロック３０２において、カレントグラフィックプロセッサおよび対応する設定を使用して表示データが提供される。グラフィックプロセッサを使用してディスプレイに表示データを提供するための技術は、当業者に公知である。その後、ブロック３０４において、デバイスが、カレントグラフィックプロセッサから第２のまたは標的グラフィックプロセッサに切り替わったか、あるいは切替が発生しそうかどうかが判定される。切替が行われない場合、ブロック３０２の処理が継続され、動作の遷移の確認が継続的に行われる。しかし、ブロック３０４において、動作が第２のグラフィックプロセッサに切り替わったか、あるいはこの切替が発生しそうであると判定された場合、任意選択でブロック３０６の処理が行われ、遷移の通知がデバイスのユーザに提供されうる。その後、ブロック３０８において転送可能設定が特定され、ブロック３１０において、転送可能設定に基づいて、標的または第２のグラフィックプロセッサに対応する設定が更新される。図３に示す処理は、設定の転送（可能な場合）がデバイスで有効に設定されていると仮定している。特に図９，１０に関連して下で説明するように、各種技術を使用して、グローバルな設定または個々の設定ごとに、設定転送の有効／無効を制御することができる。
【００２８】
上記のように、転送可能設定を特定するために、複数の技術のいずれが使用されてもよい。同様に、現在の好適な実施形態では、転送可能設定に基づいて設定を更新することができる各種の技術が提供されうる。例えば、両グラフィックプロセッサで、設定の機能（すなわち、各コプロセッサの設定に対する効果）と範囲（すなわち、設定がとることができる値）の両方が同じ場合、変換が不要であり、第１のグラフィックプロセッサで変更された値が、第２のグラフィックプロセッサに直接転送される。同様に、設定の機能が同じであるが、コプロセッサごとに範囲が異なる場合、スケール転換またはシフトが使用されうる。例えば、設定が連続する値によって表され、最小値および／または最大値が異なる場合、数式を使用して、第１のコプロセッサから第２のコプロセッサへの範囲のスケール転換とシフトが行われる。更に、両コプロセッサにおいて、設定が別の異なる値の組によって表される場合、２つの手法の一方が使用されうる。一例を挙げると、マッピングが作成され、これにより、第１のグラフィックプロセッサの設定値から取得した設定値を表すために、第２のグラフィックプロセッサに最も近い近似設定値が使用される。このような状況では、近似を繰り返して連続的に値が変わってしまう「ウォーク（walking）」を防ぐために注意を払う必要がある。このために、１つの手法としては、丸め誤差を受けない高い精度の複製を保持する方法がある。もう一方の手法は、第２のコプロセッサに対応する現在の値を取り、この値を、要求された（未転換の）第１のコプロセッサの値にマップする方法である。値が特定の許容誤差で一致する場合、現在の値が十分に近いため、変更が不要であるとみなされる。
【００２９】
また、あるコプロセッサの設定の値の範囲が、別のコプロセッサの設定の値範囲の一部分としか一致しない場合もある。このような場合、一方のコプロセッサの最大（場合によっては最小）の設定を、もう一方のコプロセッサの最大（または最小）の設定にマップすることが望ましいと考えられる例えば、一体型グラフィックプロセッサが、１倍、２倍、４倍のアンチエイリアスに対応し、独立グラフィックプロセッサが、１倍、２倍、４倍、８倍に対応しているとする。この場合、一体型プロセッサでの４倍設定が、独立プロセッサの８倍設定にマップされうる。この場合、変換が、一体型コプロセッサの「４倍」の選択が、可能な最大値を選択したと解釈し、これを適宜変換する。コントロールパネルのユーザ設定が、変換システムが、変換のためにこの積極的な手法を採るべきか、あるいはより厳密な手法をとるべきかに関する指針を与えうる。あるいは、各コプロセッサ用のコントロールパネルが、このような転送を明示的に行わせる「最小」と「最大」の設定を含むことがある。このため、コントロールパネルインタフェースは、（第１のコントローラに）「最小、１倍、２倍、４倍、最大」（「最小」は１倍に相当し、「最大」は４倍に相当）の位置を含む。逆に、第２のコントロールパネルインタフェースは、「最小、１倍、２倍、４倍、８倍、最大」を表示しており、この場合「最大」が８倍となる。「最小」または「最大」を選択すると、カレントコプロセッサにおいて、それぞれ可能な最小または最大の設定が常に選択されるようになる。
【００３０】
第１のグラフィックプロセッサが、連続値の設定を有するが、第２のグラフィックプロセッサは柔軟性が低く、離散値の設定にしか対応していない場合、連続値の最も近い近似値が、第２のグラフィックプロセッサに使用される。このようなマッピングは、設定の性質に応じて、線形でも、非線形でもよい。この場合も、この状況において、値の「ウォーク」を防ぐ上記の技術が適用されうる。
【００３１】
再度図３を参照すると、おそらく上の段落で記載した転換技術の１つ以上を使用して、標的（ターゲット）グラフィックプロセッサの設定の更新後に、ブロック３１２の処理が行われ、標的グラフィックプロセッサがカレントグラフィックプロセッサとして指定され、これにより、第２のグラフィックプロセッサへの遷移が事実上完了する。また、ブロック３１２において、その後行う設定の変更が、次にプロセッサ間の遷移が検出されたときに検出されるように、転送可能設定を特定するプロセスで使用された変更指標がクリアされてもよい。その後、図３に示すプロセスがブロック３０２で繰り返され、標的（現在、カレントとなっている）グラフィックプロセッサを使用して、対応する設定に基づいて表示データが処理される。このように、グラフィックプロセッサ間の設定がコプロセッサ間で透過的（またはほぼ透過的）に転送されて、この結果、ユーザの使用感が向上する。
【００３２】
図４は、本発明による、グラフィック設定に実行されうる処理の例示図である。より詳細には、第１のグラフィックプロセッサに関連する複数の設定４０２が、対応する変更指標４０８と併せて図示されている。同様に、第２のグラフィックプロセッサに対応する複数の設定４０４が、対応する変更指標４１０と併せて図示されている。上で説明したように、一般に、所定のグラフィックプロセッサの設定について、３つの状態が存在する。より詳細には、このような設定は、直接転送可能な設定、ある種の変換または転換を必要としうる設定、あるいは、グラフィックプロセッサ同士で対応する設定が存在しない設定である。例えば、図４に示すように、現在のグラフィックプロセッサに関連する第１の設定Ｃ１は、第２のグラフィックプロセッサに関連する、対応する設定Ｔ１に直接適用することができる。すなわち、この設定は、機能と範囲が等しい。あるいは、第１のグラフィックプロセッサに関連する別の設定（例えば第３の設定Ｃ３）は、第２のグラフィックプロセッサの対応する設定Ｔ３に適用する前に変換４０６ａを必要としうる。更に、例えば、第１のグラフィックプロセッサに関連する第２の設定Ｃ２に示すように、第１のグラフィックプロセッサまたは第２のグラフィックプロセッサのいずれかの特定の設定に、対応する設定がないことがある。この結果、グラフィックプロセッサ間で可能な設定の数が必ずしも同じであるとは限らない、例えば、第１のグラフィックプロセッサは、合計Ｎ個の設定を使用するが、例えば、第１のグラフィックプロセッサは、合計Ｍ≠Ｎ個の設定を使用する点に留意されたい。
【００３３】
グラフィックプロセッサ間の遷移が発生するたびに、設定の転送（および、このような設定の必要な転換）を実行することが可能であるか、またはこれが望ましいことがある。しかし、現在の好適な実施形態では、カレントグラフィックプロセッサで変更された設定のみを、プロセッサの遷移時に転送すればよい。例えば、図４に示すように、第１のグラフィックプロセッサに関連する多くの設定を、第２のグラフィックプロセッサに関連する設定に転送することが可能であるが、実際には、対応する変更指標４０８に設定されている設定のみが転送される。
【００３４】
次に図５を参照すると、本発明による、グラフィックプロセッサ制御プログラムのインスタンスを生成するために使用される動作を示すフローチャートが示される。この場合も、図５に示す処理は、好ましくは、図１のアプリケーションプロセッサなどの適切にプログラムされたプロセッサを使用して実行されうる。しかし、当業者が周知のように、他の実装技術が同様に使用されてもよい。図５には２本の並列の経路が示されている。並列の経路の第１の経路では、ブロック５０２において、制御プログラムの起動要求を受け取ったかどうかが判定される。上で説明したように、このような要求はデバイスのユーザによって明示的に提供されうる。このような要求を受け取っている場合、処理がブロック５０４で行われ、カレント（すなわち、現在アクティブな）グラフィックプロセッサが特定される。その後、ブロック５０６において、現在アクティブなグラフィックプロセッサに対応する制御プログラムのインスタンスが生成される。このように、どのグラフィックプロセッサが現在アクティブであっても、デバイスのユーザが、グラフィックプロセッサ制御プログラムを起動するために入力した要求により、正しいカレントグラフィックプロセッサの制御プログラムが確実に起動されるようになる。
【００３５】
第２の別の並列な経路では、正しいグラフィックプロセッサ制御プログラムが、ユーザによる要求入力に応答してではなく、ブロック５０８〜５１２に詳細に示すように、動作中に遷移を検出することによりインスタンス生成されうる（instantiated）。より詳細には、ブロック５０８において、現在アクティブなグラフィックプロセッサの制御プログラムのインスタンス（instance）が生成されうる。この場合であっても、ブロック５１０において、カレントグラフィックプロセッサと標的グラフィックプロセッサ間で動作が遷移するかどうかが判定される。遷移する場合は、処理が任意選択のブロック５１２で行われ、デバイスのユーザに対して、遷移の通知が行われるその後、上で説明したように、ブロック５０４，５０６の処理が行われる。
【００３６】
次に図６を参照すると、複数のグラフィックプロセッサと１つの制御プログラムとを使用する本発明の実装が更に示される。より詳細には、制御プログラム６０２は、適切なドライバ６０８を介して一体型グラフィックプロセッサ６０４と独立グラフィックプロセッサ６０６の両方と通信する。当業界で公知のように、ドライバ６０８は、制御プログラム６０２が、各グラフィックプロセッサ６０４，６０６とそれぞれ直接通信できるようにするソフトウェアプログラムである。また、制御プログラム６０２は、例えば、ユーザ構成可能な設定６１０，６１２の一方を更新する場合、または各グラフィックプロセッサ６０４，６０６に設定値を提供する場合、一体型用の設定６１０のほか、対応する独立用の設定６１２とも対話する。図６に示す実装は、例えば、一体型グラフィックプロセッサ６０４と独立グラフィックプロセッサ６０６とが、同じデバイスメーカーによって供給される場合に使用されうる。この場合、ドライバ６０８は、両グラフィックプロセッサ６０４，６０６と対話するように作成されうる。
【００３７】
これに対して、図７は、複数のグラフィックプロセッサと複数の制御プログラムを使用する本発明の実装を示す。この例では、第１の制御プログラム７０２が、適切なドライバ７１０を介して対応する一体型グラフィックプロセッサ７０６と通信する。同様に、制御プログラム７０２は、一体型グラフィックプロセッサ７０６に対応する一体型用の設定７１４と対話する。並行して、第２の制御プログラム７０４が、別の適切なドライバ７１２を介して独立グラフィックプロセッサ７０８と通信する。同様に、図に示すように、第２の制御プログラム７０４は独立用の設定７１６と通信する。更に図に示すように、グラフィックプロセッサ間の設定の転送時に更新／変換ブロック２００（前述）が使用されうる。
【００３８】
グラフィックプロセッサが変わり、一方のグラフィックプロセッサからもう一方のグラフィックプロセッサに設定を変換または転送する際に、２つの異なるグラフィックプロセッサに別々のコントロールパネル／アプリケーションが使用される場合、いくつかの方法を使用して、第２のアプリケーションに値を設定することができる。例えば、コントロールパネル／アプリケーションが、当業界で公知のように、Ｇｅｔ／Ｓｅｔ／Ｖａｌｉｄａｔｅの対話を可能にするソフトウェア開発キット（ＳＤＫ）をサポートしている場合、値を転送するために、これらの対話を使用することができる。コントロールパネル／アプリケーションが、定義済みの構成ファイルをサポートしている場合、コントロールパネルアプリケーションの起動前に、変換された値が、この構成ファイルにマップされ、当該構成ファイルに書き込まれてもよい。同様に、コントロールパネル／アプリケーションが、システムレジストリ仕様をサポートしている場合、コントロールパネルアプリケーションの起動前に、変換された値がこの仕様にマップされて、レジストリに書き込まれてもよい。コントロールパネル／アプリケーションが、初期値を設定するためのコマンドラインをサポートしている場合、この機構を使用して、変換された設定を第２のコントロールパネル／アプリケーションに渡すことができる。更に、ユーザ構成可能な設定に値を入力するために通常使用されるマウスの移動、クリック、および他のユーザエントリ入力をシミュレーションすることにより、設定をユーザインタフェースに記述することもできる。最後に、場合によっては、転送が一方向では可能であるが、第１の制御プログラムに設定を戻す転送が困難であるか、不可能なこともある。構成ファイルまたはレジストリが使用される場合、第２のアプリケーションの設定のバックアップを作成し、システムが第１のグラフィックプロセッサに戻されたときに、そのバックアップを新しい値と比較することが可能である。この場合、「逆マッピング」（すなわち、上で記載されている転換／変換の反転）が使用される。
【００３９】
次に図８を参照すると、本発明に係る記載の処理は、ハードウェアベースの実装（例えば集積回路）で実施することができる。このために、当業者に公知のように、実行可能命令の組８００が、メモリ８０４に記憶されているライブラリ８０２内に定義および記憶されうる。命令８００は、限定するものではないが、ＶｅｒｉｌｏｇまたはＧＤＳＩＩ等の別のハードウェア表現を含む、どのような適切なハードウェア設計言語（ＨＤＬ）で表された命令を含んでもよく、この命令が、集積回路設計システム８１０のプロセッサ８０８で実行されている回路設計モジュール８０６によって使用されうる。命令８００を使用して、本明細書に記載の処理を実行することが可能な適切な集積回路（または他のハードウェアの実施形態）を作成するためにシステム８１０が使用される。当業者が周知のように、このようなシステム８１０と回路設計モジュール８０６は、どのような適切なシステムと集積回路設計プログラムでもよい。
【００４０】
次に図９を参照すると、上に記載した各種実施形態に関連して使用されうる例示的なコントロールパネルインタフェースが更に示される。このようなコントロールパネルインタフェースを実装するための技術は、当業者に公知である。図に示すように、コントロールパネル９０２は、（例えば、ユーザ入力装置１１４の１つを使用して）ユーザが選択可能な複数のメニューボタン９０４を有する。また、選択可能なタブ９０６が包括性のために（completeness）表示されている。メニューボタン９０４の１つ（図の例では「オプション」メニューボタン）を選択すると、グローバル設定転送有効化機構９１０（「ＧＰＵ設定転送の有効化」と図示）を含む複数のメニュー項目を含むドロップメニュー９０８が提示される。有効化機構９１０の選択を選択すると、有効化機構９１０の表示が、現在の状態、すなわち、選択（有効）または選択解除（無効）を反映するように更新される。図に示した例では、有効化機構９１０が（「Ｘ」に示すように）現在選択されており、前述の設定転送機能が、すべての転送可能設定に対して有効に設定されていることが示される。その後、有効化機構９１０の選択を解除すると、グラフィックプロセッサごとに設定が独立して制御されるように、設定転送機能が無効に設定される。選択時に転送機能が無効に設定されるように、有効化機構９１０の動作が逆転していても、その逆であってもよいことが理解されよう。
【００４１】
特に、個々の設定を制御するための技術に係る追加のインタフェースの実施形態が図１０に示される。この実施形態では、個々の設定が、「転送不能」、「転送可能であるが転送が無効」、「転送可能かつ転送が有効」の３つの可能な状態の１つをとると仮定する。当業者は、他の状態も容易に想到できるであろう。これらの状態について、図の実施形態は、転送状態指標を利用して、所定の設定の現在の状態を示している。例えば、第１の設定１００２（「アプリケーションの設定を使用」）が、通常のデフォルトフォントで表示された状態で図示されている。この場合、デフォルトフォントは、設定が「転送不能」状態に設定されていることを示す。一方、他の設定１００４〜１０１２はそれぞれ、下線付フォントで表示されており、対応する設定が転送可能なことを示す。このため、図の例では、ガンマ設定１００４、輝度設定１００６、コントラスト設定１００８、輝度設定１０１０、および色調設定１０１２のそれぞれが、前述のように独立して転送可能である。更に図に示すように、各設定に特定の値を選択するためのスライダ制御１０２０も提供され、その値も表示されている。
【００４２】
転送可能設定については、設定の転送の有効または無効が、表示フォントの斜体の有無に反映されている。このため、斜体で表示されていない転送可能設定は、対応する設定の転送が有効に設定されていることを示し、斜体で表示されているフォントは、設定の転送が無効に設定されていることを示す。このようにして、ユーザは、各設定の動作状態を容易に決定できるようになる。本明細書に記載した特定の指標（すなわち、デフォルト、下線付、斜体の各フォント）は、この目的に使用することができる各種方法の一例に過ぎないことが理解される。例えば、特定の色の使用、アニメーション、フォントのサイズまたは位置の変更、別個のグラフィカルな指標なども同様に使用することができる。
【００４３】
更に、個々の設定のそれぞれは、個々に制御可能な方法で表示されうる。例えば、設定ごとにテキスト文字を「右クリック」することにより、ユーザが特定の設定の転送を有効／無効化できるメニューが、ユーザに対して提示されうる。更に、本明細書に記載のグローバル制御９１０と個々の設定１００２〜１０１２とは、他方の機構によって先に行われた設定の状態を変更するためにも使用できることはいうまでもない。例えば、すべての可能な設定の転送を有効にするために有効化機構９１０が使用され、その後、個々の設定機構により特定の設定を無効化して、全体的な動作をより細かく制御することができる。逆に、以前に構成した個々の設定を、有効化機構９１０のグローバルな有効化／無効化機能によって上書きすることもできる。
【００４４】
上で説明したように、本発明は、少なくとも２つのグラフィックプロセッサを有するデバイスにおけるグラフィックプロセッサの設定を処理するための技術を提供する。これは、（好ましくは変更の結果）カレントまたは第１のコプロセッサの設定から転送可能設定を特定して、標的または第２のコプロセッサに更新された設定を提供することによって実現される。必要な場合、設定に変換または転換が適用されうる。グラフィカルなユーザインタフェースを使用して、例えば、設定の特定の状態が、グローバルおよび／または個々に制御されうる。本発明の技術を使用して、コプロセッサ（例えばグラフィックプロセッサ）間の遷移が、（ユーザが望まない場合に）ユーザから隠されるか、あるいはユーザが意識しなくなる程度に、良好なユーザの使用感が提供される。少なくともこれらの理由により、本発明は、先行技術に対して進歩生を有する。
【００４５】
このため、本願は、上記に開示し、ここにクレームする基本的な基礎をなす原理の趣旨ならびに範囲に含まれるすべての変更、変形物または均等物をカバーすることが考察される。
【図１】
2011507080.tif 000003
【図２】
2011507080.tif 000004
【図３】
2011507080.tif 000005
【図４】
2011507080.tif 000006
【図５】
2011507080.tif 000007
【図６】
2011507080.tif 000008
【図７】
2011507080.tif 000009
【図８】
2011507080.tif 000010
【図９】
2011507080.tif 000011
【図１０】
2011507080.tif 000012
【国際調査報告】
2011507080.tif 000013
2011507080.tif 000014