Framebuffer
A grafikus eszközök azon kategóriáját , amelyek a képernyőn lévő egyes pixeleket a véletlen elérésű memória helyeként jelenítik meg, keretpuffernek nevezzük . Az operációs rendszerek területén az olyan eszközöket, amelyek ilyen módszert használnak vagy használnak a grafikus eszközök elérésére , szintén így hívják.
Előzmények
Az informatikusok sokáig vitatták ennek az eszköznek az előnyeit, de nem tudtak elegendő memóriával rendelkező gépet előállítani gazdaságilag életképes áron. 1969-ben Michael A. Noll , a Bell Laboratories munkatársa egy köztes keretmemóriával ellátott digitalizált kijelzőt vezetett be. Később a Bell Labs rendszert úgy bővítették ki, hogy három bites színmélységű képet jelenítsen meg egy szabványos színes televízió monitoron. Még egy korábbi képernyővizsgálatot is tartottak a Brookhaven National Laboratory-ban. Az integrált áramköri memória fejlesztése az 1970-es években gyakorlatiasabb költségekkel járt a szabványos videokép tárolására alkalmas framebufferek létrehozásában.
1972-ben Richars Shoup kifejlesztette a SuperPaint rendszert a Xerox PARC -nál . Ennek a rendszernek 311 040 bájt memóriája volt, és 640 x 480 pixel 8 bites színmélységű adat tárolására volt képes. A memória 16 áramköri lapon oszlik meg, mindegyik több 2 kilobites shift regiszter chippel van feltöltve. Ez a kialakítás megköveteli, hogy a teljes framebuffert 307 200 bájtos shift regiszterként kell megvalósítani, amelyet a televízió kimeneti jelével szinkronban mozgatnak. Ennek a rendszernek a fő hátránya az volt, hogy a memória nem volt véletlen hozzáférésű.
Shoup képes volt a SuperPaint framebufferrel is létrehozni egy digitális videórögzítő rendszert. A kimenő jelet a bemeneti jellel szinkronizálva a Shoup képes volt felülírni az adatok minden egyes pixelét mozgás közben. Shoup kísérletezett a kilépési táblák színtáblázatok segítségével történő módosításával is. Ezek a színtáblázatok lehetővé tették a SuperPaint rendszer számára, hogy a benne foglalt korlátozott 8 bites adatgammán kívül a színek széles választékát hozzon létre. Ez a séma később általánossá vált a számítógépes keretpufferekben.
1974-ben az Evans & Sutherland kiadta ennek az eszköznek az első kereskedelmi forgalomba hozatalát, ami több mint 15 000 dollárba került. Akár 512 x 512 pixeles felbontást tudott produkálni 8 bites szürkeárnyalatos skálán, és áldássá vált a grafikus kutatók számára, akik nem rendelkeztek erőforrásokkal saját eszközük elkészítéséhez. A New York Institute of Technology később létrehozta az első 24 bites rendszert az Evans & Shuterland három frambufferének felhasználásával. Ennek az eszköznek minden egyes használata RGB színes kimenethez csatlakozik (egy a piroshoz, egy zöldhez és egy kékhez), egy Digital Equipment Corporation PDP 11/04 miniszámítógéppel, amely mindhárom eszközt egyben vezérelte.
1975-ben a brit Quantel cég elkészítette az első kereskedelmi forgalomban kapható színes sugárzási keretpuffert: a Quantel DFS 3000-et. Először az 1976-os montreali olimpia televíziós közvetítésében használták az olimpiai fáklya kép-a-képben betétjének létrehozására , míg a a kép többi része a stadionba belépő futót mutatja.
Az integrált áramköri technológia gyors fejlődése lehetővé tette, hogy az 1970-es évek számos személyi számítógépe (például az Apple II ) színes keretpufferrel rendelkezzen. Bár eleinte a számítógépekben használt kifinomultabb grafikus eszközökhöz, például az Atari 400 -hoz képest rossz teljesítmény miatt csúfolták, a framebufferek végül az összes személyi számítógép szabványává váltak. Napjainkban szinte minden grafikus képességgel rendelkező számítógép ezt az eszközt használja a videojel generálására.
Az 1980-as években a keretpufferek a csúcskategóriás munkaállomásokon és játéktermi alaplapokon is népszerűvé váltak. Az SGI , a Sun Microsystems , a HP , a DEC és az IBM mind framebuffert használt munkaszámítógépeikhez. Ezek a framebufferek általában sokkal jobb minőségűek voltak, mint a legtöbb személyi számítógépen megtalálhatók, és rendszeresen használták a televízióban, a nyomtatásban, a számítógépes modellezésben és a 3D grafikában. Framebuffereket a Sega is használt csúcskategóriás arcade játékaihoz, amelyek szintén jobb minőségűek voltak, mint a személyi számítógépeken.
Az Amiga számítógépek nagy teljesítményű grafikus kialakításukkal hatalmas piacot teremtettek a framebuffer alapú grafikus kártyák számára az 1980-as években. Figyelemre méltó volt az Amiga A2500 Unix grafikus kártyája , amely 1991-ben volt az első számítógép, amely X11 szerverprogramot valósított meg grafikus környezetek és OPEN LOOK grafikus interfésszel , nagy felbontású (1024x1024) vagy 1024x768-as felhasználói felületként. 256 színben). Az A2500 Unix grafikus kártyáját A2410-nek ( TIGA Lowell grafikus kártya ) hívták, és egy 8 bites grafikus kártya volt, amely az 50 MHz -es Texas Instruments TMS34010-re épült, és egy teljesen intelligens grafikus koprocesszor volt. Az Amiga A2410 grafikus kártyát a Lowell Egyetemmel közösen fejlesztették ki .
Az Amiga framebuffereken alapuló további figyelemre méltó grafikus kártyák a következők voltak: GVP Impact Vision IV24 grafikus kártyája ; a DCTV , egy külső grafikus adapter és videórögzítő rendszer; a Firecracker 32 bites grafikus kártya ; a Harlequin kártya, ColorBurst; a külső framebuffer HAM-E. A Graffiti külső grafikus kártya továbbra is elérhető a piacon.
A legtöbb Atari ST (Mega modell STE) és Atari TT framebuffer az Atari gépek VME-csatlakozónyílásaihoz készült, amelyeket videóbővítő kártyákhoz terveztek: Leonardo 24 bites VME grafikus adapter, CrazyDots grafikus kártya II 24 bites VME, Spektrum TC grafikus kártya, a NOVA ET4000 VME SVGA grafikus kártya (akár 1024x768-as felbontásra 256 színnél vagy 800x600-ig 32768 színnél), melynek kialakítása az ISA/PC világából származik.
Megjelenítési módok
A személyi számítógépekben használt keretpufferek gyakran rendelkeznek egy sor "móddal", amely alatt a framebuffer működhet . Ezek a módok automatikusan újrakonfigurálják a hardvert a különböző felbontások, színmélységek, memóriaelrendezések és frissítési gyakoriságok megjelenítéséhez .
A Unix világában (gépek és operációs rendszerek) ezeket az egyezményeket rendszerint elkerülték a hardverkonfiguráció közvetlen manipulálása mellett. Ez a manipuláció sokkal rugalmasabb volt, mivel bármilyen felbontást, színmélységet és frissítési gyakoriságot lehetett elérni – csak a framebuffer által elérhető memória korlátozta .
Ennek a módszernek az volt a mellékhatása, hogy a nézőt a képességein túl lehetett tolni. Egyes esetekben kárt okoz a kijelző hardverében. [ 1 ] A modern CRT-monitorok „intelligens” védelmi áramkör bevezetésével orvosolják ezt a problémát. A megjelenítési módok váltásakor a monitor az új frissítési gyakorisággal próbál szinkronjelet kapni. Ha a monitor nem tud szinkronjelet kapni, vagy ha a jel kívül esik a tervezési korlátokon, a monitor figyelmen kívül hagyja a framebuffer jelet, és valószínűleg hibaüzenetet jelenít meg a felhasználónak.
A folyadékkristályos monitorok általában hasonló védelmi áramköröket tartalmaznak, de eltérő okokból. Mivel ezeknek digitálisan kell megjeleníteniük a kijelzőjelet, a hatókörükön kívül eső jelek fizikailag nem jeleníthetők meg a monitoron.
Hardver
A framebuffer típusú grafikus eszközökben a képernyőn bármikor megjelenített minden egyes pixel a számítógép fő memóriájának egy részében van tárolva bináris bájtok formájában . Mivel a képernyők különböző színes megjelenítési képességekkel rendelkeznek ( színmélységként ismert ), a pixel megjelenítéséhez szükséges információ mennyisége változó. A kijelzők általában 8, 15, 16 vagy 24 bites színmélységet támogatnak , ami 256 , 32 768, 65 536 vagy 16 777 216 színnek felel meg. A képernyőn megjelenő kép megváltoztatásához nem kell mást tennie, mint beírni a módosítani kívánt képponthoz dedikált memóriacímeket.
A keretpuffernek szánt memóriaterület általában a központi feldolgozó egység számára elérhető, mint bármely véletlen hozzáférésű memóriaterület olvasásra és írásra, kivéve, hogy ez kizárólag a képek megjelenítésére van fenntartva, és általános, hogy rögzített minimumot rendelnek hozzá. és a címek maximális tartománya. A keretpuffermemória lineáris, összefüggő és címezhető, mint a véletlen elérésű memória bármely más darabja; így egy adott pixel kiválasztásához ismerni kell a címét, és ehhez ki kell számítani a megfelelő eltolást a framebuffer memória kezdőcímétől .
Olyan módon, hogy a számítógép az előbb említett memóriaterület tartalmának módosításával hatékonyan módosítja a képernyőn megjelenő képeket, ami tökéletesen illeszkedik a framebuffer általánosan elfogadott definíciójába .
Operációs rendszerek
A framebuffer az operációs rendszer virtuális eszköze, amely a rendszertől függően különböző módon jelenik meg az alkalmazások számára, bár általában fájlként vagy a számítógépen lefoglalt véletlen elérésű memória blokkjaként jelenik meg, és ez egy vagy több folyamat olvasási/írási módban érhető el; ebben a fájlban vagy speciális memóriaterületen bármilyen írás közvetlenül módosítja a videoeszközön megjelenített képeket, így a programok információkat jeleníthetnek meg a képernyőn anélkül, hogy aggódnának a megvalósítás részleteitől, vagy a számítógép és a videoeszköz közötti valódi interakciótól.
A framebuffer ötlete azonban inkább azokhoz a rendszereszközökhöz kapcsolódik, amelyek láthatók vagy elérhetők a felhasználói alkalmazások számára. Egyes operációs rendszerekben előfordulhat, hogy a videoeszköz memóriájához való hozzáférés rejtve van az alkalmazások elől, és a képernyőn megjelenő képek bármilyen módosítása API -n keresztül történik (mint pl. Windows ).
Lásd még
Hivatkozások
- ↑ http://tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/overd.html XFree86 Video Timings HOGYAN: A monitor túlhajtása