Skip to main content

¿Qué es una cadena de intercambio?

Una cadena de intercambio es una serie de framebuffers, o ubicaciones en la memoria de la computadora, que se utilizan para representar una imagen antes de que se muestre en un monitor real u otro dispositivo. Siempre hay al menos dos framebuffers en una cadena de intercambio porque el primer buffer, o activo, generalmente se identifica como el que se muestra actualmente en la pantalla. Mientras se visualiza un framebuffer, el siguiente buffer puede renderizarse y prepararse para su visualización y luego intercambiarse al dispositivo según sea necesario. El uso de una cadena de intercambio puede eliminar algunos de los problemas que ocurren debido a conflictos entre la sincronización del hardware y el software, así como los artefactos gráficos que pueden aparecer debido a la representación directa en el dispositivo de visualización.

La forma en que se muestra una imagen en un monitor es simplemente una cuestión de colocar la secuencia correcta de números en un área específica de la memoria. Lo que sea que esté en esta área de la memoria se dibuja en la pantalla varias veces por segundo. Se dibuja una pantalla en líneas horizontales desde la esquina superior izquierda hasta la esquina inferior derecha. El momento en que la pantalla comienza el siguiente cuadro, cuando se mueve desde la esquina inferior derecha de la pantalla hacia la esquina superior izquierda, se conoce como el retroceso vertical.

Las implementaciones de un búfer de intercambio solo se dibujan en la pantalla durante el retroceso vertical. Si este tiempo está desactivado, o si un programa intenta dibujar en una pantalla durante los períodos en que se procesa un cuadro, puede aparecer una anomalía gráfica conocida como desgarro. Esto ocurre cuando la imagen en la memoria del dispositivo de visualización cambia repentinamente en el medio del renderizado, lo que hace que un lado de la pantalla muestre el último fotograma y el resto de la pantalla muestre el nuevo.

Al representar una escena antes de tiempo en un buffer de cuadros, el siguiente cuadro que se mostrará ya está preparado y se puede insertar rápidamente en la memoria de la pantalla para que se muestre. Mientras se muestra una imagen, la siguiente se dibuja en el búfer de fotogramas inactivo, también llamado búfer de respaldo. Esto crea animaciones suaves y efectos visuales que pueden sincronizarse exactamente para evitar el desgarro.

El término "cadena de intercambio" se conoce más comúnmente como doble amortiguación o triple amortiguación, dependiendo del número de tramas que se dibujan antes del búfer de trama activo. El uso de algoritmos de sincronización de nanosegundos o milisegundos es una parte esencial del uso de una cadena de intercambio para garantizar que no se exceda la velocidad de fotogramas máxima del monitor y que los programas puedan acelerar su propio procesamiento y recursos en un sistema. El empleo de una cadena de intercambio, si se implementa correctamente, puede dar lugar a animaciones suaves, independientemente de las propiedades de un dispositivo de visualización o la cantidad de tiempo que lleva renderizar un solo cuadro de animación.