Ir al contenido principal

Qué es FrameBuffer?

Todos los días cuando las personas, principalmente usuarios comunes, utilizan la computadora observan la pantalla, pero muchas de estas personas no conocen como se visualizan los elementos en la pantalla; en muchos dispositivos la clave está en algo llamado framebuffer, el cual se explica un poco a continuación.

El framebuffer consiste en la utilización, por parte de los dispositivos, de una sección de memoria la cual utilizará para la representación de los pixeles en pantalla, por lo general se representa como una matriz de pixeles y así en la memoria, aunque es evidente que a nivel de memoria no existen matrices todo se realiza mediante una implementación a partir de estas posiciones.

Cuando se habla de que el framebuffer utiliza una sección de memoria en realidad es un archivo dentro del sistema, dicho archivo es el que se puede modificar, por parte de desarrolladores principalmente, y es el que el sistema modifica para a partir de los valores que contenga este archivo mostrar los elementos en la pantalla.

El framebuffer va ligado directamente con la tarjeta de video o memoria de video, la cual se encarga, junto con el sistema operativo, de definir el tamaño y características del archivo mencionado de acuerdo con la resolución de pantalla disponible.

Para representar que luz debe encender cada pixel de la pantalla, en el archivo se utilizan tres posiciones (3 bytes generalmente) para representar el estándar RGB (Red – Green - Blue) mediante los cuales indican el color a mostrar, mediante la cantidad de cada uno de los 3 colores se producen los diferentes colores que se conocen. Como se puede imaginar una matriz viene siendo una tabla y al usar 3 posiciones para representar los pixeles, entonces se podría considerar como 3 tablas que juntas representan la imagen a mostrar en pantalla.
Representacion del FrameBuffer

Como se menciona, la forma en como las computadoras muestran en pantalla los elementos se puede considerar como una matriz, esto nos permite entenderlo de una forma no muy complicada, pero para efectos prácticos de un desarrollador, si se torna una tarea un poco más complicada y esto da una idea de lo complejo de la tarea del sistema para representar los elementos en la pantalla.
Referencias:

Ecomputernotes.com. (2017). What is Frame Buffer. [online] Disponible en: http://ecomputernotes.com/computer-graphics/basic-of-computer-graphics/what-is-frame-buffer [Consultado 6 Nov. 2017].

Comentarios

Entradas populares de este blog

Importancia de los Sistemas Numéricos en la Computación

Un sistema de numeración se define como un conjunto de símbolos y reglas que permiten representar datos numéricos. Además, los sistemas numéricos modernos se caracterizan por ser posicionales, ya que un símbolo tiene un peso según en la posición que se encuentre en la cifra numérica. Existen distintos sistemas numéricos modernos, los más comunes son: ·          Sistema Decimal : 0-1-2-3-4-5-6-7-8-9, (Diez símbolos) ·          Sistema Binario : 0-1, (Dos símbolos) ·          Sistema Octal : 0-1-2-3-4-5-6-7, (Ocho símbolos) ·          Sistema Hexadecimal : 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F, (Dieciséis Símbolos) Todos los sistemas mencionados anteriormente tienen reglas y relaciones que permiten la realización de las operaciones básica que conocemos como la suma, resta, multiplicación, división. L...

Ciclo Fetch Decode Execute

El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacen...

Estructuras de Control en Ensamblador

En los lenguajes de alto nivel disponemos de estructuras de control como “if” o “else” que nos permiten dar sentido a nuestro código , pero estas estructuras no están presentes en un lenguaje de bajo nivel como el ensamblador o no de la misma forma, como se detalla a continuación. Estructuras Condicionales: Estos tipos son los if, if-else, elif, switch, los más comunes en los lenguajes de alto nivel y los más utilizados. Estas estructuras no están del todo ausentes en lenguaje ensamblador, ya que al fin y al cabo estas instrucciones se convierten a ensamblador, en ensamblador se cuenta con instrucciones como CMP o TEST(Para comparar o evaluar) en el caso de ARM y sus equivalentes en las demás arquitecturas de procesadores. Para poder crear los condicionales se debe utilizar una combinación de estas (CMP, TEST, ...) junto con las instrucciones de Branch, Jump, etc según corresponda. Ejemplos If Else: If Else en Lenguaje C If Else en Lenguaje Ensamblador Estructuras...