国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于管理計(jì)算機(jī)監(jiān)視器配置的系統(tǒng)和方法

      文檔序號(hào):6651847閱讀:137來(lái)源:國(guó)知局
      專利名稱:用于管理計(jì)算機(jī)監(jiān)視器配置的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及計(jì)算機(jī)系統(tǒng),尤其涉及管理計(jì)算機(jī)顯示器和其他顯示機(jī)制。
      背景技術(shù)
      某些計(jì)算機(jī)系統(tǒng)用戶,尤其是諸如膝上型計(jì)算機(jī)的移動(dòng)計(jì)算設(shè)備的用戶通常需要把他們的計(jì)算機(jī)系統(tǒng)連接到不同的諸如顯示監(jiān)視器(或簡(jiǎn)稱為監(jiān)視器)的顯示機(jī)制上。例如,盡管膝上型計(jì)算機(jī)具有內(nèi)置的監(jiān)視器,計(jì)算機(jī)用戶可在給出演示時(shí)把膝上型計(jì)算機(jī)連接到大的監(jiān)視器或連接到等效的投影機(jī)設(shè)備。其他例子包括把移動(dòng)計(jì)算機(jī)連接到辦公室的監(jiān)視器以及家中的不同的監(jiān)視器上。實(shí)際上,某些類型的移動(dòng)計(jì)算機(jī)系統(tǒng)已經(jīng)被設(shè)計(jì)成不具有任何監(jiān)視器,并且要在每個(gè)它們連接監(jiān)視器的目的地之間移動(dòng)。
      此外,盡管不是公知的,當(dāng)代的操作系統(tǒng)(諸如微軟公司的WindowsXP操作系統(tǒng))以各種方式支持多監(jiān)視器,該各種方式包括允許多個(gè)監(jiān)視器的屏幕被用作為一個(gè)大的屏幕的方式。換句話說(shuō),操作系統(tǒng)擴(kuò)展連接到安裝的視頻卡(或多頭卡)的監(jiān)視器以作為單個(gè)桌面而不是在兩臺(tái)或更多監(jiān)視器等上同時(shí)顯示相同的圖像(稱為克隆模式),通過(guò)該桌面用戶能在監(jiān)視器之間移動(dòng)鼠標(biāo)指針和拖拉程序窗口。在該擴(kuò)展屏幕模式中,操作系統(tǒng)維護(hù)單獨(dú)的用于每個(gè)監(jiān)視器的軟件管理的設(shè)置,例如,分辨率、刷新率、顏色深度等。也存在這樣的情況,諸如在游戲應(yīng)用中,多個(gè)監(jiān)視器可被用于橫跨監(jiān)視器的單個(gè)應(yīng)用;在這種橫跨模式中,這些監(jiān)視器一般具有相同的設(shè)置。
      如此,用戶在把計(jì)算機(jī)系統(tǒng)連接到一個(gè)或多個(gè)顯示機(jī)制的方式上具有大量靈活性。然而,只要有對(duì)于顯示機(jī)制的計(jì)算機(jī)系統(tǒng)的當(dāng)前配置的更改,例如,監(jiān)視器被連接或被斷開連接,那么為了更改而調(diào)整可能需要大量的用戶動(dòng)作。這需要用戶具有基于重配置如何更改設(shè)置的知識(shí),并且有時(shí)需要用戶記住或試驗(yàn)理想的設(shè)置。
      用于該重配置要求的一個(gè)原因是存在用戶能連接的多種類型的顯示機(jī)制,很多顯示機(jī)制具有不同的能力、屏幕大小等。另一個(gè)原因是某些計(jì)算機(jī)系統(tǒng)具有多個(gè)用戶,并且每個(gè)用戶需要不同的設(shè)置。盡管某些用戶不在意當(dāng)從工作監(jiān)視器更改到家庭監(jiān)視器或從家庭監(jiān)視器更改到工作監(jiān)視器時(shí)、或無(wú)論何時(shí)在不同的用戶注銷后登錄時(shí)重配置設(shè)置,其他用戶并沒(méi)有充分的知識(shí)可以做出理想的更改、或不想麻煩地更改,例如,用戶容忍另一用戶的首選項(xiàng)、或在兩個(gè)位置使用相同的設(shè)置(“最小公分母”解決方案,即便監(jiān)視器中的一個(gè)監(jiān)視器的其他設(shè)置是較好的)。在其他情況中,即使熟練的計(jì)算機(jī)用戶也可能對(duì)他們需要連接的具體的顯示機(jī)制一無(wú)所知,諸如一給出演示的需要連接到任何可用的大的監(jiān)視器或投影設(shè)備的用戶。此外,在不久的將來(lái),許多電視機(jī)和安裝在飛機(jī)上的顯示器將提供計(jì)算機(jī)連接作為計(jì)算機(jī)監(jiān)視器是可能的,由此飛機(jī)旅客和/或在旅館房間內(nèi)的旅客等將連接到電視機(jī)或顯示器,要求計(jì)算機(jī)的視頻設(shè)置的重配置以適應(yīng)該電視機(jī)或顯示器。需要注意的是預(yù)設(shè)置方案是不可行的;例如,由于不同的情況,可存在這樣的顯示機(jī)制的很多變化,每個(gè)變化具有不同的能力,例如,旅館房間電視機(jī)幾乎肯定比構(gòu)建在飛機(jī)座位內(nèi)的顯示器大。
      實(shí)際上,當(dāng)連接到具體的顯示機(jī)制時(shí),用戶需要或想重配置的分辨率、顏色深度以及刷新率全部是可變的。這些設(shè)置由顯示機(jī)制的能力結(jié)合安裝在計(jì)算機(jī)系統(tǒng)內(nèi)的視頻卡(或多個(gè)視頻卡)的能力所確定的。屏幕大小是另一更改現(xiàn)有設(shè)置的原因,如在一個(gè)顯示機(jī)制上看上去良好的看得見(jiàn)的對(duì)象當(dāng)在另一個(gè)顯示機(jī)制的設(shè)置上使用時(shí)可能太小或太大。功耗是另一個(gè)需要被考慮的因素,由于具有某些設(shè)置(例如,更高的刷新率)要比且其他機(jī)制消耗更多的電力,并且當(dāng)嘗試保存電池壽命時(shí)是不理想的。
      總之,存在大量用于結(jié)合顯示機(jī)制操作的配置計(jì)算機(jī)系統(tǒng)的方式,并且存在大量用戶可連接的顯示機(jī)制類型。當(dāng)多個(gè)顯示機(jī)制可用于連接到計(jì)算機(jī)系統(tǒng)時(shí),也存在多種選擇。需要的是一種當(dāng)連接到一個(gè)或多個(gè)顯示機(jī)制時(shí)簡(jiǎn)化用戶體驗(yàn)的方法,并且該方法以一種處理多個(gè)可能的用戶情況以及給用戶想要的結(jié)果的靈活的方式實(shí)現(xiàn)。

      發(fā)明內(nèi)容
      簡(jiǎn)單地說(shuō),本發(fā)明提供一種用于在監(jiān)視器或其他顯示機(jī)制的連接后動(dòng)態(tài)地和智能地配置和/或在斷開連接后重配置計(jì)算機(jī)系統(tǒng)的監(jiān)視器相關(guān)設(shè)置的系統(tǒng)和方法。本發(fā)明不僅僅更改用于特定顯示機(jī)制的設(shè)置更改,也可作為一個(gè)整體對(duì)監(jiān)視器配置做出更改,包括一個(gè)或多個(gè)顯示機(jī)制的概念以及它們各自的視頻設(shè)置和模式、以及諸如監(jiān)視器相互之間的相對(duì)位置的信息、以及影響它們的視頻模式(例如,電源方案)的信息。需要注意的是如在此使用的,術(shù)語(yǔ)“監(jiān)視器”和“顯示機(jī)制”是等同的并且一般可互換使用,(即使在某些其他情況下,諸如投影機(jī)的顯示機(jī)制按字面解釋不被考慮成監(jiān)視器)。
      當(dāng)監(jiān)視器被插入計(jì)算機(jī)系統(tǒng)時(shí),軟件中的瞬態(tài)監(jiān)視器管理器組件被通知并嘗試識(shí)別監(jiān)視器以查看它是否先前在計(jì)算機(jī)系統(tǒng)上被配置。搜索持續(xù)存儲(chǔ)的監(jiān)視器配置,查找包括剛剛被連接的監(jiān)視器的標(biāo)識(shí)符的監(jiān)視器配置,該標(biāo)識(shí)符可結(jié)合用于相互連接的監(jiān)視器各自的標(biāo)識(shí)符所維護(hù)。如果監(jiān)視器配置數(shù)據(jù)先前被建立,那么剛剛被連接的監(jiān)視器的建立的視頻模式以及任何其他連接的一個(gè)監(jiān)視器或多個(gè)監(jiān)視器的建立的視頻模式可被獲得以獲得它們的視頻模式。如果沒(méi)有精確匹配,那么數(shù)據(jù)可從先前建立的類似配置中獲得。當(dāng)需要更改時(shí),所有監(jiān)視器的視頻模式可同時(shí)被應(yīng)用以使只需要一次‘閃爍’或刷新而不需要用戶交互。監(jiān)視器配置被找到,其中任何已經(jīng)插入的監(jiān)視器的視頻模式都不需要更改。
      在一種實(shí)現(xiàn)中,本發(fā)明作用于監(jiān)視器的連接或斷開連接,諸如由操作系統(tǒng)中的視頻棧提供的即插即用事件的接收所指示的。當(dāng)用戶登錄時(shí)、當(dāng)用戶鎖定以及然后解鎖計(jì)算機(jī)、或當(dāng)快速用戶切換發(fā)生時(shí),本發(fā)明也操作以處理這樣的情況,其中盡管用戶退出登錄,但是監(jiān)視器更改發(fā)生。
      瞬態(tài)監(jiān)視器管理器組件配置一個(gè)或多個(gè)到達(dá)的監(jiān)視器,監(jiān)視器可被配置成已知的配置,當(dāng)這樣已知的配置已經(jīng)被先前的建立時(shí),或如果沒(méi)有已知的配置被先前地建立,那么監(jiān)視器被配置成最類似的理想的配置(達(dá)到盡可能的程度)。尤其,如果匹配的配置沒(méi)有被找到,那么基于每個(gè)被連接的監(jiān)視器的能力以及系統(tǒng)的視頻能力確定新的配置,雖然其他諸如電源和操作類型(例如,媒體播放對(duì)圖像查看)的因素可修改給定的監(jiān)視器配置。
      在一種實(shí)現(xiàn)中,如果監(jiān)視器先前沒(méi)有被連接到計(jì)算機(jī)系統(tǒng),那么監(jiān)視器被詢問(wèn)它可能的視頻模式。如果監(jiān)視器響應(yīng),那么返回的信息被用以確定該監(jiān)視器相對(duì)于當(dāng)前的視頻卡能力的最佳的可能的設(shè)置,并且視頻模式可在沒(méi)有用戶交互的情況下被應(yīng)用,雖然提供給用戶某些用戶接口也是可行的,諸如具體的監(jiān)視器被第一次遇到。如果監(jiān)視器不具有視頻模式信息,那么可以使用標(biāo)準(zhǔn)的(例如,最小的)視頻模式配置。在大部分實(shí)例中,僅僅當(dāng)系統(tǒng)不能找到監(jiān)視器配置且監(jiān)視器不提供視頻模式信息時(shí)才需要關(guān)于監(jiān)視器配置是否正確的用戶確認(rèn)。
      用于搜索最佳猜測(cè)的監(jiān)視器配置的其他增強(qiáng)可被使用以找到最類似的監(jiān)視器配置。這些增強(qiáng)可包括在當(dāng)前被插入的監(jiān)視器先前已經(jīng)被查看的情況中(但不是在相同的監(jiān)視器配置中)使用現(xiàn)有設(shè)置。
      除了智能地配置新連接的監(jiān)視器,在斷開連接后,管理器組件可重配置任何余下的(依舊連接的)一個(gè)監(jiān)視器或多個(gè)監(jiān)視器為配置更改而調(diào)整。這可包括更改設(shè)置,也可包括混洗出現(xiàn)在斷開連接的監(jiān)視器上的窗口和其他圖像到余下的一個(gè)監(jiān)視器或多個(gè)監(jiān)視器。管理器組件跟蹤用戶對(duì)配置(例如,設(shè)置的一個(gè)或多個(gè))做出的任何手動(dòng)更改并當(dāng)遇到相同的監(jiān)視器或類似類型的監(jiān)視器時(shí)自動(dòng)地恢復(fù)配置。
      此外,由于本發(fā)明負(fù)責(zé)當(dāng)監(jiān)視器配置更改時(shí)設(shè)置視頻模式,所以本發(fā)明可被擴(kuò)展以處理在計(jì)算機(jī)上保存電力需要的視頻模式更改,在該計(jì)算機(jī)上電力保存是重要的,諸如當(dāng)處理可經(jīng)歷低電池情況的移動(dòng)設(shè)備時(shí)。瞬態(tài)監(jiān)視器管理器能被通知電源方案更改以及能執(zhí)行應(yīng)用統(tǒng)一電源策略規(guī)則。該特性提供其他益處,因?yàn)槟壳耙苿?dòng)設(shè)備的臨時(shí)顯示設(shè)備驅(qū)動(dòng)程序是不能識(shí)別多顯示器的,并由此移動(dòng)設(shè)備能經(jīng)常僅僅對(duì)它的內(nèi)置顯示器做出關(guān)于電源的視頻模式更改。
      其他優(yōu)點(diǎn)將從以下結(jié)合附圖的詳細(xì)的描述中變得明顯,其中


      圖1是框圖,以個(gè)人計(jì)算機(jī)系統(tǒng)的形式表示通用計(jì)算設(shè)備,本發(fā)明可被結(jié)合到該通用計(jì)算設(shè)備中;
      圖2是框圖,一般表示了根據(jù)本發(fā)明的多個(gè)方面的用于管理一個(gè)或多個(gè)監(jiān)視器的組件,包括基于當(dāng)前監(jiān)視器組應(yīng)用監(jiān)視器配置數(shù)據(jù);圖3是流程圖,一般表示了根據(jù)本發(fā)明的多個(gè)方面的由瞬態(tài)監(jiān)視器管理器組件在監(jiān)視器連接到計(jì)算機(jī)系統(tǒng)后采用的示例步驟;圖4是流程圖,一般表示了根據(jù)本發(fā)明的多個(gè)方面的由瞬態(tài)監(jiān)視器管理器在監(jiān)視器從計(jì)算機(jī)系統(tǒng)斷開連接后采取的示例步驟;圖5是流程圖,一般表示了根據(jù)本發(fā)明的多個(gè)方面的當(dāng)用戶交互地更改監(jiān)視器配置數(shù)據(jù)時(shí)由瞬態(tài)監(jiān)視器管理器采取的示例步驟;以及圖6-10包括流程圖,一般表示了根據(jù)本發(fā)明的多個(gè)方面的由瞬態(tài)監(jiān)視器管理器采取的以處理各種情況的步驟。
      詳細(xì)描述典型操作環(huán)境圖1示出了一合適的計(jì)算系統(tǒng)環(huán)境100的示例,在該環(huán)境中可實(shí)現(xiàn)本發(fā)明。計(jì)算系統(tǒng)環(huán)境100只是合適的計(jì)算環(huán)境的一例,而不是要提出對(duì)本發(fā)明的使用范圍或功能進(jìn)行限制。計(jì)算系統(tǒng)環(huán)境100也不應(yīng)解釋成對(duì)于在示例操作環(huán)境100中所示出的任一組件或其組合有任何依賴或需求。
      本發(fā)明可用大量其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置運(yùn)行??梢赃m用于本發(fā)明使用的公知的計(jì)算系統(tǒng)、環(huán)境、和/或配置的示例包括,但不局限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或膝上型計(jì)算機(jī)、平板設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電器、網(wǎng)絡(luò)PC、小型機(jī)、大型計(jì)算機(jī)、包括任何諸如以上系統(tǒng)或設(shè)備的分布計(jì)算環(huán)境等。
      本發(fā)明可以在諸如由計(jì)算機(jī)執(zhí)行的程序模塊的可執(zhí)行計(jì)算機(jī)指令的一般上下文中被描述。一般地,程序模塊包括完成特殊任務(wù)或執(zhí)行特殊抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)踐,其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以定位于包括存儲(chǔ)器儲(chǔ)存器設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)。
      參見(jiàn)圖1,用于實(shí)現(xiàn)本發(fā)明的示例的系統(tǒng)包括一以計(jì)算機(jī)110形式出現(xiàn)的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件包括,但不局限于,處理單元120、系統(tǒng)存儲(chǔ)器130、以及將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是多種總線結(jié)構(gòu)類型中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線和使用各種總線體系結(jié)構(gòu)的任一種的局部總線。舉例來(lái)說(shuō),而非限制,此類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(EISA)總線、視頻電子標(biāo)準(zhǔn)技術(shù)協(xié)會(huì)(VESA)局部總線、和也被稱為Mezzanine總線的外圍部件互連(PCI)總線。
      計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是任何計(jì)算機(jī)110能夠訪問(wèn)的可用介質(zhì),包括易失性的和非易失性的介質(zhì)、可移動(dòng)的和不可移動(dòng)的介質(zhì)。舉例來(lái)說(shuō),而非限制,計(jì)算機(jī)可讀介質(zhì)可以包含計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括能以任何方法或技術(shù)實(shí)現(xiàn)的易失性的和非易失性的、可移動(dòng)的和不可移動(dòng)的介質(zhì),用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不局限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)技術(shù),CD-ROM、數(shù)字化多功能光盤(DVD)或其它光盤存儲(chǔ)、盒式磁帶、磁帶、磁盤存儲(chǔ)器或其它磁存儲(chǔ)設(shè)備,或任何其它可以被用來(lái)存儲(chǔ)想要的信息并且可以被計(jì)算機(jī)110訪問(wèn)的介質(zhì)。通信介質(zhì)通常體現(xiàn)為諸如載波或其它傳送機(jī)制的已調(diào)數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),也包括任何信息傳遞介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”是指在該信號(hào)中以編碼信息的方式來(lái)設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。舉例來(lái)說(shuō),而非限制,通信介質(zhì)包括諸如有線網(wǎng)或直線連接的有線介質(zhì),和諸如聲音、射頻、紅外線和其它無(wú)線介質(zhì)的無(wú)線介質(zhì)。任何以上所述的組合也可以包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
      系統(tǒng)存儲(chǔ)器130包括以諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132的易失性和/或非易失性存儲(chǔ)器的形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。包含如在啟動(dòng)期間幫助在計(jì)算機(jī)110內(nèi)各元素之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)133,通常存儲(chǔ)在ROM 131中。RAM 132通常包含可以被處理單元120立即訪問(wèn)和/或當(dāng)前操作的數(shù)據(jù)和/或程序模塊。舉例來(lái)說(shuō),而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
      計(jì)算機(jī)110還可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖1示出了從不可移動(dòng)、非易失性磁性介質(zhì)讀出或?qū)懭氩豢梢苿?dòng)、非易失性磁性介質(zhì)的硬盤驅(qū)動(dòng)器141、從可移動(dòng)、非易失性磁性磁盤152讀出或?qū)懭肟梢苿?dòng)、非易失性磁性磁盤152的磁盤驅(qū)動(dòng)器151、以及從諸如CD ROM或其它光學(xué)介質(zhì)的可移動(dòng)、非易失性光盤156讀出或?qū)懭肟梢苿?dòng)、非易失性光盤156的光盤驅(qū)動(dòng)器155。其它可以使用在示例的操作環(huán)境中的可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不局限于,盒式磁帶、閃存卡、數(shù)字多功能光盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動(dòng)141通常通過(guò)諸如接口140的不可移動(dòng)存儲(chǔ)接口連接到系統(tǒng)總線121,磁盤驅(qū)動(dòng)151和光盤驅(qū)動(dòng)155通常通過(guò)諸如接口150的可移動(dòng)存儲(chǔ)接口連接到系統(tǒng)總線121。
      以上討論并且在圖1中示出的驅(qū)動(dòng)器及其它們相關(guān)的計(jì)算存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。在圖1,例如,示出硬盤驅(qū)動(dòng)器141存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146、和程序數(shù)據(jù)147。需要注意的是這些組件可以和操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以和它們不同。在此對(duì)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給出了不同的標(biāo)號(hào)來(lái)說(shuō)明至少它們是不同的拷貝。用戶可以通過(guò)諸如寫字板、或電子數(shù)字轉(zhuǎn)換器164、麥克風(fēng)163、鍵盤162和定位設(shè)備161把指令和信息輸入到計(jì)算機(jī)110中,定位設(shè)備161通常指如鼠標(biāo)、跟蹤球或觸摸板。其它輸入設(shè)備(圖1中未示)可以包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常經(jīng)由和系統(tǒng)總線121相耦合的用戶輸入接口160連接到處理單元120。但是上述和其它輸入設(shè)備也可以由其它接口和總線結(jié)構(gòu)連接到處理單元120,諸如,并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型顯示設(shè)備也可以通過(guò)諸如視頻接口190的接口連接到系統(tǒng)總線121。監(jiān)視器191也可以和觸摸屏等集成在一起。需要注意的是監(jiān)視器和/或觸摸屏可以物理地耦合到包含了計(jì)算機(jī)110的外殼內(nèi),諸如在平板式個(gè)人計(jì)算機(jī)內(nèi)。另外,諸如計(jì)算設(shè)備110的計(jì)算機(jī)也包括其它外圍輸出設(shè)備,諸如可以通過(guò)一輸出外圍設(shè)備接口194等連接的揚(yáng)聲器195和打印機(jī)196。
      計(jì)算機(jī)110可以在網(wǎng)絡(luò)化的環(huán)境中運(yùn)行,該環(huán)境使用邏輯連接連接到一個(gè)或多個(gè)諸如遠(yuǎn)程計(jì)算機(jī)180的遠(yuǎn)程計(jì)算機(jī)。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)個(gè)人計(jì)算機(jī)、對(duì)等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),通常包括以上描述的和110相關(guān)的多個(gè)或全部組件,盡管在圖1中只示出了存儲(chǔ)器儲(chǔ)存設(shè)備181。在圖1中描繪的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但是也可以包括其它網(wǎng)絡(luò)。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是普遍的。
      當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或通過(guò)諸如因特網(wǎng)的WAN 173建立通信的其他裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,可以通過(guò)用戶輸入接口160或其它適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線121。在一網(wǎng)絡(luò)化的環(huán)境中,所描述的和計(jì)算機(jī)110相關(guān)的程序模塊或其中的一部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器儲(chǔ)存設(shè)備內(nèi)。舉例說(shuō)明,但非限制,圖1示出了駐留在存儲(chǔ)器設(shè)備181上的遠(yuǎn)程應(yīng)用程序185。可以理解的是所示的網(wǎng)絡(luò)連接是示例的,也可以使用在計(jì)算機(jī)間建立通信鏈路的其他裝置。
      需要注意的是如上描述的,本發(fā)明一般涉及數(shù)據(jù)源,數(shù)據(jù)源可以,例如,包括對(duì)應(yīng)于駐留在一個(gè)或多個(gè)遠(yuǎn)程系統(tǒng)上的SQL服務(wù)器和/或XML數(shù)據(jù)提供者(Web服務(wù))的數(shù)據(jù)源。圖1的計(jì)算環(huán)境100被理解包括任何本地和/或遠(yuǎn)程數(shù)據(jù)源,該數(shù)據(jù)包括SQL服務(wù)器提供的數(shù)據(jù)、Web服務(wù)服務(wù)器提供的數(shù)據(jù)和其他。
      管理監(jiān)視器配置本發(fā)明一般涉及一種系統(tǒng)和方法,通過(guò)該系統(tǒng)和方法可在管理器組件上檢測(cè)任何對(duì)于配置一個(gè)或多個(gè)監(jiān)視器的方式的更改,然后該管理器組件以大多數(shù)用戶可能首選的方式自動(dòng)地應(yīng)用計(jì)算機(jī)管理的監(jiān)視器配置數(shù)據(jù)以補(bǔ)償更改。如被理解的那樣,大量實(shí)現(xiàn)本發(fā)明的方式是可行的,并且僅僅可供替換的某些方式在此描述。例如,本發(fā)明參考一個(gè)或多個(gè)視頻卡可被安裝在其內(nèi)的計(jì)算機(jī)系統(tǒng)描述,并且在該計(jì)算機(jī)系統(tǒng)中監(jiān)視器對(duì)計(jì)算機(jī)的連接和監(jiān)視器從計(jì)算機(jī)處的斷開連接被諸如基于即插即用(PNP)技術(shù)的組件的操作系統(tǒng)組件所檢測(cè)。然而,本發(fā)明也可在其他類型的設(shè)備上實(shí)現(xiàn),諸如連接到電視機(jī)的媒體播放器。實(shí)際上,諸如計(jì)算機(jī)監(jiān)視器、電視機(jī)、投影設(shè)備等可把對(duì)應(yīng)于自己能力的某些數(shù)據(jù)或標(biāo)識(shí)符發(fā)送到另一設(shè)備的任何顯示機(jī)制都能從本發(fā)明中獲益。同樣地,本發(fā)明不被限制于任何在此使用的具體示例,而是可以多種在一般計(jì)算內(nèi)提供益處和優(yōu)點(diǎn)的方式使用。
      此外,本發(fā)明的某些例子結(jié)合各種對(duì)于具有標(biāo)識(shí)符的計(jì)算機(jī)監(jiān)視器的參考所描述,尤其是由視頻電子標(biāo)準(zhǔn)協(xié)會(huì)定義的“擴(kuò)展顯示標(biāo)識(shí)數(shù)據(jù)”或EDID。一般地,EDID是數(shù)據(jù)結(jié)構(gòu),通過(guò)該數(shù)據(jù)結(jié)構(gòu)計(jì)算機(jī)監(jiān)視器能夠向它連接的主計(jì)算機(jī)系統(tǒng)通知它的身份和能力(稱為E-EDID的擴(kuò)展EDID數(shù)據(jù)結(jié)構(gòu)是該標(biāo)識(shí)符的更新的版本)。然而,本發(fā)明不被限制于具有EDID的監(jiān)視器,而是可與任何標(biāo)識(shí)系統(tǒng)工作。如此,如在此使用的,術(shù)語(yǔ)“標(biāo)識(shí)符”和它的變體包括任何用于顯示機(jī)制向連接的主系統(tǒng)標(biāo)識(shí)它自己和/或它的能力的方式,包括基于EDID和E-EDID標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)。
      此外,注意如在此使用的,術(shù)語(yǔ)“連接的”、“耦合的”、“插入的”以及它們的變體是等同的并且一般表示一種狀態(tài),在該狀態(tài)中數(shù)據(jù)可在監(jiān)視器和計(jì)算機(jī)系統(tǒng)之間以至少一個(gè)方向發(fā)送而不管數(shù)據(jù)是通過(guò)有線的還是無(wú)線的介質(zhì)發(fā)送。在相反的狀態(tài)中,數(shù)據(jù)不能用于任何原因而被發(fā)送,原因包括物理通信介質(zhì)的移除、無(wú)線超出范圍或干涉情況、監(jiān)視器或視頻頭的電源關(guān)閉狀態(tài)(包括諸如結(jié)合膝上型計(jì)算機(jī)的關(guān)閉電源的內(nèi)置監(jiān)視器)等,該狀態(tài)被等同地稱為“斷開連接的”、“斷開耦合的”或“未被插入的”以及它們各自的變體。
      參見(jiàn)附圖,圖2顯示了在其中可實(shí)現(xiàn)本發(fā)明的示例組件的排列。在圖2中,包括一個(gè)或多個(gè)監(jiān)視器2021和2022的顯示機(jī)制可連接到一個(gè)或多個(gè)視頻卡(視頻適配器)204以及從一個(gè)或多個(gè)視頻卡(視頻適配器)204中斷開連接,該一個(gè)或多個(gè)視頻卡(視頻適配器)由諸如通過(guò)視頻電纜物理地插入監(jiān)視器中。雖然圖2僅僅顯示了兩個(gè)監(jiān)視器,可以理解的是任何可行數(shù)量的監(jiān)視器可被連接。需要注意的是當(dāng)代計(jì)算機(jī)系統(tǒng)支持多個(gè)視頻卡,諸如AGP或基于PCI的視頻卡,并且也支持市場(chǎng)上提供的具有多個(gè)視頻頭的單個(gè)視頻卡。也要注意的是雖然沒(méi)有在圖2中特別地表示,視頻“卡”的概念等同于實(shí)際上不在可移動(dòng)卡上的內(nèi)置視頻電路。
      只要諸如監(jiān)視器2022的顯示機(jī)制被連接或被斷開連接而計(jì)算機(jī)系統(tǒng)是可操作時(shí),信號(hào)通過(guò)視頻棧(例如,硬件和軟件驅(qū)動(dòng)程序?qū)?06、208等)由視頻卡204發(fā)送至被配置以感應(yīng)硬件更改的操作系統(tǒng)機(jī)制,如在圖2通過(guò)即插即用(PNP)組件210表示的那樣。即插即用組件210通過(guò)系統(tǒng)發(fā)送事件至適當(dāng)?shù)膶?shí)體,由此稱為瞬態(tài)監(jiān)視器管理器212的用戶模式組件知道有連接或斷開連接事件。注意的是該排列充分利用當(dāng)前的技術(shù);在可供選擇的配置中,瞬態(tài)監(jiān)視器管理器可被實(shí)現(xiàn)為內(nèi)核組件,和/或被配置以在沒(méi)有即插即用組件210的情況下感應(yīng)監(jiān)視器連接和斷開連接。
      與本發(fā)明一致,瞬態(tài)監(jiān)視器管理器212能諸如通過(guò)做出詢問(wèn),例如,通過(guò)由圖形接口213的API調(diào)用(例如,基于GDI的軟件),找到有關(guān)連接的監(jiān)視器的信息。第一個(gè)這樣的詢問(wèn)可涉及獲取監(jiān)視器的關(guān)聯(lián)標(biāo)識(shí)符(例如,EDID),只要監(jiān)視器支持這個(gè)標(biāo)準(zhǔn);部分EDID被用于可能的范圍,而NULL EDID(空EDID)由設(shè)置顯示機(jī)制為某些最小值以及獲取用戶確認(rèn)而被處理。更具體地,由于實(shí)際上不是所有監(jiān)視器具有唯一序列號(hào),當(dāng)新的監(jiān)視器被插入時(shí),可使用類似監(jiān)視器的配置。系統(tǒng)可檢測(cè)監(jiān)視器的生產(chǎn)代碼以及產(chǎn)品標(biāo)識(shí)符并且檢查該組合是否以前被查看過(guò)。如果存在對(duì)于這兩條信息的匹配,那么序列號(hào)能被用以進(jìn)一步標(biāo)識(shí)監(jiān)視器。如果序列號(hào)不是唯一的,那么來(lái)自監(jiān)視器的其他信息(例如,來(lái)自EDID數(shù)據(jù)結(jié)構(gòu))能被用以標(biāo)識(shí)監(jiān)視器。
      序列號(hào)不一定是最佳的標(biāo)識(shí)監(jiān)視器的方式。另一種標(biāo)識(shí)監(jiān)視器的方式是把整個(gè)EDID或部分EDID轉(zhuǎn)換至散列碼,并且存儲(chǔ)EDID至散列表。由于監(jiān)視器的牌號(hào)和型號(hào)是EDID的一部分,用于EDID的進(jìn)入散列表的入口點(diǎn)包括用于牌號(hào)和型號(hào)信息的散列表。這排除了再次詢問(wèn)監(jiān)視器更多信息(如以下描述的)的需要。由于某些監(jiān)視器不具有序列號(hào)、或用于監(jiān)視器牌號(hào)和型號(hào)的唯一序列號(hào),因此使用EDID作為標(biāo)識(shí)符是較佳的。為了幫助進(jìn)一步標(biāo)識(shí)監(jiān)視器,計(jì)算機(jī)所連接的網(wǎng)絡(luò)可被標(biāo)識(shí),并且被納入散列碼的信息被用于EDID。
      如果監(jiān)視器不具有EDID(或具有NULL EDID(空EDID)),那么各種其他標(biāo)識(shí)機(jī)制可被應(yīng)用。例如,如果可確定監(jiān)視器是內(nèi)置監(jiān)視器(例如,膝上型計(jì)算機(jī)的內(nèi)置LCD面板),那么這是用以區(qū)分監(jiān)視器的標(biāo)識(shí)的一種形式。如果沒(méi)有其他方式區(qū)分監(jiān)視器并且它具有NULL EDID(空EDID),那么算法(以下被一般地描述)能指定特殊的監(jiān)視器標(biāo)識(shí)符。然而,如果存在多于一個(gè)的NULL EDID(空EDID)監(jiān)視器,那么沒(méi)有方法可用于保存兩個(gè)監(jiān)視器的不同的監(jiān)視器設(shè)置。在這種情況下,兩個(gè)監(jiān)視器將共享相同的視頻設(shè)置,或算法將監(jiān)視器視為新的監(jiān)視器。
      如以下描述的,為了確定當(dāng)前監(jiān)視器配置,剛剛被連接的監(jiān)視器的標(biāo)識(shí)符被結(jié)合一個(gè)或多個(gè)其他已知的被連接的監(jiān)視器的一個(gè)或多個(gè)標(biāo)識(shí)符所使用。注意的是當(dāng)需要時(shí),瞬態(tài)監(jiān)視器管理器212能詢問(wèn)所有連接的監(jiān)視器(那些能響應(yīng)的監(jiān)視器)以了解當(dāng)前被連接的一個(gè)或多個(gè)監(jiān)視器的組。例如,對(duì)以下啟動(dòng)這是需要的,當(dāng)對(duì)于最后監(jiān)視器配置的任意數(shù)量的更改已經(jīng)在沒(méi)有相應(yīng)感應(yīng)的PnP事件的情況下在關(guān)閉(或休眠等)期間做出時(shí)。類似地,在不標(biāo)識(shí)哪個(gè)監(jiān)視器被斷開連接的斷開連接事件后,瞬態(tài)監(jiān)視器管理器212可詢問(wèn)任何余下的監(jiān)視器以通過(guò)排除過(guò)程確定哪個(gè)監(jiān)視器被斷開連接。
      根據(jù)本發(fā)明的一個(gè)方面,一旦瞬態(tài)監(jiān)視器管理器212知道一個(gè)或多個(gè)當(dāng)前被連接的監(jiān)視器的組,瞬態(tài)監(jiān)視器管理器212確定監(jiān)視器配置(一組數(shù)據(jù))以應(yīng)用到該組,并可能在不需要任何用戶確認(rèn)的情況下應(yīng)用該組。如以下描述的,確定監(jiān)視器配置可取決于監(jiān)視器配置是否先前為該組所被建立,或該組是否對(duì)應(yīng)于新的監(jiān)視器配置,在此事件中瞬態(tài)監(jiān)視器管理器212實(shí)質(zhì)地為該組以智能的方式構(gòu)建新的監(jiān)視器配置并且然后應(yīng)用該構(gòu)建的監(jiān)視器配置。
      為了確定相應(yīng)的監(jiān)視器配置是否已經(jīng)被先前地建立,瞬態(tài)監(jiān)視器管理器212訪問(wèn)在數(shù)據(jù)存儲(chǔ)214內(nèi)維護(hù)的監(jiān)視器配置數(shù)據(jù)。一般地,如果找到匹配監(jiān)視器配置,那么它被應(yīng)用,由此新連接的監(jiān)視器和任何其他連接的監(jiān)視器被自動(dòng)地按需更改以對(duì)每個(gè)監(jiān)視器恢復(fù)先前的視頻狀態(tài)。視頻狀態(tài)涉及能由軟件設(shè)置的任何視頻相關(guān)的數(shù)值(例如,監(jiān)視器的分辨率、刷新率、顏色深度、方位、亮度、對(duì)比度、視頻頭狀態(tài)開或關(guān)閉、和/或DPI)。對(duì)于具有多個(gè)監(jiān)視器的配置,視頻狀態(tài)也包括監(jiān)視器相互之間相對(duì)的邏輯位置(在相應(yīng)的計(jì)算機(jī)桌面上),稱為幾何。注意的是如此監(jiān)視器配置的概念包括用于一個(gè)或多個(gè)監(jiān)視器的組的視頻設(shè)置/模式,以及幾何,和其他影響視頻設(shè)置/模式的信息(例如,電源方案)。如可被容易理解的那樣,不是所有可能的信息都需要被知道以持續(xù)存儲(chǔ)和應(yīng)用監(jiān)視器配置,然而,可用以及可被持續(xù)存儲(chǔ)的配置信息越多,那么當(dāng)下次相同的組被重新連接時(shí),瞬態(tài)監(jiān)視器管理212能越好地恢復(fù)系統(tǒng)到它先前的狀態(tài)。
      在電源API 220也顯示了瞬態(tài)監(jiān)視器管理器212可由此至少暫時(shí)地修改被應(yīng)用到監(jiān)視器組的設(shè)置??梢匀菀桌斫獾氖侵T如低電池情況的相關(guān)電源的事件,或被重新連接到電源的移動(dòng)設(shè)備可在瞬態(tài)監(jiān)視器管理器212被檢測(cè),并且從而被用為更改視頻設(shè)置的基礎(chǔ)。
      圖3是概括當(dāng)監(jiān)視器被檢測(cè)為已經(jīng)被例如即插即用事件插入時(shí)(如通過(guò)步驟300表示的),由瞬態(tài)監(jiān)視器管理器212執(zhí)行的各種操作流程圖。步驟302表示關(guān)于這是新的監(jiān)視器還是以前已經(jīng)被該計(jì)算系統(tǒng)遇到的監(jiān)視器的確定。該步驟隱含地包括計(jì)算與監(jiān)視器關(guān)聯(lián)的標(biāo)識(shí)符,該標(biāo)識(shí)符可被視為是通過(guò)后面的獲取標(biāo)識(shí)符的詢問(wèn)類型操作獲取的,雖然對(duì)于標(biāo)識(shí)符而言被結(jié)合連接事件所提供是可行的。各種確定監(jiān)視器是否先前已經(jīng)被連接的方式在以下被描述,雖然一般地,如果監(jiān)視器先前已經(jīng)被連接,那么監(jiān)視器對(duì)應(yīng)于至少一個(gè)具有在數(shù)據(jù)存儲(chǔ)214內(nèi)持續(xù)存儲(chǔ)的數(shù)據(jù)的監(jiān)視器配置。注意的是實(shí)用程序等可被用以從數(shù)據(jù)存儲(chǔ)214中清除不再需要的監(jiān)視器配置,但是用于本示例描述的目的,假設(shè)任何先前的監(jiān)視器配置依舊被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)214中。
      如果監(jiān)視器對(duì)應(yīng)于至少一個(gè)監(jiān)視器配置,那么它對(duì)于計(jì)算機(jī)系統(tǒng)而言不是新的,步驟302分出至步驟304,在此全部配置(包括任何其他連接的監(jiān)視器)被估算,在任何包括對(duì)應(yīng)于剛剛被連接的監(jiān)視器的標(biāo)識(shí)符的數(shù)據(jù)的監(jiān)視器配置中尋找精確匹配。一般地,瞬態(tài)監(jiān)視器管理器212尋找用戶先前具有的監(jiān)視器的同樣的配置。如果在步驟304找到一個(gè),那么監(jiān)視器配置在步驟306被用以重置(一個(gè)或多個(gè))監(jiān)視器的組為它先前的配置,并且瞬態(tài)監(jiān)視器管理器212的這個(gè)過(guò)程結(jié)束直到再次需要。注意的是要求某些比在步驟302和/或304的精確匹配較松的條件是可行的,諸如當(dāng)剛剛被連接的監(jiān)視器與另一監(jiān)視器足夠的類似以被認(rèn)為匹配時(shí)(例如,相同的牌號(hào)和型號(hào))。如可被容易理解的,現(xiàn)有監(jiān)視器配置的應(yīng)用可以是用于多個(gè)類型的用戶合理地經(jīng)常發(fā)生,該用戶包括使移動(dòng)設(shè)備在各位置之間移動(dòng)并插入各監(jiān)視器的用戶、共享相同的計(jì)算機(jī)但具有不同設(shè)置(監(jiān)視器配置基于每個(gè)用戶持續(xù)存儲(chǔ))的用戶等。
      在步驟304,盡管監(jiān)視器在步驟302被識(shí)別,但是全部的配置是新的是可能的。例如,剛剛被連接的監(jiān)視器已經(jīng)創(chuàng)建出先前從未被使用的監(jiān)視器組合,或剛剛被連接的監(jiān)視器已經(jīng)總在某組合中被使用,但是現(xiàn)在由它單獨(dú)連接。如果全部配置是新的,那么步驟304分出至步驟314,在此用于該新的監(jiān)視器的“最佳”配置被瞬態(tài)監(jiān)視器管理器212自動(dòng)地選擇;(注意的是“最佳”是在引號(hào)內(nèi)以表明這個(gè)不一定是最佳的,僅僅是關(guān)于用戶最想找到的最佳猜測(cè))。例如,來(lái)自非匹配監(jiān)視器配置的設(shè)置可被選擇并被應(yīng)用為最佳猜測(cè),在該非匹配監(jiān)視器配置中監(jiān)視器是最新使用的。注意的是在應(yīng)用配置之前,需要針對(duì)視頻卡的兼容性評(píng)估設(shè)置,該視頻卡與監(jiān)視器最后連接的視頻卡可能是不同的。如果是不兼容的,可選擇更早些使用的配置,和/或設(shè)置被更改為與視頻卡兼容的最接近的數(shù)值。
      步驟314分出至(可選的)步驟320以通過(guò)用戶界面對(duì)話框等確認(rèn)應(yīng)用的配置對(duì)用戶而言是可接受的,以及如果用戶首選更改監(jiān)視器配置,那么用戶接口一般提供修改監(jiān)視器配置(例如,顯示屬性)的鏈接。在步驟320的用戶交互后(用戶可選擇在將來(lái)繞過(guò)),瞬態(tài)監(jiān)視器管理器212的這個(gè)過(guò)程結(jié)束,直到在連接事件后再次需要。
      注意的是在用戶交互后,可獲取其他信息。例如,用戶可被詢問(wèn)他或她是否正在給出演示。如果是,那么可做出其他類型的更改,例如,監(jiān)視器配置可為無(wú)屏幕空白/無(wú)屏幕保護(hù)程序而設(shè)置,通知可被關(guān)閉等。
      返回步驟302,如果監(jiān)視器對(duì)于計(jì)算機(jī)系統(tǒng)而言是新的(例如,沒(méi)有在計(jì)算機(jī)系統(tǒng)的現(xiàn)有監(jiān)視器配置中找到),那么步驟302則分出至步驟304,表示詢問(wèn)監(jiān)視器它的能力,也就是說(shuō),任何監(jiān)視器能提供的相關(guān)配置的信息。例如,某些當(dāng)代的監(jiān)視器能提供從中能確定DPI的諸如它們的屏幕維度的信息,以及其他諸如首選的操作分辨率、刷新率、顏色深度、和其他設(shè)置的信息。注意的是該信息中的某些或所有可在先前在步驟302估計(jì)的標(biāo)識(shí)符內(nèi);如果是的話,那么沒(méi)有理由在步驟310再次詢問(wèn)它。然而,如以下描述的,API等可被提供,其中EDID中被選擇的部分可被檢索,例如,在一個(gè)調(diào)用中的序列號(hào)、在另一調(diào)用中的能力、并如此可做出多個(gè)詢問(wèn)。
      或者,如果在步驟312沒(méi)有詳細(xì)的信息可用,但是有足夠的其他信息可用并表明剛剛被連接的監(jiān)視器與另一系統(tǒng)已知的監(jiān)視器非常類似(例如,相同的牌號(hào)和型號(hào)),那么另一監(jiān)視器的配置信息可被代替用于該監(jiān)視器的配置信息。如圖3中表示的,當(dāng)足夠的信息可用,并且該信息被用以為剛剛被連接的監(jiān)視器選擇和應(yīng)用最佳猜測(cè)配置,那么步驟312分出至步驟314。注意的是監(jiān)視器提供(或代替的類似)的信息作為視頻卡的限制的結(jié)果可能需要修改,這可通過(guò)以下描述的循環(huán)迭代所實(shí)現(xiàn)。
      如果在步驟312監(jiān)視器不能提供足夠的信息,那么步驟316則被執(zhí)行以嘗試某些最小配置。例如,絕大多數(shù)個(gè)人計(jì)算機(jī)和監(jiān)視器至少支持VGA標(biāo)準(zhǔn),允許用戶查看包括對(duì)于手動(dòng)地更改視頻設(shè)置而言足夠的用戶界面的有意義的圖形。步驟320跟隨配置嘗試,允許用戶做出這樣的更改和/或確認(rèn)該配置是可被接受的。注意的是盡管沒(méi)有在圖3中顯示,讓步驟316開始于某些比VGA更好的配置(例如,具有更好的分辨率)是可行的,然后如果用戶不采取動(dòng)作,那么在返回步驟316之后在步驟320超時(shí),其后在步驟316可嘗試某些較少的配置。換句話說(shuō),過(guò)程可從步驟316前進(jìn)到步驟320,并且,在某些允許交互的時(shí)間后,循環(huán)返回步驟316,重新把分辨率減到最小值直到用戶在步驟320交互或達(dá)到最小值(諸如VGA)。一旦用戶在步驟320確認(rèn),過(guò)程結(jié)束。如果用戶從未確認(rèn),那么可假定監(jiān)視器沒(méi)有在正常工作或它不至少支持VGA,在這種情況下計(jì)算機(jī)系統(tǒng)可采取其他動(dòng)作,諸如在另一監(jiān)視器上向用戶通知此問(wèn)題,和/或不將這個(gè)監(jiān)視器作為當(dāng)前配置的一部分包括,好像它從未被連接。
      如此,當(dāng)監(jiān)視器被插入時(shí),監(jiān)視器配置需要被找到或被配置以使對(duì)于視頻設(shè)置的更改可被應(yīng)用。一種實(shí)現(xiàn)這個(gè)的快速方式是基于曾經(jīng)是配置的一部分的監(jiān)視器尋找過(guò)去的監(jiān)視器配置。如此,做出第一搜索以迅速標(biāo)識(shí)新連接的監(jiān)視器是否先前已經(jīng)是監(jiān)視器配置的一部分了。監(jiān)視器的身份可通過(guò)包括在EDID內(nèi)的序列號(hào)所確定,該序列號(hào)在目前版本中32位的數(shù)。在沒(méi)有序列號(hào)的情況下,一個(gè)或多個(gè)其他(例如,EDID)字段可被散列以提供有用于如上所述的標(biāo)識(shí)目的的數(shù)值。工具API調(diào)用等(例如,通過(guò)圖形接口組件213)可被用以檢索EDID。
      在示例實(shí)現(xiàn)中,多種加快查找的方式包括使用散列表和/或以平衡二叉樹排列已知的監(jiān)視器標(biāo)識(shí)符,例如,已知的監(jiān)視器信息可被包括在數(shù)組中并且二叉樹中的每個(gè)節(jié)點(diǎn)可以是監(jiān)視器數(shù)組中的索引,以使每個(gè)在監(jiān)視器數(shù)組中的條目包括指針列表,每個(gè)指針指向每個(gè)監(jiān)視器是其一部分的監(jiān)視器配置。一般地,二叉樹可在此后被用以說(shuō)明可能的實(shí)現(xiàn)。在這樣的實(shí)現(xiàn)中,監(jiān)視器配置被存儲(chǔ)在稱為監(jiān)視器配置列表的最近使用的監(jiān)視器配置列表中,具有指向包括在監(jiān)視器數(shù)組的元素的監(jiān)視器配置列表指針鏈表并且被排序,以使列表的頭指向該監(jiān)視器是其一部分的最近的監(jiān)視器配置。
      由于監(jiān)視器配置可從一個(gè)用戶向下一個(gè)用戶更改,如果瞬態(tài)監(jiān)視器管理器212是內(nèi)核組件,那么當(dāng)存在用戶上下文更改時(shí),監(jiān)視器數(shù)組和監(jiān)視器配置列表之間的鏈接被重置。監(jiān)視器配置列表中的每個(gè)節(jié)點(diǎn)包括數(shù)據(jù),諸如時(shí)間標(biāo)記(用于以排列最近使用順序排列)、配置中的監(jiān)視器數(shù)量、電源方案(例如,表示為GUID)、版本號(hào)(用于數(shù)據(jù)結(jié)構(gòu)將來(lái)可能的版本)、視頻端口狀態(tài)(也就是說(shuō),視頻端口是活動(dòng)的還是停用的)、監(jiān)視器的幾何以及在該配置和它們各自狀態(tài)中標(biāo)識(shí)監(jiān)視器的監(jiān)視器/狀態(tài)數(shù)組。或者,視頻設(shè)置可從監(jiān)視器狀態(tài)信息中提取。
      監(jiān)視器/狀態(tài)數(shù)組具有包括對(duì)應(yīng)于監(jiān)視器數(shù)組內(nèi)的監(jiān)視器的索引條目的元素以及包含監(jiān)視器狀態(tài)的結(jié)構(gòu)。狀態(tài)包含諸如監(jiān)視器的分辨率、刷新率、顏色深度以及方位的信息。存在這樣的情況,視頻頭狀態(tài)需要獨(dú)立于監(jiān)視器的出現(xiàn)而被跟蹤。在這種情況下,視頻頭狀態(tài)被存儲(chǔ)在監(jiān)視器配置列表?xiàng)l目節(jié)點(diǎn)中而不是監(jiān)視器狀態(tài)中。
      當(dāng)機(jī)器用已知的監(jiān)視器啟動(dòng)時(shí),監(jiān)視器身份可被獲取。例如監(jiān)視器A、監(jiān)視器B和監(jiān)視器C可在一配置中,其中諸如監(jiān)視器A具有為5的ID、監(jiān)視器B具有為3的ID以及監(jiān)視器C具有為7的ID。二叉樹被檢查,并且在這個(gè)示例中這些是已知的監(jiān)視器,對(duì)應(yīng)于ID 5、3以及7的節(jié)點(diǎn)被找到。每個(gè)節(jié)點(diǎn)包括在監(jiān)視器數(shù)組內(nèi)的索引。指向包括在每個(gè)數(shù)組元素內(nèi)的監(jiān)視器配置列表的指針列表被向下過(guò)濾以僅僅對(duì)應(yīng)于那些當(dāng)前正在使用的監(jiān)視器數(shù)量(3)和電源方案。接下來(lái)在指向每個(gè)監(jiān)視器的監(jiān)視器配置列表的指針上執(zhí)行比較以查看是否存在匹配。如果存在對(duì)于三個(gè)監(jiān)視器的匹配,那么從監(jiān)視器配置列表監(jiān)視器狀態(tài)中獲取的視頻設(shè)置以及從監(jiān)視器配置列表節(jié)點(diǎn)中獲取的幾何被應(yīng)用(通過(guò)圖形接口214)。在任何監(jiān)視器的幾何都不匹配存儲(chǔ)的幾何的情況下,存儲(chǔ)的幾何不被使用。如一個(gè)示例,認(rèn)為監(jiān)視器B在監(jiān)視器C被插入之前被移動(dòng)到監(jiān)視器A的左邊。在這種情況下,監(jiān)視器B移動(dòng)到監(jiān)視器A左邊是已知的,那么由于存儲(chǔ)的幾何顯示監(jiān)視器B在監(jiān)視器A的右邊,用于監(jiān)視器A、B和C(當(dāng)被插入時(shí))的存儲(chǔ)的幾何不被使用。
      在未知的監(jiān)視器被插入的情況下,盡管視頻模式可由循環(huán)迭代可能的模式所確定,以便可能地恢復(fù)過(guò)去的設(shè)置,但執(zhí)行對(duì)于監(jiān)視器型號(hào)的搜索以嘗試提供給用戶用于類似的監(jiān)視器的過(guò)去使用的模式。如果對(duì)于型號(hào)的搜索失敗,那么可使用監(jiān)視器能力,其中監(jiān)視器能力包括屏幕大小和/或模式以及監(jiān)視器支持的刷新率的組合。諸如監(jiān)視器類型的信息能增強(qiáng)理想模式的選擇,例如,LCD、CRT、等離子或某些其他類型。一個(gè)示例是,當(dāng)用戶從一個(gè)會(huì)議室移向另一個(gè)會(huì)議室,并把相同的計(jì)算機(jī)插入會(huì)議室中不一樣但類似的監(jiān)視器時(shí)。在這種情況下,監(jiān)視器ID不能在使用監(jiān)視器ID的二叉樹的監(jiān)視器數(shù)組中找到。當(dāng)搜索失敗時(shí),將執(zhí)行顯示機(jī)制的型號(hào)的搜索。
      兩種搜索型號(hào)的方式包括創(chuàng)建另一能被搜索型號(hào)的二叉樹,或通過(guò)監(jiān)視器數(shù)組執(zhí)行線性搜索。由于對(duì)于大多數(shù)用戶而言未知監(jiān)視器被添加的次數(shù)相對(duì)于已知監(jiān)視器被插進(jìn)或從計(jì)算機(jī)中拔出的次數(shù)是很少的,并且由于創(chuàng)建二叉樹需要通過(guò)監(jiān)視器數(shù)組的線性搜索,所以簡(jiǎn)單的線性搜索可能是有優(yōu)勢(shì)的。
      另一情況是未知的監(jiān)視可被插入,包括當(dāng)只有未知的監(jiān)視器被插入時(shí),諸如具有不具有內(nèi)置監(jiān)視器的移動(dòng)計(jì)算設(shè)備。如果計(jì)算機(jī)已經(jīng)在運(yùn)行,那么向瞬態(tài)監(jiān)視器管理器212通知正在被插入的一個(gè)或多個(gè)新的監(jiān)視器?;蛘?,如果計(jì)算機(jī)是第一次啟動(dòng),那么瞬態(tài)監(jiān)視器管理器212首先檢測(cè)以查看什么監(jiān)視器被插入到計(jì)算機(jī)中。在另一情況中,每個(gè)新監(jiān)視器的監(jiān)視器ID被獲取,并且在該“未知監(jiān)視器”的示例中,二叉樹的檢測(cè)顯示沒(méi)有任何已知的監(jiān)視器具有這樣的監(jiān)視器ID。然后,型號(hào)被獲取,并且被用以為型號(hào)的每種情況搜索監(jiān)視器數(shù)組(例如,線性地)。每當(dāng)存在一匹配,數(shù)組索引被添加到鏈表中。
      如果僅有一個(gè)鏈表,那么鏈表被線性地檢測(cè)并且數(shù)組索引被用以訪問(wèn)對(duì)于監(jiān)視器配置列表的指針。當(dāng)監(jiān)視器配置列表?xiàng)l目被用于一監(jiān)視器而過(guò)濾并且找到最新的條目時(shí),關(guān)聯(lián)的視頻設(shè)置數(shù)據(jù)被用以設(shè)置監(jiān)視器配置,并且監(jiān)視器配置列表被更新。如果沒(méi)有匹配存在,那么視頻模式被循環(huán)迭代并且監(jiān)視器配置由最優(yōu)的分辨率和刷新率所確定。
      如果存在另一在該過(guò)程期間被添加的監(jiān)視器,那么另一鏈表被以相同的方式創(chuàng)建和填充。鏈表被搜索并且任何監(jiān)視器配置列表?xiàng)l目為兩個(gè)(或更多)監(jiān)視器所過(guò)濾。最新的由所有鏈表共享的監(jiān)視器配置列表?xiàng)l目被使用。
      監(jiān)視器插入/拔出事件在每個(gè)鏈表被填充后所檢測(cè),并且就在應(yīng)用視頻設(shè)置數(shù)據(jù)之前再次被檢測(cè)。如果存在更改,那么新的監(jiān)視器配置被確定。在當(dāng)未知監(jiān)視器被插入時(shí),一個(gè)或多個(gè)已知監(jiān)視器已經(jīng)被插入的情況下,一種類似于只有未知監(jiān)視器的情況存在,除了監(jiān)視器配置列表?xiàng)l目與那些由已知監(jiān)視器數(shù)組條目所指向的監(jiān)視器配置列表?xiàng)l目比較。
      為了用新標(biāo)識(shí)的監(jiān)視器更新監(jiān)視器數(shù)組,當(dāng)未知的監(jiān)視器被詢問(wèn)時(shí),它被附加到監(jiān)視器數(shù)組的尾部。在這個(gè)時(shí)候,數(shù)組條目不具有任何對(duì)于監(jiān)視器配置列表的指針。然后,二叉樹被使用新的監(jiān)視器ID而更新。一旦監(jiān)視器被添加到監(jiān)視器配置列表,當(dāng)更新視頻設(shè)置的代碼使用采用指向監(jiān)視器配置列表?xiàng)l目和監(jiān)視器ID組的指針的方法調(diào)用維護(hù)監(jiān)視器數(shù)組的代碼并發(fā)送回與每個(gè)監(jiān)視器關(guān)聯(lián)的數(shù)組索引時(shí),監(jiān)視器數(shù)組被更新。函數(shù)把指向監(jiān)視器配置列表?xiàng)l目的指針添加到與每個(gè)在發(fā)送的監(jiān)視器組中的監(jiān)視器關(guān)聯(lián)的每個(gè)數(shù)組條目作為參數(shù)。
      參考斷開鏈接的考慮,圖4顯示了由瞬態(tài)監(jiān)視器管理器212響應(yīng)于斷開連接事件采用的示例邏輯,如由步驟400表示的。注意的是如以下描述的,一般僅僅不采取動(dòng)作是不理想的,由于顯示在斷開連接的監(jiān)視器上的其他程序窗口、圖標(biāo)等將不再可見(jiàn)。如此,步驟402評(píng)估由監(jiān)視器被斷開連接所產(chǎn)生的全部配置。如以上提到的,這隱含地需要知道哪個(gè)監(jiān)視器被斷開連接而那個(gè)或哪些監(jiān)視器保持連接,這需要詢問(wèn)余下的一個(gè)監(jiān)視器或多個(gè)監(jiān)視器它們的標(biāo)識(shí)符以及通過(guò)排除過(guò)程確定哪個(gè)監(jiān)視器被斷開連接。
      一般地,給定了修改的監(jiān)視器組,瞬態(tài)監(jiān)視器管理器212查找與用戶先前具有的監(jiān)視器相同(或足夠類似的)的配置。如果在步驟402找到一個(gè),那么監(jiān)視器配置在步驟406被應(yīng)用以重置存在的(一個(gè)或多個(gè))監(jiān)視器的組的設(shè)置為它先前的配置,并且該瞬態(tài)監(jiān)視器管理器212的斷開連接處理過(guò)程結(jié)束直到再次需要。
      如果在步驟402,監(jiān)視器設(shè)置被認(rèn)為是新的,步驟402分出至步驟406,其中如以上一般描述的,例如,基于類似的配置數(shù)據(jù)或基于每個(gè)保持連接的監(jiān)視器的能力選擇最佳猜測(cè)的配置。步驟408允許用戶確認(rèn),一般也促進(jìn)任何用戶更改。
      作為當(dāng)已知監(jiān)視器被拔出時(shí),考慮另一具有連接的監(jiān)視器A、B和C的計(jì)算機(jī)配置的例子。當(dāng)計(jì)算機(jī)正在運(yùn)行時(shí),監(jiān)視器C被拔出,由此瞬態(tài)監(jiān)視器管理器212接收監(jiān)視器已經(jīng)被拔出的PnP通知,并且,如果被拔出的監(jiān)視器沒(méi)有被標(biāo)識(shí),那么瞬態(tài)監(jiān)視器管理器212通過(guò)排除過(guò)程確定哪個(gè)監(jiān)視器被拔出,也就是說(shuō),通過(guò)重新獲取那些保持連接的監(jiān)視器ID以及通過(guò)把ID與監(jiān)視器配置列表比較。
      如以上參考圖4描述的,在一實(shí)現(xiàn)中,這可導(dǎo)致監(jiān)視器配置更改以恢復(fù)監(jiān)視器A和B到先前的狀態(tài)?;蛘?,在一可供選擇實(shí)現(xiàn)中(可以是用戶可配置的),為了避免混淆用戶,剩余監(jiān)視器的狀態(tài)可被保持原樣,也就是說(shuō),既不更改監(jiān)視器A和B的分辨率也不更改監(jiān)視器A和B的刷新率。然而,監(jiān)視器C的視頻頭被關(guān)閉,并且通過(guò)采用當(dāng)前監(jiān)視器配置的備份以及從監(jiān)視器列表中排除監(jiān)視器C來(lái)準(zhǔn)備監(jiān)視器配置列表內(nèi)新的條目。視頻設(shè)置可被串行化并且存儲(chǔ)在可通過(guò)新GUID訪問(wèn)的存儲(chǔ)位置,該新GUID代替舊的監(jiān)視器配置GUID,并且時(shí)間標(biāo)記被更新。剩余監(jiān)視器的幾何被記錄并且被放置在存儲(chǔ)位置上的數(shù)據(jù)可由時(shí)間標(biāo)記尋址。然后,新的監(jiān)視器配置被放置在監(jiān)視器配置列表的頭部。
      在監(jiān)視器C被再次插入的事件中,瞬態(tài)監(jiān)視器管理器212將接收監(jiān)視器已經(jīng)被插入的PnP通知。在獲取監(jiān)視器的序列號(hào)后,通過(guò)監(jiān)視器ID的二叉樹確定監(jiān)視器C已經(jīng)被插入。如可被理解的,由于這是“已知監(jiān)視器”情況,適當(dāng)?shù)目墒褂玫囊曨l設(shè)置被如上描述地確定。
      在電源關(guān)閉期間,使用已知監(jiān)視器的監(jiān)視器重配置是可能的。雖然有些類似于接收拔出事件,但是沒(méi)有PnP通知被接收。再次考慮連接到監(jiān)視器A、B以及C的計(jì)算機(jī)的示例,其中用戶關(guān)閉計(jì)算機(jī)電源并拔出監(jiān)視器C。在這個(gè)示例中,計(jì)算機(jī)先前沒(méi)有遇到正好具有監(jiān)視器A和B的配置。在電源打開后,監(jiān)視器A和B被插入以及被相應(yīng)地標(biāo)識(shí),然而在具有包括監(jiān)視器A和B的兩個(gè)監(jiān)視器的監(jiān)視器配置列表中沒(méi)有條目存在。
      確定如何設(shè)置兩個(gè)監(jiān)視器的第一可選方式是通過(guò)循環(huán)迭代兩個(gè)監(jiān)視器能支持的可能的模式來(lái)確定最優(yōu)分辨率和刷新率。第二種方式是修改關(guān)于監(jiān)視器配置列表的搜索規(guī)則以不需要監(jiān)視器數(shù)量等于3以匹配現(xiàn)有的配置,從而瞬態(tài)監(jiān)視器管理器212將找到包括監(jiān)視器A和B的監(jiān)視器配置。通過(guò)這種方式,新的監(jiān)視器配置可被找到,類似于好像當(dāng)計(jì)算機(jī)系統(tǒng)電源被關(guān)閉時(shí)監(jiān)視器C被拔出。注意的是如果第二種可選方式被使用,僅僅使用包括監(jiān)視器A和B的最近的配置。對(duì)于用戶而言,更改僅僅是監(jiān)視器C消失,而用于監(jiān)視器A和B的監(jiān)視器設(shè)置與當(dāng)監(jiān)視器C被插入時(shí)它們的設(shè)置相同。當(dāng)然,監(jiān)視器A和B可能還結(jié)合另一監(jiān)視器被插入,但是一般而言監(jiān)視器A和B的監(jiān)視器設(shè)置保持相同是理想的。視頻設(shè)置被設(shè)置并且第三監(jiān)視器的視頻頭被關(guān)閉。然后,監(jiān)視器配置被記錄并且監(jiān)視器配置列表被更新。在嘗試設(shè)置視頻設(shè)置失敗的情況下,然后可使用第一可選方式。
      根據(jù)本發(fā)明的另一方面,當(dāng)監(jiān)視器被斷開連接時(shí),任何正在該監(jiān)視器上顯示的程序窗口、圖標(biāo)等通過(guò)瞬態(tài)監(jiān)視器管理器212被切換到一個(gè)或多個(gè)余下的監(jiān)視器的組。為此,在檢測(cè)到斷開連接以及任何余下的一個(gè)監(jiān)視器或多個(gè)監(jiān)視器的重配置后,關(guān)于窗口位置、大小等的數(shù)據(jù)依然存在于存儲(chǔ)器中并且被用以從當(dāng)前的非擴(kuò)展的或較少擴(kuò)展的桌面中把信息“混洗”到保留的桌面區(qū)域。窗口和其他圖像可被按需縮放以適合新的區(qū)域。來(lái)自斷開連接的監(jiān)視器的程序窗口可被移動(dòng)到新的區(qū)域,或它們可在連接的監(jiān)視器的工具欄等中被最小化直到被選擇,在那個(gè)時(shí)候它們?cè)谶B接監(jiān)視器上被恢復(fù)。
      在斷開連接的監(jiān)視器(或類似的監(jiān)視器)被重新連接的事件中,窗口和其他圖像可被恢復(fù)。然而,為了避免用戶混淆,存在被應(yīng)用于處理窗口的規(guī)則,例如,如果用戶與窗口以足夠的方式交互,例如,輸入或點(diǎn)擊它、移動(dòng)它、把它調(diào)整大小、和/或給該窗口焦點(diǎn),窗口可保持在它當(dāng)前的位置而不是簡(jiǎn)單地恢復(fù)到它先前在的位置。
      注意的是通過(guò)“快速用戶切換”,用戶不退出登錄并因此關(guān)于用戶窗口的定位數(shù)據(jù)被維護(hù)。如此,即使當(dāng)計(jì)算機(jī)在事件發(fā)生的時(shí)候被切換到另一用戶時(shí),多個(gè)用戶的數(shù)據(jù)可在斷開連接和/或重新連接配置更改后被按需重新混洗。在配置更改后的休眠能類似地導(dǎo)致窗口等的混洗,盡管瞬態(tài)監(jiān)視器管理器212需要在從休眠模式出來(lái)后被通知以使當(dāng)前的監(jiān)視器配置能被確定。
      參考圖5,如可從圖3和圖4明顯的得出,在某些情況中,瞬態(tài)監(jiān)視器管理器212的選擇可由與適當(dāng)?shù)挠脩艚缑娴氖謩?dòng)用戶交互所代替,適當(dāng)?shù)挠脩艚缑胬?,“顯示屬性”/控制面板用戶界面。用戶也能在諸如正常的操作期間的其他時(shí)間更改配置數(shù)據(jù)。如能被理解的,這些更改需要在用于當(dāng)前監(jiān)視器組的監(jiān)視器配置數(shù)據(jù)中持續(xù)存儲(chǔ),否則它們將在從連接或斷開連接產(chǎn)生的下一配置更改后丟失。
      圖5表示了在更改配置的用戶交互后由瞬態(tài)監(jiān)視器管理器212采取的動(dòng)作,如步驟500所表示的那樣。例如,用戶能選擇“顯示屬性”用戶界面,并且一旦任何更改被應(yīng)用,瞬態(tài)監(jiān)視器管理器對(duì)監(jiān)視器組做出更改,并且也持續(xù)存儲(chǔ)更改。為了持續(xù)存儲(chǔ)更改,在步驟502,配置更新過(guò)程標(biāo)識(shí)(一個(gè)或多個(gè))當(dāng)前被連接的監(jiān)視器的組。其中,如果更改是對(duì)于配置(例如,用戶要移除監(jiān)視器)、或?qū)τ谠跀?shù)據(jù)存儲(chǔ)214中定位最近使用的配置的相應(yīng)的配置數(shù)據(jù),那么這個(gè)是可使用的。然后,在步驟506,包括任何由用戶做出的更改的全部配置被存儲(chǔ)。
      如以上提到的,除了一個(gè)或多個(gè)監(jiān)視器的組,存在多個(gè)能確定監(jiān)視器配置的因素。這些因素中的一個(gè)是電源狀態(tài),這能更改或替換通常被應(yīng)用的設(shè)置。例如,刷新率、顏色深度、分辨率、背光亮度、對(duì)比度等都能被修改以保存電力。實(shí)際上,例如,當(dāng)膝上型計(jì)算機(jī)以低電池電力運(yùn)行但監(jiān)視器配置是滿電力的監(jiān)視器被連接時(shí),膝上型計(jì)算機(jī)的內(nèi)置監(jiān)視器可被自動(dòng)地關(guān)閉。
      另一個(gè)自動(dòng)地修改監(jiān)視器配置的方法是通過(guò)臨時(shí)模式。例如,已知視頻播放在具有60赫茲刷新率時(shí)操作良好。這樣的播放的檢測(cè)對(duì)比例如當(dāng)前的圖像可被用以更改模式直到情況更改。
      監(jiān)視器廠商也具有定制設(shè)置,該定制設(shè)置通過(guò)對(duì)于瞬態(tài)監(jiān)視器管理器212等的調(diào)用被持續(xù)存儲(chǔ)/恢復(fù)。例如,基于電視的監(jiān)視器可請(qǐng)求在某些時(shí)刻某些區(qū)域在屏幕上被裁剪,并且那些區(qū)域在沒(méi)有其他情況中用戶交互的情況下被恢復(fù)。并且,諸如顏色空間糾正/對(duì)比系數(shù)的定制設(shè)置能結(jié)合監(jiān)視器配置所被保存。
      示例邏輯圖6顯示了在一具體示例實(shí)現(xiàn)中瞬態(tài)監(jiān)視器管理器212的概述。如圖6表示的,一般存在兩個(gè)進(jìn)入瞬態(tài)監(jiān)視器管理器212的入口點(diǎn),包括當(dāng)瞬態(tài)監(jiān)視器管理器212啟動(dòng)時(shí)或當(dāng)用戶上下文切換發(fā)生時(shí)在步驟600的一個(gè)。如果瞬態(tài)監(jiān)視器管理器212被啟動(dòng)或存在用戶上下文切換,那么必須加載適當(dāng)?shù)挠脩魯?shù)據(jù)。為此,如步驟604所表示的,監(jiān)視器配置列表以及監(jiān)視器數(shù)組從存儲(chǔ)器中被加載并且二叉搜索樹被建立;連接是建立在監(jiān)視器配置列表和監(jiān)視器數(shù)組之間的。
      第二入口點(diǎn)是當(dāng)監(jiān)視器插入/拔出事件發(fā)生時(shí),如在步驟604表示的。在兩個(gè)入口中,步驟606被執(zhí)行以確定和測(cè)試當(dāng)前監(jiān)視器配置,并且更新監(jiān)視器配置列表。一般地,通過(guò)使用如以上描述的圖形接口/工具API調(diào)用或其他合適的方法,當(dāng)前監(jiān)視器配置的每個(gè)監(jiān)視器的每個(gè)監(jiān)視器ID被獲取。然后,二叉搜索樹被用以搜索監(jiān)視器ID,如步驟608所表示的。
      如步驟610所表示的,取決于是否存在對(duì)于任何監(jiān)視器ID的搜索失敗,新監(jiān)視器配置的確定將采用兩個(gè)不同分支里面的一個(gè)。此后,如以下描述的,一旦監(jiān)視器配置被確定和測(cè)試,監(jiān)視器配置列表被更新并且監(jiān)視器配置列表和監(jiān)視器數(shù)組之間的連接被更新。
      如果某些監(jiān)視器ID或所有監(jiān)視器ID都沒(méi)有被找到,那么過(guò)程分出至步驟612,表示移動(dòng)到在圖7中表示的下一步驟。相反地,如果所有的監(jiān)視器ID都被找到,那么在步驟610過(guò)程分出至步驟614、616和618,其中指向在每個(gè)與監(jiān)視器ID關(guān)聯(lián)的數(shù)組元素內(nèi)的監(jiān)視器配置列表的指針被比較,并且在步驟616,那些由每個(gè)監(jiān)視器所被指向的監(jiān)視器配置列表?xiàng)l目被添加到監(jiān)視器配置列表?xiàng)l目的鏈表上。由于監(jiān)視器配置列表?xiàng)l目可包括在不同的電源方案下被記錄的監(jiān)視器配置,或如果新的監(jiān)視器是較大監(jiān)視器配置的子集,為了得到更好的匹配,監(jiān)視器配置列表?xiàng)l目可被過(guò)濾(步驟618)。為了實(shí)現(xiàn)這個(gè),鏈表循環(huán)迭代器跳過(guò)那些鏈表節(jié)點(diǎn),該鏈表節(jié)點(diǎn)指向在不同的電源方案或與當(dāng)前的狀態(tài)不同的監(jiān)視器數(shù)量下記錄的監(jiān)視器配置列表?xiàng)l目。此時(shí),找到最佳監(jiān)視器配置列表?xiàng)l目,如由步驟620表示的移動(dòng)到圖8。
      返回步驟610,如果存在一個(gè)或多個(gè)具有未被找到的監(jiān)視器ID的監(jiān)視器(步驟608和610,稱為“未知監(jiān)視器”),那么過(guò)程分出至圖7。此時(shí),如果不是已知的(例如,如果整個(gè)EDID先前返回到管理器212),那么API/方法調(diào)用在步驟702被使用以獲取每個(gè)具有未被找到的監(jiān)視器ID的監(jiān)視器的型號(hào)。更具體地,對(duì)于那些在二叉搜索樹地搜索失敗地監(jiān)視器,另一(例如,線性的)搜索通過(guò)監(jiān)視器數(shù)組在步驟704被執(zhí)行以找到具有相同型號(hào)的監(jiān)視器組。
      這個(gè)搜索如在步驟706估計(jì)的那樣失敗是可能的,然而如果是這樣的話,被標(biāo)識(shí)的監(jiān)視器將形成在監(jiān)視器配置列表?xiàng)l目中的監(jiān)視器的子集。該組的數(shù)組元素與找到的數(shù)組元素一起通過(guò)二叉搜索樹以創(chuàng)建監(jiān)視器配置列表?xiàng)l目鏈表,如以已知的監(jiān)視器算法所實(shí)現(xiàn)的那樣。在這個(gè)例子中,當(dāng)在步驟706找到型號(hào)時(shí),指向與監(jiān)視器ID關(guān)聯(lián)的每個(gè)數(shù)組元素內(nèi)的監(jiān)視器配置列表的指針被比較并且那些由每個(gè)監(jiān)視器指向的監(jiān)視器配置列表?xiàng)l目被在步驟708中添加到監(jiān)視器配置列表?xiàng)l目的鏈表。步驟710對(duì)于每個(gè)未知的監(jiān)視器重復(fù)。
      由于監(jiān)視器配置列表?xiàng)l目可包括在不同的電源方案下被記錄的監(jiān)視器配置,或如果新的監(jiān)視器是較大監(jiān)視器配置的子集,則為了得到更好的匹配監(jiān)視器配置列表?xiàng)l目可被過(guò)濾(步驟714)。為了實(shí)現(xiàn)這個(gè),鏈表循環(huán)迭代器跳過(guò)那些鏈表節(jié)點(diǎn),該鏈表節(jié)點(diǎn)指向在不同的電源方案或與當(dāng)前的狀態(tài)不同的監(jiān)視器數(shù)量下記錄的監(jiān)視器配置列表?xiàng)l目。
      在這個(gè)被實(shí)現(xiàn)后,未知的監(jiān)視器被添加到監(jiān)視器數(shù)組中并且二叉搜索樹被重新平衡或重新建立。在這點(diǎn)上,未知的監(jiān)視器被知道,但是沒(méi)有指向監(jiān)視器配置列表的指針。一旦新的監(jiān)視器配置被設(shè)置好,在監(jiān)視器數(shù)組和監(jiān)視器配置列表之間的連接可被做出,如以上描述的。此時(shí),找到最佳的監(jiān)視器配置列表?xiàng)l目,如步驟716表示的移動(dòng)到圖8。
      圖8的示例步驟可被執(zhí)行以從過(guò)濾的條目列表中找到在監(jiān)視器配置列表中的最佳條目。這個(gè)條目可具有和新的監(jiān)視器配置相同的監(jiān)視器,或它可包括其他監(jiān)視器。注意的是如果沒(méi)有監(jiān)視器配置列表?xiàng)l目存在,那么過(guò)程可前進(jìn)以在未知的監(jiān)視器上循環(huán)迭代視頻模式,如以下描述的。
      如果由于監(jiān)視器插入/拔出事件,瞬態(tài)監(jiān)視器管理器212正在執(zhí)行過(guò)程,實(shí)質(zhì)上如在步驟802被重新評(píng)估的那樣,一方面避免更改現(xiàn)有監(jiān)視器的狀態(tài),這可通過(guò)尋找與事件之前的配置狀態(tài)相同的監(jiān)視器匹配來(lái)實(shí)現(xiàn)。在事件之前的配置的監(jiān)視器狀態(tài)被定位在監(jiān)視器配置列表的頭部(因?yàn)樗亲罱褂玫呐渲?。在步驟804,在監(jiān)視器配置列表?xiàng)l目的列表上執(zhí)行搜索以找到包括新監(jiān)視器(如果是插入事件)以及現(xiàn)有監(jiān)視器和狀態(tài)的監(jiān)視器配置。如果存在多個(gè)匹配,那么使用最近的監(jiān)視器配置列表?xiàng)l目。如果由于監(jiān)視器插入/拔出事件,瞬態(tài)監(jiān)視器管理器212正在執(zhí)行過(guò)程,那么在步驟806具有新的配置的監(jiān)視器的最近的監(jiān)視器配置列表被選擇。
      如果在步驟808沒(méi)有找到監(jiān)視器配置列表?xiàng)l目,那么,如果沒(méi)有通過(guò)監(jiān)視器的數(shù)量被過(guò)濾(步驟810),則用于監(jiān)視器配置列表?xiàng)l目的鏈列表的循環(huán)迭代器在步驟812被調(diào)整以不再使用監(jiān)視器的數(shù)量來(lái)過(guò)濾列表。再次通過(guò)返回步驟808在監(jiān)視器配置列表?xiàng)l目的列表上執(zhí)行搜索。
      如果在步驟810,當(dāng)沒(méi)有通過(guò)監(jiān)視器的數(shù)量過(guò)濾并且監(jiān)視器配置列表?xiàng)l目依舊沒(méi)有被找到時(shí),不是所有的監(jiān)視器已經(jīng)先前在相同配置中是可能的,例如,監(jiān)視器A和B已經(jīng)一起在配置中,但是不與監(jiān)視器C組合。一解決方案是找到具有最多監(jiān)視器匹配的監(jiān)視器配置列表?xiàng)l目,如步驟812所表示的;在以上的示例中,解決方案找到具有監(jiān)視器A和B的監(jiān)視器配置列表?xiàng)l目。這沒(méi)有留給監(jiān)視器C已知的狀態(tài)(這在圖9中被解決)。
      如通過(guò)步驟902在圖9中表示的,如果搜索監(jiān)視器配置列表?xiàng)l目導(dǎo)致監(jiān)視器和狀態(tài)的精確匹配,那么下一步驟918是通過(guò)前進(jìn)到圖10針對(duì)視頻卡的能力測(cè)試該配置。然而,如果搜索不提供精確匹配,例如,由于額外的監(jiān)視器或監(jiān)視器不具有建立好的視頻狀態(tài),步驟902在測(cè)試監(jiān)視器配置之前分出至步驟904。
      更具體地,在步驟904,如果存在監(jiān)視器配置列表?xiàng)l目中的不在新的配置中的監(jiān)視器,那么它們需要通過(guò)步驟906被移除。并且,如果存在不具有關(guān)聯(lián)的視頻狀態(tài)的監(jiān)視器,那么監(jiān)視器被通過(guò)步驟908和910詢問(wèn)它的可用模式。如果在步驟912找到模式,那么最佳匹配需要被找到,這個(gè)在步驟914通過(guò)測(cè)試針對(duì)視頻設(shè)置的監(jiān)視器配置而被執(zhí)行。如果這些設(shè)置被接受,那么該監(jiān)視器配置可被使用。
      在瞬態(tài)監(jiān)視器管理器212過(guò)程結(jié)束之前,監(jiān)視器配置被檢測(cè)。只是由于即使在監(jiān)視器配置列表內(nèi)找到精確匹配,視頻卡也可能已經(jīng)被關(guān)閉,并且先前有效的監(jiān)視器配置將不再與新的卡一起工作。并且可能搜索視頻模式失敗(步驟912),而沒(méi)有為監(jiān)視器設(shè)置狀態(tài)。圖10表示了示例測(cè)試步驟。
      如果在步驟1002,任何監(jiān)視器不具有在測(cè)試之前在其上被設(shè)置的狀態(tài),或如果當(dāng)針對(duì)視頻設(shè)置測(cè)試(步驟1016和1018)時(shí)監(jiān)視器配置失敗,那么可用視頻模式被循環(huán)迭代(步驟1004)。如果降低刷新率是可能的(如在步驟1006針對(duì)限制所估計(jì)的),那么在步驟1008第一嘗試降低刷新率并且通過(guò)前進(jìn)到步驟1016針對(duì)視頻卡的能力測(cè)試。如果降低刷新率重復(fù)地失敗直到達(dá)到限度(例如,60赫茲),如果可能話,下一步驟降低監(jiān)視器的分辨率,如通過(guò)步驟1010和1012執(zhí)行的那樣。注意的是只要監(jiān)視器的分辨率被降低,那么刷新率可被增加并且視頻設(shè)置被再次測(cè)試,以嵌套循環(huán)的方式降低刷新率(按需)直到它的最小限度。如果最終的可用模式失敗,在步驟1014顯示顯示控制面板對(duì)話框。注意的是盡管未示出,一個(gè)或多個(gè)嘗試可被做出以在顯示顯示控制面板之前降低顏色深度。
      當(dāng)測(cè)試如圖10所表示的那樣被完成時(shí),返回步驟622,步驟624被執(zhí)行以更新和使用監(jiān)視器配置列表。通過(guò)這種方式,現(xiàn)有的配置被應(yīng)用,或一個(gè)新的配置被用于當(dāng)前的監(jiān)視器組以及它們當(dāng)前的狀態(tài)所被建立。
      如從以上詳細(xì)描述中可看出,提供了當(dāng)連接到一個(gè)或多個(gè)顯示機(jī)制時(shí)以處理多個(gè)可能的用戶情況的靈活方式簡(jiǎn)化用戶體驗(yàn)的系統(tǒng)和方法。通過(guò)當(dāng)匹配時(shí)應(yīng)用建立好的配置,或通過(guò)當(dāng)不匹配時(shí)做出智能猜測(cè),用戶通常在不需要用戶交互的情況下就能得到總體上理想的結(jié)果。
      盡管本發(fā)明可以有各種修改和可供選擇的構(gòu)造,其中說(shuō)明的某些實(shí)施例已經(jīng)在附圖中顯示并在以上被詳細(xì)描述。然而,應(yīng)該理解的是本發(fā)明不被限制于公開的特定形式,相反,本發(fā)明涵蓋所有的在本發(fā)明的精神和范圍內(nèi)的修改、可供選擇的構(gòu)造、和等同物。
      權(quán)利要求
      1.在計(jì)算機(jī)系統(tǒng)中,一種方法包括接收包括至少一個(gè)顯示機(jī)制的配置已經(jīng)被更改的指示;以及確定被更改的配置是否對(duì)應(yīng)于具有在計(jì)算機(jī)系統(tǒng)上維護(hù)的配置數(shù)據(jù)的一個(gè)配置,如果是,則基于所述配置數(shù)據(jù)更改所述配置。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述被更改的配置不對(duì)應(yīng)于具有配置數(shù)據(jù)的一個(gè)配置,并進(jìn)一步包括,基于對(duì)應(yīng)于在被更改的配置中的至少一個(gè)顯示機(jī)制的信息確定配置。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,進(jìn)一步包括向顯示機(jī)制詢問(wèn)能力信息。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,進(jìn)一步包括基于當(dāng)前安裝的視頻卡的能力信息測(cè)試設(shè)置。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述測(cè)試不成功,并進(jìn)一步包括循環(huán)迭代以測(cè)試不同的設(shè)置。
      6.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括向至少一個(gè)顯示機(jī)制詢問(wèn)標(biāo)識(shí)符。
      7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收指示包括接收對(duì)應(yīng)于正在被連接的或正在被斷開連接的顯示機(jī)制的事件。
      8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于配置數(shù)據(jù)更改配置包括把一組視頻相關(guān)的設(shè)置應(yīng)用到至少一個(gè)顯示機(jī)制,所述組包括以下設(shè)置中的至少一個(gè)設(shè)置分辨率設(shè)置、刷新率設(shè)置、顏色深度設(shè)置、方位設(shè)置、亮度設(shè)置、對(duì)比度設(shè)置、視頻頭狀態(tài)設(shè)置、和/或每英寸點(diǎn)數(shù)設(shè)置。
      9.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括持續(xù)存儲(chǔ)對(duì)于配置數(shù)據(jù)的更改。
      10.至少一個(gè)計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)可執(zhí)行指令,當(dāng)執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí)可執(zhí)行權(quán)利要求1所述的方法。
      11.至少一個(gè)計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)可執(zhí)行指令,當(dāng)執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí)執(zhí)行以下步驟,包括持續(xù)存儲(chǔ)包括一個(gè)包含至少一個(gè)顯示機(jī)制的組的視頻相關(guān)的設(shè)置的顯示機(jī)制配置數(shù)據(jù),包括在該組作為該組中的機(jī)制被斷開連接的結(jié)果而被更改之后維護(hù)所述顯示機(jī)制配置數(shù)據(jù);確定該組何時(shí)作為顯示機(jī)制被重新連接的結(jié)果而實(shí)質(zhì)上被恢復(fù);以及恢復(fù)該組,包括基于持續(xù)存儲(chǔ)的顯示機(jī)制配置數(shù)據(jù)至少對(duì)重新連接的顯示機(jī)制應(yīng)用視頻相關(guān)的設(shè)置。
      12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述持續(xù)存儲(chǔ)顯示機(jī)制配置數(shù)據(jù)包括把信息寫到持續(xù)存儲(chǔ)中,所述信息包括至一組顯示機(jī)制設(shè)置中的至少一個(gè)設(shè)置,所述組包括分辨率設(shè)置、刷新率設(shè)置、顏色深度設(shè)置、方位設(shè)置、亮度設(shè)置、對(duì)比度設(shè)置、視頻頭狀態(tài)設(shè)置、和/或每英寸點(diǎn)數(shù)設(shè)置。
      13.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述持續(xù)存儲(chǔ)顯示機(jī)制配置數(shù)據(jù)進(jìn)一步包括把幾何信息寫入數(shù)據(jù)存儲(chǔ)中。
      14.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括使用當(dāng)前安裝的視頻卡測(cè)試用于重新連接的顯示機(jī)制的視頻相關(guān)的設(shè)置,并且如果測(cè)試不成功,則循環(huán)迭代以測(cè)試不同的視頻相關(guān)的設(shè)置。
      15.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述確定該組何時(shí)被實(shí)質(zhì)地恢復(fù)包括評(píng)估當(dāng)前電源狀態(tài)。
      16.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括接收對(duì)應(yīng)于用戶對(duì)于顯示機(jī)制配置數(shù)據(jù)更改的信息,并進(jìn)一步包括持續(xù)存儲(chǔ)所述更改。
      17.一計(jì)算機(jī)系統(tǒng),子系統(tǒng)包括顯示機(jī)制管理器組件,用于接收關(guān)于對(duì)于當(dāng)前顯示機(jī)制配置的更改的信息;包含顯示機(jī)制配置數(shù)據(jù)的數(shù)據(jù)存儲(chǔ);以及其中,當(dāng)下述情況時(shí),所述顯示機(jī)制管理器組件使用更新的顯示機(jī)制配置數(shù)據(jù)更新所述數(shù)據(jù)存儲(chǔ)a)對(duì)應(yīng)于顯示機(jī)制配置數(shù)據(jù)的信息被手動(dòng)地更改;b)通過(guò)斷開顯示機(jī)制對(duì)當(dāng)前配置做出更改;以及c)通過(guò)連接顯示機(jī)制對(duì)當(dāng)前配置做出更改。
      18.根據(jù)權(quán)利要求17所述的子系統(tǒng),其特征在于,所述對(duì)于當(dāng)前配置的更改由連接顯示機(jī)制或斷開顯示機(jī)制的連接所做出,其中所述顯示機(jī)制管理器組件標(biāo)識(shí)每個(gè)出現(xiàn)在更改的顯示機(jī)制配置中的顯示機(jī)制。
      19.根據(jù)權(quán)利要求24所述的子系統(tǒng),其特征在于,所述管理器組件搜索對(duì)應(yīng)于更改的當(dāng)前配置的配置數(shù)據(jù),并且如果被找到,則當(dāng)在搜索中定位時(shí)基于配置數(shù)據(jù)應(yīng)用設(shè)置。
      20.根據(jù)權(quán)利要求25所述的子系統(tǒng),其特征在于,所述搜索不成功,并且其中所述顯示機(jī)制基于類似的配置數(shù)據(jù)或基于對(duì)應(yīng)于所述顯示機(jī)制的能力信息應(yīng)用設(shè)置。
      全文摘要
      描述了用于在監(jiān)視器的連接后動(dòng)態(tài)地和智能地配置和/或在斷開連接后重配置計(jì)算機(jī)系統(tǒng)的視頻相關(guān)的設(shè)置的方法和系統(tǒng)。監(jiān)視器配置包括一個(gè)或多個(gè)顯示機(jī)制、它們的視頻設(shè)置、相對(duì)位置,以及可包括電源方案數(shù)據(jù)。當(dāng)監(jiān)視器被插入計(jì)算機(jī)系統(tǒng)或從計(jì)算機(jī)系統(tǒng)中拔出時(shí),監(jiān)視器管理器組件被通知并基于諸如監(jiān)視器標(biāo)識(shí)符確定當(dāng)前的配置。當(dāng)前的配置被搜索,針對(duì)持續(xù)存儲(chǔ)的監(jiān)視器配置尋找匹配。如果先前的監(jiān)視器配置數(shù)據(jù)被找到,則應(yīng)用先前的監(jiān)視器配置。如果沒(méi)有精確匹配,那么基于持續(xù)存儲(chǔ)的類似配置數(shù)據(jù),或通過(guò)詢問(wèn)能力以及按需循環(huán)迭代以找到視頻卡和監(jiān)視器能使用的視頻模式來(lái)構(gòu)建配置數(shù)據(jù)。
      文檔編號(hào)G06F3/14GK1801078SQ20051013613
      公開日2006年7月12日 申請(qǐng)日期2005年12月16日 優(yōu)先權(quán)日2004年12月17日
      發(fā)明者A·J·弗爾勒, 小J·R·胡谷森, K·P·泊爾森, K·A·杰塞爾, M·P·羅頓, M·彌利魯?shù)? R·H·懷恩 申請(qǐng)人:微軟公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1