Um framebuffer é uma área de memória cujo conteúdo está pronto para ser exibido. Pode haver vários framebuffers na memória ao mesmo tempo: um (para cada monitor) exibido atualmente (buffer frontal) e outros que estão sendo preparados (buffers de retorno ou buffers de trabalho).
Um framebuffer pode ser preenchido por qualquer parte do sistema: pelo firmware em execução na GPU, pelo kernel executando na CPU, pelo servidor X , por um aplicativo…
A GPU oferece uma funcionalidade de desenho que é mais rápida do que ter o software em execução na CPU principal calculando os pixels um por um. Essa funcionalidade pode incluir coisas como "preencha esse retângulo com uma cor uniforme", "copie esse retângulo para essa posição", "reduza esse retângulo por 1,5", "aplique essa máscara de cor", "calcule uma perspectiva desse objeto 3D", "Descomprima este fluxo MPEG ”,…
A renderização de um vídeo geralmente é feita na GPU sempre que possível. O hardware especializado na GPU é melhor (mais rápido, usando menos energia, usando menos largura de banda de memória) do que uma CPU de uso geral.