Diferencia entre revisiones de «Framebuffer»

Contenido eliminado Contenido añadido
errata en una palabra
Wikifico
Línea 1:
Se le llama '''''framebuffer''''' a una categoría de [[tarjetaTarjeta gráfica|dispositivos gráficos]], los cuales basan su funcionamiento enque representarrepresentan cada uno de los [[píxel]]es de la [[Monitor de computadora|pantalla]] como localidadesubicaciones deen la [[memoria]] en [[Memoria de acceso aleatorio|RAM]]. También se le llama así en el área de los [[sistemaSistema operativo|sistemas operativos]], a los dispositivos que usan o aparentan usar dicho método de acceso a dispositivos gráficos.
 
== Modos de visualización ==
[[ImageArchivo:Sun sbus cgsix framebuffer2.jpg|thumb|Un ''framebuffer'' cgsix de Sun.]]
Los framebuffers usados en ordenadores personales muchas veces tienen un conjunto de "modos" bajo los cuales el framebuffer puede operar. Estos modos reconfiguran automáticamente el hardware para mostrar diferentes resoluciones, profundidades de color, diseños de memoria y [[ratio de refresco|ratios de refresco]].
 
Los ''framebuffers'' usados en ordenadores personales muchas veces tienen un conjunto de "modos" bajo los cuales el ''framebuffer'' puede operar. Estos modos reconfiguran automáticamente el hardware para mostrar diferentes resoluciones, profundidades de color, diseños de memoria y [[ratioTasa de refresco|ratiostasas de refresco]].
En el mundo de [[Unix]], las máquinas y los sistemas operativos, estas convenciones normalmente fueron evitadas en favor de una manipulación directa de la configuración del hardware. Esta manipulación era mucho más flexible de forma que cualquier resolución, profundidad de color y ratio de refresco podía conseguirse - limitándose únicamente por la memoria disponible por el framebuffer.
 
En el mundo de [[Unix]], las máquinas y los sistemas operativos, estas convenciones normalmente fueron evitadas en favor de una manipulación directa de la configuración del hardware. Esta manipulación era mucho más flexible de forma que cualquier resolución, profundidad de color y ratio de refresco podía conseguirse - limitándose únicamente por la memoria disponible por el ''framebuffer''.
Un efecto colateral de este método era que el [[visualizador]] podía ser llevado más allá de sus capacidades. En algunos casos provocando daños al hardware del visualización.<ref>http://tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/overd.html XFree86 Video Timings HOWTO: Overdriving Your Monitor</ref> Los monitores CRT modernos corrigen este problema introduciendo circuitos de protección "inteligentes". Cuando se cambia de modo de visualización, el monitor intenta obtener una señal de sincronización en la nueva frecuencia de refresco. Si el monitor no es capaz de obtener una señal de sincronización, o si la señal está fuera del rango de sus limitaciones de diseño, el monitor ignora la señal de framebuffer y seguramente muestre un mensaje de error al usuario.
 
Un efecto colateral de este método era que el [[visualizador]] podía ser llevado más allá de sus capacidades. En algunos casos provocando daños al hardware del visualización.<ref>http://tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/overd.html XFree86 Video Timings HOWTO: Overdriving Your Monitor</ref> Los monitores CRT modernos corrigen este problema introduciendo circuitos de protección "inteligentes". Cuando se cambia de modo de visualización, el monitor intenta obtener una señal de sincronización en la nueva frecuencia de refresco. Si el monitor no es capaz de obtener una señal de sincronización, o si la señal está fuera del rango de sus limitaciones de diseño, el monitor ignora la señal de framebuffer y seguramente muestre un mensaje de error al usuario.
Los monitores LCD tienden a contener circuitos de protección similares, pero por razones diferentes. Como los LCDs tienen que muestrear digitalmente la señal de visualización, cualquier señal que esté fuera de su rango no puede ser visualizada físicamente en el monitor.
 
Los [[Pantalla de cristal líquido|monitores LCDde cristal líquido]] tienden a contener circuitos de protección similares, pero por razones diferentes. Como los LCDséstos tienen que muestrear digitalmente la señal de visualización, cualquier señal que esté fuera de su rango no puede ser visualizada físicamente en el monitor.
 
== Hardware ==
== Frame buffer en hardware ==
En los dispositivos gráficos tipo ''framebuffer'', todos y cada uno de los [[píxel]]es desplegados en cualquier instante determinado en la pantalla, están almacenados en una porción de la memoria principal delde [[ordenador]]la computadora en forma de [[byte|octetos binarios]]. Debido a que las pantallas poseen diferentes capacidades de despliegue de colores (lo que se conoce como [[profundidad de color]]), la cantidad de información necesaria para representar un [[píxel]] varía. Las pantallas generalmente admiten 8, 15, 16 ó 24 [[bit]]s de [[profundidad de color]] lo que equivale a 256, 32.768, 65.536 ó 16.777.216 [[color]]escolores respectivamente. Para cambiar la imagen presente en la pantalla, basta con escribir las direcciones de memoria dedicadas al [[píxel]] que se quiere modificar.
 
La zona de memoria dedicada al ''framebuffer'' es habitualmente accesible para ella [[CPUunidad central de procesamiento]] como una zona cualquiera de la [[memoria RAMde acceso aleatorio]] para lectura y escritura, salvo que ésta se reserva exclusivamente para el despliegue de imágenes, y es común que se le asigne un rango mínimo y máximo de direcciones fijo. La memoria del ''framebuffer'' es lineal, contigua y direccionable como cualquier otro trozo de la RAMmemoria de acceso aleatorio; de modo que para seleccionar un píxel dado hay que conocer su dirección, y para ello, calcular el offsetdesplazamiento adecuado a partir de la dirección de inicio de la memoria del ''framebuffer''.
 
De tal modo que el ordenador modifica efectivamente las imágenes desplegadas en pantalla modificando el contenido de la zona de memoria citada anteriormente, cosa que cabe perfectamente en la definición comúnmente aceptada de lo que es un '''framebuffer'''.
 
== En sistemasSistemas operativos ==
El '''framebuffer''' es un dispositivo virtual del sistema operativo que se presenta ante las aplicaciones de diferentes maneras en función del sistema de que hablemos, aunque generalmente aparece como un [[archivoArchivo informático(informática)|archivo]] o un bloque de [[memoria RAMde acceso aleatorio]] reservado en la [[computadora]], y que puede ser accedido en lectura/escritura por uno o más procesos; en este archivo o zona de memoria especial cualquier escritura modifica directamente las imágenes desplegadas en el dispositivo de vídeo, para que de esa manera los programas puedan mostrar información en pantalla sin preocuparse de los detalles de implantación, ni de la interacción real entre el [[ordenador]] y el dispositivo de vídeo.
 
Sin embargo, la idea de '''framebuffer''' se asocia más bien con aquellos dispositivos del sistema que son visibles o accesibles a las aplicaciones de usuario. En algunos sistemas operativos puede ocurrir que el acceso a la memoria del dispositivo de vídeo esté oculto a las aplicaciones, y que toda modificación de las imágenes desplegadas en pantalla se efectúe por medio de una [[Interfaz de programación de aplicaciones|API]] (como ocurre por ejemplo, en el caso de los sistemas operativos [[Microsoft Windows|Windows]]).
 
== Véase también ==
* [[Arranque (informática)]]
*[[Bootsplash]]
 
== Referencias ==