Esempio simulato di screen tearing nella riproduzione di un video: la visuale sta ruotando verso sinistra, e il buffer è stato riscritto due volte nella durata di un singolo ciclo di refresh dello schermo, generando due linee di tearing

Con l'espressione inglese screen tearing (traducibile come strappo dello schermo) si indica un artefatto che si genera quando un singolo fotogramma visualizzato sullo schermo contiene informazioni provenienti da due o più fotogrammi. Tale effetto si manifesta quando la frequenza dei fotogrammi della sorgente (tipicamente una scheda video) è differente dalla frequenza di aggiornamento del dispositivo di visualizzazione (es. un monitor), per cui il buffer viene riscritto una o più volte con contenuto appartenente ad altri fotogrammi nell'intervallo di tempo usato dal dispositivo di visualizzazione per leggere un singolo fotogramma, generando una o più linee di tearing orizzontali che si muovono in verticale con velocità proporzionale alla differenza di frequenza. Può essere dovuto anche alla mancanza di sincronia tra due dispositivi con la stessa frequenza, nel qual caso la linea di tearing si trova in una posizione fissa, corrispondente alla differenza di fase.[1]

L'effetto è particolarmente visibile quando il contenuto dello schermo mostra oggetti che si muovono in orizzontale, e si manifesta come una frattura orizzontale tra due o più parti di fotogramma che appaiono disallineate verticalmente: ciò è dovuto al fatto che il contenuto del fotogramma viene letto e scritto riga per riga, quindi parte delle righe appartengono ad un fotogramma, parte ad un altro.

Una soluzione comune, nota come sincronizzazione verticale (V-sync), consiste nell'impedire alla sorgente di modificare il contenuto del buffer fino a quando il corrente ciclo di aggiornamento del dispositivo di output non è completo. Per evitare di bloccare completamente la sorgente nell'intervallo di tempo in cui il dispositivo di output viene aggiornato si fa tipicamente uso di più buffer, con un buffer separato per il rendering che viene poi rapidamente copiato in un buffer di visualizzazione (double buffering) oppure alternando due buffer in modo che mentre uno viene letto la sorgente possa generare il fotogramma successivo sull'altro buffer (page flipping).[2][3]

Note

modifica
  1. ^ Madhav, chap. 1.
  2. ^ Introducing Enhanced Sync, su gaming.radeon.com.
  3. ^ Adaptive VSync, su geforce.com.

Bibliografia

modifica

Voci correlate

modifica

Altri progetti

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Sinclair ZX81

con una risoluzione di 64×48 punti. Lo ZX81 usa una memoria video, lo screen buffer, ridimensionabile, che può essere aumentata o diminuita a seconda della

Pixel

numero di bit plane all'interno del frame buffer. Per esempio, se si usano 3 bit plane in un singolo frame buffer, è possibile creare 8 (o 23) combinazioni

Stampa schermo

l'MS-DOS) per inviare alla stampante predefinita l'intero contenuto del buffer video, sui moderni sistemi con interfaccia grafica la sua pressione copia

GNU Screen

Gentoo Screen Wiki, su gentoo-wiki.com. (EN) GNU Screen Wiki, su aperiodic.net. (EN) Una guida per la funzionalità di screen: scrollback buffer, su blog

JavaScript

browser"); return; } gl.clearColor(0.0, 0.0, 0.0, 1.0); gl.clear(gl.COLOR_BUFFER_BIT); } window.onload = main; Lo stesso argomento in dettaglio: HTML5 e

Windows XP

processori di nuova generazione, che permette una migliore protezione dai buffer overflow. Nello stack TCP/IP è stato rimosso il controverso supporto ai

Windows 8

integrato, integrazione con il servizio di filtro anti-phishing Microsoft SmartScreen e supporto per l'avvio protetto UEFI su dispositivi supportati con firmware

Bug

gravi carenze di prestazione. Esempi di bug sono quelli che portano ai Blue Screen of Death su Windows, cioè schermate blu con messaggi di errore che hanno