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.
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
Najczęściej dla bufora ramki stosuje się następujące głębie koloru (liczby bitów na piksel):
Bufor ramki pracuje w jednym z dwóch trybów:
Istotną cechą bufora ramki jest to w jaki sposób zorganizowana jest pamięć reprezentująca obraz. Wyróżnić można dwa modele:
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.
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:
Na przykład dla ustawień karty: 800×600@16b: