Framebuffer

Un framebuffer (sau tampon de cadre francez sau memorie de cadre ) este un dispozitiv de ieșire video care conduce un afișaj video dintr-un buffer de memorie care conține un cadru complet de date. Informațiile din memoria tampon sunt în general valorile componentelor de culoare pentru fiecare pixel (fiecare punct va fi afișat pe ecran). Valorile sunt de obicei stocate în 1-bit monocrom, 4 biți paletizate, 8 biți paletizate, 16 biți highcolor, sau 24 de biți TrueColor (culori reale) formate . Un canal alfa este uneori folosit pentru informațiile de transparență asociate cu fiecare pixel. Cantitatea de memorie necesară pentru a conduce un framebuffer depinde de rezoluție, adâncimea culorii și dimensiunea paletei.

Framebuffer afișează semnificativ diferite vectoriale grafice ( display - uri grafice vectoriale ) , care au fost utilizate în mod obișnuit înainte de sosirea framebuffer . Într-un afișaj vector, sunt stocate numai valorile capetelor primitivelor grafice. Fasciculul de electroni din tubul de afișare este apoi direcționat de la capăt la capăt, trasând o linie analogică între aceste puncte. În cazul framebuffer-ului, fasciculul de electroni (dacă tehnologia de afișare este ecranul CRT) este direcționat să urmărească de la stânga la dreapta și de sus în jos, astfel încât să măture întregul ecran, în mod similar. transmisie. Odată cu această operațiune de scanare, informațiile despre culoare pentru fiecare punct de pe ecran sunt extrase din framebuffer, creând astfel un set de elemente de imagine discrete (non-continue) (pixeli).

Istoric

Informaticienii au dezbătut mult timp avantajele teoretice ale unui framebuffer, dar nu au reușit să facă o mașină cu suficientă memorie. În 1969, Joan Miller de la Bell Labs a experimentat prima realizare a framebuffer-ului. Dispozitivul afișa o imagine cu o adâncime de culoare de 3 biți. Cu toate acestea, abia în anii 1970, progresele înregistrate în memoria integrată au făcut ca primul framebuffer capabil să stocheze un cadru video standard să fie practic fezabil.

În 1972, Richard Shoup a dezvoltat sistemul SuperPaint  (în) la Xerox PARC . Acest sistem avea 311040 octeți de memorie și putea stoca o imagine de 640 x 480 pixeli cu o adâncime de culoare pe 8 biți. Amintirile au fost distribuite pe 16 plăci de circuite, fiecare având mai multe jetoane de registru de schimb de 2 kilobite. Deși funcțional, acest design a impus ca framebuffer-ul să fie implementat ca un registru de deplasare de 307.200 octeți a cărui rată a fost sincronizată cu cea a semnalului de televiziune. Principalul dezavantaj al acestei soluții a fost că memoria nu era un acces aleatoriu. De fapt, o poziție a putut fi accesată numai atunci când linia și pixelul scanate au fost derulate. Acest lucru implica un timp de așteptare maxim de 33 ms pentru a scrie pe un framebuffer.

Shoup a folosit, de asemenea, framebuffer-ul SuperPaint pentru a crea unul dintre primele sisteme digitale de captare a imaginilor. Prin sincronizarea semnalului de ieșire cu semnalul de intrare, acesta ar putea rescrie fiecare pixel care a intrat în registrul de schimbare. Shoup a experimentat și modificarea semnalului de ieșire folosind tabele de culori . Aceste tabele au permis sistemului SuperPaint să producă o mare varietate de culori în afara limitelor de 8 biți conținute inițial. Această soluție va fi apoi utilizată pe scară largă în bufferele de cadre ale computerului.

În 1974, Evans & Sutherland a realizat primul framebuffer comercializat, costul său fiind de aproximativ 15.000 de dolari. Poate procesa rezoluții de până la 512 x 512 pixeli în tonuri de gri codate pe 8 biți. A devenit o binecuvântare pentru cercetătorii în grafică pe computer care nu-și permiteau să-și creeze propriul framebuffer. New York Institute of Technology ar crea mai târziu , primul sistem de adâncime de culoare de 24 de biți , folosind 3 din framebuffer Evans & Sutherland. Fiecare dintre framebuffere a fost conectat la una dintre componentele RGB (una pentru roșu, una pentru verde și una pentru albastru), cu un computer care le controlează pe toate trei.

Progresele rapide în tehnologia circuitelor integrate au făcut posibilă implementarea unor tampoane de cadre cu culori limitate în multe computere personale încă de la sfârșitul anilor 1970 (de exemplu, Apple II ). Deși au fost criticate inițial pentru performanța lor slabă în comparație cu echipamentele grafice mai avansate precum cea a modelului Atari 400 , framebuffer-urile au devenit în cele din urmă norma în toate computerele personale. Astăzi, practic toate computerele cu capacitate grafică folosesc un framebuffer pentru a genera semnalul video.

Framebuffer-urile au devenit obișnuite și în stațiile de lucru avansate în anii 1980. SGI , Sun Microsystems , HP , DEC , IBM , toate au creat framebuffere pentru computerele lor. Aceste framebuffere au fost în general de o calitate mult mai bună decât cele găsite în computerele de acasă . Au fost utilizate în mod obișnuit în televiziune, tipărire, modelare pe computer și grafică 3D.

Amiga , prin virtutea poziției lor în tehnologia grafica, a creat o piață mare pentru plăci grafice bazate pe framebuffer în anii 1980. Este important de menționat Amiga A2500 Unix placa grafică , care în 1991 a fost primul computer pentru a funcționa. Implementat un X11 server de ca mediu grafic, precum și interfața grafică Open Look în rezoluție înaltă (1024 × 1024 sau 1024 × 768 în 256 de culori).

Note și referințe

  1. Traducerea frame buffer în Dicționarul terminologic mare al Office québécois de la langue française
  2. [PDF] Richard Shoup, "  SuperPaint: An Early Frame Buffer Graphics System  " [ arhivă din12 iunie 2004] , IEEE Annals of the History of Computing,2001(accesat la 14 iunie 2009 )
  3. „  Istoria Institutului de tehnologie grafică din New York  ” (accesat la 13 iunie 2011 )

Vezi și tu

Articol asociat