Paso 5: V-Sync y el cambio de buffer.
Sólo una breve explicación lo que son y por qué las necesitamos:
Como se señaló antes, la tasa de refresco de pantalla es 64.1 Hz. Durante cada actualización, el obtener imagen de dibujar varias veces. Tenemos que asegurarnos de que el contenido no cambia durante el repintado en un ciclo como:
- Esto sería estropear una reproducción del color
- introducir artefactos (desgarro)
Nos indica un comienzo de un nuevo ciclo de actualización mediante la activación de una señal de V-Sync. Esta terminología viene desde los días de exhibiciones de la CRT y era similar al haz de electrones que de la parte inferior derecha se remonta a la parte superior izquierda.
En teoría sólo necesitaríamos para asegurarse de que el nuevo contenido de la pantalla está disponible en el momento del V-Sync. Para reducir la copia encima de la cabeza, también hacemos uso de doble búfer: siempre hay un almacenador intermediario de marco activo que se dibuja en la pantalla y un segundo búfer de reserva que se utiliza para representar los gráficos. En nuestro caso el efecto del plasma.
En la práctica tenemos dos caminos ejecución de código a la vez:
- Hilo principal que hace que el plasma
- Hilo de pantalla que cambia LED
El subproceso principal va a hacer los siguientes pasos:
- Esperar para el V-Sync
- Sorteo plasma efecto tampón a
- Vaya al paso 1
El hilo de pantalla provocado por las interrupciones de contador de tiempo va a hacer el siguiente paso:
- Si marco nuevo ciclo, activar el V-Sync y cambiar amortiguadores
- Cambiar LED de corriente 'scan de marco'
- Contador de incremento 'scan de marco'
- Vaya al paso 1