Przejdź do zawartości

Bufor ramki

Z Wikipedii, wolnej encyklopedii

Bufor ramki (ang. frame buffer) – część pamięci RAM (zwykle karty graficznej) przeznaczona do przechowywania informacji o pojedynczej ramce obrazu. W buforze tym przechowywane są informacje o wartości każdego piksela tworzącego ramkę. Wartości pikseli zapisywane są na jednym lub większej liczbie bitów, w zależności od wybranego dla karty graficznej trybu koloru, a co za tym idzie, ilości możliwych do wyświetlenia na ekranie kolorów. Metoda wykorzystująca bufor ramki do przechowywania obrazu zdobyła popularność wraz z upowszechnieniem się minikomputerów i stacji roboczych.

Historia

[edytuj | edytuj kod]

Pierwszy znany, eksperymentalny bufor ramki użyty w 1969 roku wyświetlał obraz w trzybitowej głębi koloru, czyli kolorów było zaledwie 8. W 1972 roku w laboratoriach Xerox PARC zbudowano bufor z 311 040 bajtami pamięci, zdolny do wyświetlania obrazu w rozdzielczości 640×480 pikseli z ośmiobitową głębią koloru, czyli 256 kolorami

Charakterystyka

[edytuj | edytuj kod]

Najczęściej dla bufora ramki stosuje się następujące głębie koloru (liczby bitów na piksel):

  • 1-bitowa – dla obrazu monochromatycznego,
  • 4-bitowa,
  • 8-bitowa – dla obrazu w 256 kolorach,
  • 16-bitowa, tryb high color – dla obrazu z paletą 65,5 tys. kolorów,
  • 24-bitowa, tryb true color – dla obrazu z paletą 16,7 mln kolorów.

Bufor ramki pracuje w jednym z dwóch trybów:

  • Off-screen – informacje przechowywane w buforze ramki nie są wyświetlane na ekranie;
  • On-screen – informacje przechowywane w buforze ramki i wszystkie ich modyfikacje w czasie rzeczywistym wyświetlane są na ekranie.

Model danych

[edytuj | edytuj kod]

Istotną cechą bufora ramki jest to w jaki sposób zorganizowana jest pamięć reprezentująca obraz. Wyróżnić można dwa modele[1]:

  • planar - w którym dane o pikselach składowane są bitplanach. W każdym bitplanie dokładnie 1 bit przypada na każdy piksel. Ilość bitplanów determinuje ilość dostępnych kolorów. W modelu tym dane pojedynczego piksela są rozrzucone w pamięci w poszczególnych bitplanach i programowy dostęp do nich jest utrudniony.
  • chunky - w którym wszystkie bity opisujące dany piksel są zapisane razem, jeden po drugim, w pamięci bufora ramki

Większość trybów graficznych we wczesnych komputerach osobistych, takich jak Amiga czy Atari ST, oraz standardach graficznych o ograniczonej ilości kolorów dla komputerów PC (CGA, EGA) miała model planar. Pierwszym trybem korzystającym z modelu danych chunky był tryb 13h kart VGA o rozdzielczości 320×200 pikseli w 256 kolorach, w którym dane każdego piksela były zapisane w 1 bajcie[a][2].

Rozmiar bufora

[edytuj | edytuj kod]

Wielkość bufora ramki, tj. ilość pamięci RAM potrzebna do zapisania pojedynczej ramki obrazu, zależy od ustawień karty graficznej – od rozdzielczości poziomej i pionowej obrazu oraz od trybu koloru, w którym pracuje karta, określającego ilość kolorów (tzw. głębię koloru) możliwą do wyświetlenia na ekranie, a więc liczbę bitów potrzebnych do zapisania takiej liczby kolorów. Wielkość pamięci bufora ramki wyliczana jest według wzoru:

gdzie:

– wielkość bufora ramki (w bajtach),
– rozdzielczość pozioma karty,
– rozdzielczość pionowa karty,
– liczba bajtów potrzebnych do zapisania liczby wyświetlanych przez kartę kolorów.

Na przykład dla ustawień karty: 800×600@16b:

  1. czyli w 8 bitach, co dawało dokładnie 256 wartości - kolorów piksela

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. Andrzej J. Piotrowski. Macintosh II. „Mikroklan”. 7/87 (10), s. 21-2, wrzesień 1987. Sigma-NOT. ISSN 0860-1941. [dostęp 2026-03-26]. 
  2. VGA - oficjalnie. „Bajtek”. 11/94 (111), s. 24-25, listopad 1994. [dostęp 2026-03-26].