Quote:
Originariamente inviato da mantes
Cmq per tornare alla tesi che il tearing si possa eliminare solo avendo lo stesso framerate del monitor,ne più ne meno,basta che ci ragioni un'attimo e capisci da solo che è semplicemente assurdo....
|
Allora, vediamo di spiegarci chiaramente:
Se NON abiliti il v-sync la scheda disegna il fotogramma quando ha finito il precedente, ciò significa, come già detto, cher potresti avere un cambio di quadro in una non ben determinata zona dello schermo. La linea di confine si sposterà (salvo differenze mostruose) verso l'alto se la scheda renderizza ad una frequenza superiore a quella di refresh o verso il basso se succede il contrario ad una velocità tanto maggiore quanto è ampia la differenza fra le due frequenze.
Se abiliti il v-sync forzi la scheda a generare il frame in modalità sincronizzata col refresh del monitor, ciò significa che se la scheda renderizza con un periodo inferiore a quello di refresh, attende ad ogni ciclo il segnale per generare il frame successivo e riesce ad inviare le immagini in modo sicrono al monitor. Se hai il refresh a 60 che la scheda renderizzi potenzialmente a 61 o a 300 non cambia nulla, semplicemente nel secondo caso se ne starà a riposo per l'80% del tempo e tu vedi un rendering a 60Hz.
Se la scheda non riesce a completare il fotogramma 2 nel periodo di refresh semplicemente prosegue il disegno finchè non ha raggiunto il suo biettivo e nel frattempo "spedisce" al monitor SEMPRE il fotogramma 1, quidi (nella speranza che l'engine abbia la decenza di essere svincolato dal frame rate) attende il segnale del pennello elettronico e preso atto del tempo che è passato dall'ultimo frame generato comincia a disegnare il nuovo fotogramma.
Questo significa che nella migliore delle ipotesi se la scheda non tiene il passo del refresh si sincronizza ad un suo sottomultiplo (se impiega in determinate condizioni poco più di 1/60 di sec. proporrà per due cicli consecutivi lo stesso frame sincronizzandosi a 30fps) dando ungualmente una disceta idea di fluidità; nella peggiore (condizioni fortemente variabili) si avrà un rendering ballerino che si sincronizza per una frazione a 60 per la successiva 15 poi a 30 e così via; facendo (come ovviamente fanno i giochi su basi di tempo di un secondo o giù di li) una media si ottiene un frame rate che non è necessariamente di 60fps.
Scusate se sono stato prolisso, ma spero di avere fatto un minimo di chiarezza.
Quote:
Originariamente inviato da mantes
mi spieghi tu perchè dovrebbe entrare in funzione quando i frame generati dalla scheda non sono superiore a quello che puo generare il monitor?
Cioè se il monitor puo disegnare la scena alla stessa velocità della scheda video?
|
Questa me la devi spiegare meglio...