当前位置 - 股票行情交易網 - 財經新聞 - 電腦屏幕總顯示VGA

電腦屏幕總顯示VGA

VGA(Video Graphics Array)是IBM於1987年提出的壹個使用模擬信號的電腦顯示標準,這個標準已對於現今的個人電腦市場已經十分過時。即使如此,VGA仍然是最多制造商所***同支援的壹個低標準,個人電腦在加載自己的獨特驅動程式之前,都必須支援VGA的標準。例如,微軟Windows系列產品的開機畫面仍然使用VGA顯示模式,這也說明其分辨率和載色數的不足。

VGA這個術語常常不論其圖形裝置,而直接用於指稱640×480的分辨率。VGA裝置可以同時儲存4個完整的EGA色版,並且它們之間可以快速轉換,在畫面上看起來就像是即時的變色。[1]

除了擴充為256色的EGA式色版,這256種色彩其實可以透過 VGA DAC(Digital-to-analog converter),任意的指定為任何壹種顏色。這就程度上改變了原本EGA的色版規則,因為原本在EGA上,這只是壹個讓程式可以在每個頻道(即紅綠藍)在2 bit以下選擇最多種顏色的方式。但在VGA下它只是簡單的64種顏色壹組的表格,每壹種都可以單獨改變——例如EGA顏色的首兩個bit代表紅色的數量,在VGA中就不壹定如此了。

VGA在指定色版顏色時,壹個顏色頻道有6個bit,紅、綠、藍各有64種不同的變化,因此總***有 262,144 種顏色。在這其中的任何 256 種顏色可以被選為色版顏色(而這 256 種的任何 16 種可以用來顯示 CGA 模式的色彩)。

這個方法最終仍然使了VGA模式在顯示EGA和CGA模式時,能夠使用前所未有的色彩,因為 VGA是使用模擬的方式來繪出EGA和CGA畫面。提供壹個色版轉換的例子:要把文字模式的字符顏色設定為暗紅色,暗紅色就必須是 CGA 16 色集合中的壹種顏色(譬如說,取代 CGA 默認的 7 號灰色),這個 7 號位置將被指定為 EGA 色版中的 42 號,然後 VGA DAC 將 EGA #42 指定為暗紅色。則畫面上的原本的 CGA 七號灰色,都會變成暗紅色。這個技巧在 256 色的 VGA DOS 遊戲中,常常被用來表示加載遊戲的淡入淡出畫面。

總結來說,CGA 和 EGA 同時只能顯示 16 種色彩,而 VGA 因為使用了 Mode 13h 而可以壹次顯示 256 色版中的所有色彩,而這 256 種顏色又是從 262,144 種顏色中挑出的。

VGA所使用的視訊內存,透過壹個窗口對應於PC的主內存,它們的真實位址為0xA000和0xC000之間的內存。典型地來說位址的開始點是:

* 0xA000 使用於 EGA/VGA 圖型模式(64 KiB)

* 0xB000 單色文字模式(32 KiB)

* 0xB800 彩色文字模式和 CGA 相容模式(32 KiB)

由於使用的區段皆不相同,在同壹部機器上裝置壹個單色顯卡(MDA)和另壹個彩色顯卡(VGA、EGA或CGA)是不沖突的。在 1980 年代初,這種典型的搭配方式用於 Lotus 1-2-3 試算表上,壹部高解析單色屏幕用來顯示文字,而另壹部低解析的 CGA 屏幕用來顯示圖表。許多程式設計師也用這種配置來開發軟件,壹部屏幕顯示 debug 細節,另壹部屏幕則顯示真正的軟件運行畫面。許多商業的除臭蟲軟件都支援這種配置,例如 Borland 的 Turbo Debugger、由 Alan J. Cox 開發的 D86、微軟的 CodeView 等,Turbo Debugger 和 CodeView 可以甚至可拿來 debug 微軟的 Windows 軟件。也有 DOS 驅動程式如ox.sys模擬壹個終端機來接受 Windows 的 debug 訊息,而不用真正接上另壹個終端機。在 DOS 底下使用“單色模式”指令,使其輸出轉向單色也是可能的。另外,假如電腦上並無單色顯卡,那麽可以使用 EMM386.EXE 程序讓其他程式可以使用 B000-B7FF 這壹段內存。(於 config.sys 檔案中加入 "DEVICE=EMM386.EXE I=B000-B7FF")

壹個未被紀錄但十分廣泛使用的技術稱作 Mode X(由 Michael Abrash 導入),使程式設計師能夠使用在 Mode 13h 之下無法做到的分辨率。他將 256 KiB 連續的視訊內存“解開”並分成四個層次,因此在 256 色模式時全部 256 KiB 的內存都可以使用。技術上這將使得處理變得更復雜,並且效能降低。但在壹些特殊情況下,效能損失的情況可以被彌補:

* 單色的多邊形填色增快,因為壹次寫入可以設定四個像素。

* VGA 可以用來協助視訊內存之間的拷貝,有些時候會比使用 8088 或 80286 等慢速 CPU 更快。

* 提供更高的分辨率:16 色可使用 704×528、736×552、768×576、甚至 800×600。諸如 Xlib(1990 年代早期的 C 圖形函式庫)和 ColoRIX(256 色的圖形程式)支援 256 色下的各種分辨率調和:直行 256、320 和 360 個像素,以及水平行 200、240、256、400 和 480 個像素的組合(上限的 640×400 幾乎用掉 256 KiB 中每壹個 byte)。不過,320×240仍然是最常被使用的,因它為典型的4:3比例,為方形像素。

* multiple video pages 讓程序員能夠使用雙重緩沖(所有的 16 色模式都可),這在 Mode 13h 無法辦到。

有時候,顯示器必須降低更新頻率來滿足這些模式,這會造成眼睛的疲勞這樣的低分辨率雖然在PC市場早已淡出,但在Pocket PC和PDA市場,它正逐漸成為標準。它也常被用來指稱15針的D型接頭,這種接頭仍然用來傳輸各式各樣分辨率的類比訊號。

VGA曾經被IBM官方宣布使用XGA標準所取代,但在歷史上,它其實是被其他的OEM制造商用所謂的SVGA標準所取代。

VGA中的A指的是“陣列(array)”而非“轉換器(adapter)”,因為它從壹開始就被設計為壹個單壹的整合芯片,用來取代Motorola 6845和數十個離散的邏輯芯片組合而成的ISA母版,這種設計是之前的MDA、CGA和EGA所使用的。VGA的這個特性允許它輕易的殖入PC的主板之中,只需要額外的視訊內存、振蕩器和壹個RAMDAC,就具備顯示功能。IBM的PS/2電腦系列就是采用將VGA放置於主板上的設計。

VGA的規格表如下:

* 256 KiB 的 Video RAM

* 16 色和 256 色模式

* 總*** 262144 種顏色的色版(紅、綠、藍三色各 6 bit,總*** (26)3 種)

* 選擇性的 25.2 MHz 或 28.3 MHz 處理頻率

* 最多 720 個水平像素

* 最多 480 條線

* 最高 70 Hz 的更新頻率

* Vertical Blanking interrupt(不是所有卡都支援)

* 平面模式:最多 16 色(4 bit 面板)

* Packed-pixel 模式:256 色(Mode 13h)

* 順暢卷動畫面的能力

* Some "Raster Ops" support

* Barrel shifter

* 支援分割畫面

VGA支援可單獨操控像素的APA(All Points Addressable)模式,也支援字母與數字的文字模式。標準的圖形模式如下:

* 640×480×16色

* 640×350×16色

* 320×200×16色

* 320×200×256色(Mode 13h)

它也支援用模擬的方式畫出以往規格的分辨率:EGA、CGA和MDA。

標準的VGA文字模式使用 80×25 或 40×25 個字母或數字組成的平面。每個字符的塊狀區域可以選擇16種前景色和8種背景色;8種背景色來自bit容量較低的集合(以今天的標準來說,例如 ffffff 或者是 000000)。而字符本身也可設定是否閃爍,而字符的閃爍動作都是同時的。畫面的閃爍功能和選擇背景顏色的功能是可交換的,換句話說兩者只能擇壹。以上這些選項和IBM先前生產的 CGA 轉換器是相同的。

VGA雖然支援黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在顯示黑白模式時使用彩色模式,即是將灰色字畫在黑色背景上。而使用VGA 的單色顯示器也能很好的支援這樣的彩色模式。現代顯示器和顯卡若連接不當,偶爾會導致顯卡的VGA部份偵測顯示器為單色的,而這將使BIOS開機顯示為黑白模式。通常在加載操作系統和適當的驅動程式以後,顯卡的設定被覆蓋,顯示器就會變回彩色。

在彩色的文字模式中,每個字符其實由兩個byte代表。較低的壹個byte用來顯示字符,而較高的byte就用來代表彩色、閃爍等等屬性。這種成對的byte模式是從CGA就壹直傳續下來的

VGA的色彩系統可以向前相容於EGA和CGA轉換器,而它在其上又新增了壹種設定。CGA可以顯示16種色彩,EGA則將其擴充成從64種顏色色版選出的16色模式(即紅綠藍各2 bits)。VGA則更將其擴充成256種顏色色版,但為了向前相容,壹次只能選擇256種之中的64種(例如第壹個64種顏色集合、第二個…)。所以壹個。它們也不相容於較老舊的顯示器,將造成諸如 overscan、閃爍、垂直滾動、缺乏水平同步等等缺點。因為如此,多數的商業軟件使用的 VGA 調適都限制在顯示器的“安全界線”之下,例如 320×400(雙倍分辨率,2 video pages)、320×240(方形像素,3 video pages)和 360x480(最高的相容分辨率,1 video page)。