Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Giochi per PC (https://www.hwupgrade.it/forum/forumdisplay.php?f=24)
-   -   Tearing, v-sync e triple buffering (https://www.hwupgrade.it/forum/showthread.php?t=1319188)


fukka75 28-10-2006 09:08

Tearing, v-sync e triple buffering
 
Poiché c'è molta gente che non capisce come mai il frame rate dei giochi rimane stabile ad un valore fisso, o assume solo valori fissi, senza passare per quelli intermedi, mi permetto di spiegare un po' la cosa:

L'effetto tearing è lo "slittamento" orizzontale dell'immagine, come su piani diversi, che si nota soprattutto con i movimenti veloci del mouse.
Per eliminare questo fastidioso (soprattutto negli fps, dove si nota molto) effetto, si deve attivare l'opzione v-sync, o sincronizzazione verticale: in molti giochi moderni ciò è possibile direttamente dai menu ingame, oppure laddove non ci sia questa opzione, lo si può forzare direttamente dai driver, andando ad attivare l'opzione nei profili dei giochi (in genere cmnq è meglio lasciare l'impostazione di default "applicazione controllata" o "controllato dall'applicazione" e forzarlo "attivo" solo nel caso in cui il gioco non abbia l'opzione nei menu ingame). Il v-sync ha però due effetti collterali, uno meno pesante, l'altro decisamente più evidente:

1) L'attivazione del v-sync limita il frame rate massimo dei giochi alla frequenza di refresh del monitor: 60Hz -> 60fps, 85Hz -> 85fps, cioè se il gioco va a più di 60, 85, il frame rate viene limitato a questo valori (e fino a qua non è una grande perdita: 60fps sono ben al di là delle capacità umane di percepire irregolarità nel flusso delle immagini)

2) Se il fr scende al di sotto del valore di refresh, allora viene segato a suoi sottomultipli, cioè il fr può assumere SOLO valori che sono sottomultipli del valore della frequenza di refresh del monitor:
continuiamo con i due esempi dei 60Hz e degli 85HZ
60Hz
Se il frame rate scende, che ne so, a 55fps il v-sync lo porta a 30fps, se il fr scende al di sotto dei 30fps allora viene ulteriormente segato al sottomultiplo successivo, cioè 20fps, sotto i 20fps viene segato a 15fps e così via.
85Hz
Se il frame rate scende, che ne so, a 80fps il v-sync lo porta a 42.5fps, se il fr scende al di sotto dei 42.5fps allora viene ulteriormente segato al sottomultiplo successivo, cioè 28.3fps, sotto i 28.3fps viene segato a 21fps e così via.

L'unico modo per evitare questi adeguamenti è attivare nei driver il triple buffering (per nVidia c'è solo per i giochi OpenGL, per ATI è possibile avere il tb anche in Direct3D tramite ATT, vedi immagine sotto), che mantiene il fr al suo valore effettivo (55fps rimangono tali, 80fps idem, ecc.), sempre però limitato al valore pari alla frequenza di refresh (60Hz: se l'engine riesce ad andare a più di 60fps, sempre a 60fps è limitato) dal momento che il v-sync è ancora attivo: infatti il tb ha uno scopo solo se il v-sync è attivo, non serve a nulla se il v-sync è disattivo, né a migliorare la qualità dell'immagine o altro, come molti sembrano credere. Tenete cmnq presente che il tb occupa memoria della scheda video, in quantità proporzionale alla risoluzione e ai filtri attivati, quindi non abusatene se avete poca ram on-video. Per abilitare il tb esiste una utility, D3DOverrider, integrata in RivaTuner (http://www.guru3d.com/index.php?page=rivatuner&menu=8), ma del tutto indipendente da essa (quindi per avere D3DOr DOVETE installare RT, ma potete tranquillamente salvare la cartella ...\RivaTuner v2.0 Final Release\Tools\D3DOverrider, e disinistallare RT senza alcun problema: D3DOr funzionerà lo stesso).

Piccola guida sull'uso di D3D Overrider
Nella schermata principale del prog cliccate sul pulsantone "+" per aggiungere l'eseguibile del gioco ed assicuratevi che l'impostazione "force triple buffering" sia su ON (alsciate su Medium l'opzione "application detection level") ; adesso potete chiudere D3D Or, il programma rimane cmnq attivo (l'iconcina nella tray bar rimane visibile). Per comodità lasciatelo in avvio automatico, impostando su ON l'opzione "start with windows" nella finestra del prog. ATTENZIONE: D3DOr non funziona con gli eseguibili a 64bit (ad es. Crysis64)




Per i possessori di vga ATI, il tb per i giochi D3D può anche essere attivato tramite ATI TRAY TOOLS (lo trovate qui): ovviamente dovete flaggare la casella "force triple buffers" nella finestra riportata nella figura qui sotto
Quote:

Originariamente inviato da Stalker
"Profili dei giochi" (è il primo in alto) > "Gestisci profili dei Giochi".



fukka75 04-01-2007 16:41

In primo post

dani&l 04-01-2007 16:56

interessante.

Serosch 04-01-2007 23:05

Hai risolto il mio problema! :D
Tnx!

CarloR1t 04-01-2007 23:21

Grazie! :) Bella guida, risponde a delle domande che certamente non ci facciamo solo noi...

Nightingale 05-01-2007 09:22

Grazie mille, è un problema di cui ho sempre sofferto e non ne capivo la natura... :)

Wizental 05-01-2007 11:28

E per le schede Ati, come si fa a usare il tb sulle d3d?C'è un programmino apposito? :fagiano:

Mobi_82 05-01-2007 18:10

Quote:

Originariamente inviato da Wizental
E per le schede Ati, come si fa a usare il tb sulle d3d?C'è un programmino apposito? :fagiano:

ATI Tray Tools

dduke 05-01-2007 18:48

Grande grandissimo fukka, sottoscrivo il thread pronto da forwardare a chi ne avesse bisogno

fabbius69 05-01-2007 21:19

Quote:

Originariamente inviato da Mobi_82
ATI Tray Tools


Ma non trovo l'opzione triple buffering su ATI Tray Tools. :confused: :confused:

Stalker 06-01-2007 11:26

Quote:

Originariamente inviato da fabbius69
Ma non trovo l'opzione triple buffering su ATI Tray Tools. :confused: :confused:

Devi andare in "Profili dei giochi" (è il primo in alto) > "Gestisci profili dei Giochi".


GabrySP 06-01-2007 14:13

D3DOVerrider funziona perfettamente, meglio di DXtweaker e di ATT.(mi sembra + comodo dell' opzione di ATT)

Ho installato rivatuner 2.0, mi sono copiato la cartella di D3DOVerrider e ho disintallato rivatuner e funziona da solo :eek: !!!
ATT+D3DOVerrider=Perfezione ;) (x chi ha sche ati, ovviamente :ciapet: )

darkfear 06-01-2007 17:55

qlc1 sa spiegarmi 1 cosa?

ho notato da poco 1 cosa...

in Counter Strike Source (cmq il motore sourcee cmq nn ho provato altri giochi...:stordita: )

ho notato una cosa strana...che credo prima nn ci fosse...

cioe'...quando mi allontano di poco da 1 muro (1 metro o anche meno..) mi slava le textures in una maniera assurda :mbe: (ho l'af high quality al massimo e cmq nn è come l'effetto che succede senza filtro...le texture ci sn...nn sn lisce...ma il dettaglio si abbassa tantissimo...sembrano annaccquate...:stordita: )

è una cosa tipo nebbia...che "mangia" il dettaglio :stordita:

lowenz 06-01-2007 18:42

Quote:

unico modo per evitare questi adeguamenti è attivare nei driver il triple buffering (per nVidia c'è solo per i giochi OpenGL, per ATI non so)
Tramite l'ultimo rivatuner sotto schede Nvidia il triple buffering è forzabile anche in Direct3D ;)

lowenz 06-01-2007 18:44

Quote:

Originariamente inviato da fukka75
Segnalo che con l'ultima release di RivaTuner http://www.guru3d.com/index.php?page=rivatuner&menu=8 è stato finalmente introdotto il tanto atteso supporto al triple buffering anche nei giochi Direct3D, grazie ad un'applicazione, D3D Overrider, che è l'evoluzione di DXTweaker, che a me non ha mai funzionato ( :muro: ): finalmente i 30 fps dovuti al segaggio del v-sync sotto i 60fps sono solo un brutto ricordo, e i 45/50 ci stanno tutti :yeah: :yeah: :yeah:

Ops, ho letto solo ora ;)

lowenz 06-01-2007 18:46

Quote:

Originariamente inviato da GabrySP
D3DOVerrider funziona perfettamente, meglio di DXtweaker e di ATT.(mi sembra x comodo dell' opzione di ATT)

Ho installato rivatuner 2.0, mi sono copiato la cartella di D3DOVerrider e ho disintallato rivatuner e funziona da solo :eek: !!!
ATT+D3DOVerrider=Perfezione ;) (x chi ha sche ati, ovviamente :ciapet: )

Direi di aggiungerlo nel primo post, sempre che lo si voglia strutturare a mini-guida: sarebbe molto utile per tutti credo ;)

alexlionheart 07-01-2007 11:17

io invece sono alla disperata ricerca di un programmino che fissa la frequenza a 30 fotogrammi al secondo senza andare oltre.
molti si chiederanno il perche' e adesso vi rispondo
nei giochi dove la scheda video non ce la fa a stare sopra i 60 mi da fastidio il continuo saliscendi ovvero 60 50 30 poi ancora 45 e 60 e preferirei la scheda bloccata a macinare solo 30 fotogrammi(non in tutti i giochi -ad esempio i fps sono un suicido giocati a 30 mi viene il mal di testa)cosi' anche se la fluidita' non e' il massimo e' pur sempre accettabile e soprattutto stabile

fukka75 07-01-2007 11:43

Quote:

Originariamente inviato da lowenz
Direi di aggiungerlo nel primo post, sempre che lo si voglia strutturare a mini-guida: sarebbe molto utile per tutti credo ;)

Detto fatto

rob-roy 11-01-2007 12:26

Non ho capito una cosa.

Ma il D3D overrider và attivato anche lui insieme a Rivatuner?

:)

fukka75 11-01-2007 15:10

Riva tuner non va attivato, è un programma che serve per modifcare vari parametri della vga: lo lanci, modifichi e lo chiudi; D3D Overrirder è del tutto indipendente da RivaTuner: volendo puoi salvarti la cartella di D3D OVerrider e disinstallare RT, D3D O funzionerà lo stesso ;)


Tutti gli orari sono GMT +1. Ora sono le: 05:16.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.