AGGIORNAMENTO 2013: frame rate, v-sync, rallentamenti e drop frame.
Il v-sync
Avete il v-sync attivo significa che il motore di gioco mantiene il frame rate ancorato al refresh rate del monitor ( 30/60 hz comunemente per tutti i giochi su console ormai, che siano a 30/60 fps prima c'era il PAL 25/50 hz ma non è più una cosa comune e non ha senso visto che tutti i televisori ormai sono 50/60hz ).
Non è un effetto di post produzione, ma una tecnica di rendering.
L'assenza del v-sync può portare alla comparsa di un difetto: il tearing.
Se togli il v-sync, quando il sistema non è in grado di calcolare il frame per intero nell'arco di tempo che ha a disposizione ( nel caso di un gioco a 30 frame per secondo, parliamo di 3,3 centesimi di secondo) passa al successivo e lo mostra subito, ecco che l'immagine si "spezza" mostrando parte del frame in corso, e parte del frame successivo: nella stessa immagine vedi due momenti collegati, e se c'è una rotazione repentina, ecco che l'immagine sembra "spezzarsi".
Quando il vsync è disattivo, tutti 30/60 fps della sequenza di fotogrammi che compone un secondo di gioco, vengono calcolati.
Come dicevamo però alcuni sono calcolati e mostrati a video sono parzialmente, un metà dello schermo mostra quello che avviene al frame 1, l'altra metà mostra quello che avviene un attimo dopo, al frame 2.
Per metà non intendo il 50%, la sostituzione con l'attimo successivo può avvenire in qualsiasi momento anche al 30% o al 80% del primo frame. Ovvio che se succede nella parte centrale dello schermo, si nota di più.
La cosa che va sottolineata è che non è un limite di un gioco, un motore grafico o delle console. E un difetto derivanti da una mancanza di potenza sufficiente in determinate situazioni e succede su tutti i sistemi, pc compreso. Anzi su pc, nei quali la grafica dei giochi è molto più customizzabile, c'è quasi sempre la possibilità di attivare v-sync o meno.
Drop Frame e Rallentamenti.
Se decide di mantenere il v-sync attivo o meno lo sviluppatore ha due scelte per risolvere i problemi di calcolo:
- drop frame (salta il frame che non riesca a calcore in tempo e passa al successivo) = l'effetto risultante è che il gioco "scatta"
- double time > il sistema mostra tutti i frame nel tempo che impiega a calcolari, allora un secondo di gioco invece di essere di 30 frame, potrebbe essere di 31/32/ 40 frame etc etc, l'effetto visivo che si ha è quello del gioco che "rallenta"
In entrambi i casi il sistema non riesce a calcolare 30 frame al secondo (FPS)
Quindi siamo sotto i 30 fps.
La differenza è come i programmatori decidono di affrontare il problema:
- drop frame > il gioco scatta (più frame perde=droppa) più il gioco scatta (in pratica succede che il gioco mostra due momenti
- double time > il gioco rallenta, ma calcola tutti i frame della sequenza. più tempo ci mette, più ci sarà l'effetto "rallenty"
PERCHè I FILM AL CINEMA SONO A 24 FPS ?
24 è il numero minimo di frame per secondo affinchè l'occhio umano percepisca una sequenza di immagini come un video, e non come appunto, una sequenza di immagini. I film al cinema sono proiettati a 24 Fotogrammi al secondo, in un formato PROGRESSIVO. Per progressivo intendiamo un formato video che è una sequenza di frame ( immagini ) piene, comprendenti tutte le righe ( capirete più tardi il perchè di questa precisazione ); 24 fotogrammi al secondo è il MINIMO NUMERO di fotogrammi al secondo, che rende una sequenza di immagini un filmato fluido, e non una sequenza di immagini scattose, questo per la natura dell'occhio umano.
Una sequenza di immagini con meno di 24 frame per secondo ( quindi una successione veloce di immagini ) ci sembra appunto una sequenza di immagini, l'occhio percepisce la distinzione tra una serie di fotogrammi e l'altro, e non un filmato fluido.
La scelta dei 24 fps per il cinema è come al solito una questione storica, è stato scelto poco dopo gli anni 40 e così è rimasto nel tempo.
QUANTI Frame al secondo PERCEPISCE L'OCCHIO UMANO?
L'occhio umano è perfettamente in grado di percepire frame rate oltre i 25 fps, infatti mediamente fino a 70-80 fps per secondo dovresti riuscire a percepire tutti i frame, e la differenza con un video a 30/40 fps.
COSA E' IL MOTION BLUR?
Il motion blur non ha nulla a che vedere con il frame rate.
Il motion blur è un effetto in computer grafica che riproduce un effetto ottico: sia sulla retina, che sui sensori delle videocamere, gli oggetti che si muovono lasciano "una scia". Più l'oggetto è veloce, e vicino al punto di vista, più la scia è accentuata. Il motion blur è stato implementato per la prima volta dalla pixar per integrare oggetti 3D in immagini e riprese reali. Infatti si accorsero che gli oggetti 3D renderizzati apparivano posticci e staccati dalla scena reale, perchè muovendosi non lasciavano la stessa scia che un oggetto reale lascerebbe sull'occhio o sulla pellicola ( o sensore digitale) di un oggetto reale.
Il motion blur essendo una simulazione di un effetto ottico reale, tende a creare immagini più realistiche. Quando ci muoviamo in auto, guidando, gli oggetti più lontani dal nostro punto di vista, sono via via più sfuocati e con sempre una maggiore scia, ecco perchè a parità di frame rate, un motore 3d che simula il motion blur, da all'occhio umano la sensazione di vedere immagini più fluide e realistiche.
LE VECCHIE TV IN BASSA DEFINZIONE - PERCHè SI PARLA DI 25/30 - 50/60 FPS, e cosa sono i formati video intelacciati e progressivo ?
2) La televisione, ha un formato video diverso dal cinema. E' un formato video INTERLACCIATO
- per il segnale TV PAL ( 720*576 a 50 hz ), si tratta di 50 semicampi ( field ) al secondo ( 25 fotogrammi al secondo )
- per il segnale TV NTSC ( 640*480 a 60 hz ), si tratta di 60 semicampi ( field ) al secondo ( 30 fotogrammi al secondo )
- nei videogiochi, la scelta ormai è fissa sul segnale ntsc alla risoluzione di 640*480 pixel, sebbene sia possibile giocare in pal ( in moltissimi giochi è presente la scelta tra i 50 e 60 hz, poichè non tutte le televisioni nel mercato europeo ( sopratutto TV molto vecchie sono compatibili con l'ntsc )
Dunque, in un segnale televisivo NTSC un filmato è composto da 30 fotogrammi, ciascuno di questi a sua volta è composto dal'interazione veloce
di due semicampi
Primo fotogramma 1/30
Il primo, contenente tutte le righe orizontali pari ( semicampo 0/60 ) il secondo, contenente tutte le righe orizontali dispari ( semicampo 1/60 )
Secondo fotogramma 2/30
Il primo, contenente tutte le righe orizontali pari ( semicampo 2/60 ) il secondo, contenente tutte le righe orizontali dispari ( semicampo 3/60 )
Etc etc
La veloce interazione dei semicampi fa percepire all'occhio umano, l'immagine come PIENA, sebbene di volta in volta vengano mostrate sequenze di immagini con solo la metà delle righe colorate, e metà completamente nere.
Questa tecnica è stata inventata agli inizi degli anni 50, per contenere la banda passante necessaria alla trasmissione dei dati televisivi in forma analogica. Sia i trasmettitori che i ricevitori dell'epoca erano meno potenti, per cui si decise di dividere le informazioni contenute in un frame, in due semi-frame.
Oggi come oggi la banda, anche in formato analogico, sarebbe sufficente a trasmettere in progressivo, senza semicampi, a 30 fps al secondo.
CHE DIFFERENZA C'è TRA I 30 E 60 FPS ?
Ora la differenza tra i 30 fps e 60 fps sta nel numero di volte in cui l'immagine piena ( quindi il full buffer video ) di un videogioco viene calcolato.
-Se viene calcolato ogni 1/60 di secondo, e quindi è diverso tra un semicampo ed il successivo all'interno dello stesso FRAME, si tratta di giochi a 60 FPS;
-Se viene calcolato ogni 2/60 di secondo, e quindi si utilizza la stessa immagine tra un semicampo ed il successivo, all'interno dello stesso FRAME, si tratta di giochi a 30 FPS;
La differenza sostanziale tra le due tecniche è questa
- a 30 fps, si ha una minore sensazione di fluidità e conseguentemente, una minore sensazione di velocità ( sebbene le due cose non siano legate in modo pratico, ma in a quanto a " sensazione " appunto )
- a 30 fps, l'input del giocotore e l'effetto sul personaggio/auto/traiettoria può essere leggermente ritardato da un minimo di 1/30 ad un massimo di 2/30 di secondo; cosa che è difficilmente percepibile ai più, ma che esiste e porta spesso ad errori di controsterzo in ritardo o in anticipo nelle curve più complicate nei giochi di guida.
Ovviamente si tende a creare giochi a 30 fps, perchè la potenza computazionale necessaria è quasi la metà di quella necessaria per giochi a 60 Fps.
Infine con le console next gen, si entra in un formato video in semi o alta definizione;
Infine con le console next gen, si entra in un formato video in stardard o alta definizione.
Tre sono i formati High definition che sono stati dichiarati degli standard: 1080p, 1080i, e 720p. Ci sarebbe anche il 720i, ma non viene praticamente mai utilizzato.
1080p significa che l'immagine è formata da 1920punti per 1080 linee verticali,visualizzate progressivamente a 30fps.
1080i significa che l'immagine è formata da 1920punti per 1080 linee verticali,visualizzate in interlacciato a 60fps.
Nel 720p invece l'immagine è formata da 1280punti per 720 linee verticali,visualizzate progressivamente.
Vi consiglio di leggere quest'ottima faq
https://forum.everye...howtopic=219702