Newsgroup: it.comp.hardware.video-3d
Titolo: Curiosità motore Quake3

Ho sempre notato che i giochi basati sul motore grafico di Quake3 (es.:
Wolfenstein, Jedi Knight2, ecc...) sono molto veloci ma danno un
"fastidioso" effetto visivo nei movimenti laterali, come se le immagini
venissero tagliate in strisce orizzontali...non so se mi spiego...l'ambiente
3D non si sposta uniformemente. L'ho notato sia con la mia vecchia
GeForce256-32MB che con una GeForce4Ti4200-128MB. Lo fa anche a voi? C'č
qualche modo per eliminare il problema, oppure č una cosa normale?
Ciao.

 3D non si sposta uniformemente.
si chiama "visual tearing", dovuto alla disabilitazione del VSync.
Riabilita il VSync e la distorsione che dicevi sparirà, e come effetto
collaterale perdi qualche FPS.
    Vilco

 ha scritto nel messaggio
news:b56vv6$csr$1...@panco.nettuno.it...

Accidenti, velocissimo!
Adesso faccio qualche prova e vedo cosa mi conviene fare.
Ciao.

 > collaterale perdi qualche FPS.
ti converrà SEMPRE E COMUNQUE abilitare il vsync . i frame per secondo che
"perdi", per cosi' dire, sono quelli che eccedono le capacità di
visualizzazione del monitor, facendoti vedere i difetti e le immagini
tagliate. esempio, se quake3 ti funziona a 180fps perchè hai un sistema
veloce, ma il tuo monitor va a 85hz di refresh, tu vedrai SEMPRE E COMUNQUE
85fps, NON 180 come credi: se abiliti il vsync, la scheda invece verrà
"frenata" quel tanto a rimanere sugli 85frame per secondo, in modo da
"convivere bene" col tuo monitor e non far vedere quelle corruzioni
dell'immagine.
non c'è bisogno che ti dica che anche se avessi un monitor capace di andare
a 180hz (e non ne esistono), l'occhio umano comunque non distinguerebbe una
fava fra un'animazione in movimento a 85fps e 180fps, perchè dai 50-60 in su
non riusciamo a captare la differenza per "limiti" (è un parola grossa...)
dell'occhio.
quindi abilita sta cippa di VSYNC e vivi felice.
ciao
p.s.: và, ti spiego perchè NON potrai mai vedere più delle immagini
pennellate dal monitor col suo refresh (85hz dicevamo), anche se la scheda
video ne calcola 180 in realtà: procedendo per punti in modo che sia più
chiaro, funziona cosi' :
1)la scheda video spedisce un frame al monitor (è uno dei 180 al secondo che
spedisce);
2)il monitor inizia a "pennellarlo" sullo schermo (ne puo' "pennellare" al
massimo 85 al secondo, che è il tuo refresh)
3)la scheda video manda un nuovo frame al monitor;
4) il monitor, essendo più lento della scheda video, quando gli arriva il
nuovo frame è ancora "a metà" della pennellata del precedente;
5) cosa fa il monitor in questo caso?per non rimanere indietro, dal punto
sullo schermo in cui è arrivato a pennellare, inizia a pennellare il nuovo
frame arrivato al posto che conludere quello vecchio!!!!!
6) proprio nel punto in cui il monitor "ha cambiato" frame da pennellare, tu
noti un taglio orizzontale in quell'istante, ed è il difetto di cui ti
lamenti proprio.
si nota di più ovviamente negli spostamenti laterali, perchè muovendoti
velocemente e facendo muovere di conseguenza con gran velocità il paesaggio
che visualizzi (nel videogioco),c'è più differenza tra un frame e il suo
precedente successivo che non quando rimani con lo sguardo fermo : in quel
caso non noti i "tagli" perchè anche se nella realtà continuano ad esserci,
il paesaggio resta comunque uguale, e i frame sono quindi tutti uguali fra
loro, non facendoti notare i "Tagli".
spero di essere stato chiaro, ciao
--
NaNuGurthu

chiaro, funziona cosi' :
[CUT]
Interessante...non sapevo che funzionasse cosi'.
grazie 
ale

 
non so se centri ma questo articolo mi pare interessante per continuare
questa discussione.
http://ucguides.savagehelp.com/Quake3/FAQFPSJumps.html
ah io preferisco di gran lunga giocare con i massimi fps che abilitare
il v sinc.

 grazie
e il bello è che verrà rispiegato minimo una volta al mese qui dentro,
eppure nessuno se ne ricorda mai...più che altro c'è una grande confusione,
perchè nei benchmark BISOGNA effettivamente disattivare il vsync, per avere
le prestazioni effettive della scheda (non glie ne frega nulla a nessuno se
in 3dmark ci sono dei disturbi a video mentre viene fatto, gliene frega a
tutti invece che dia i giusti valori per la propria scheda!), nei
videogiochi invece BISOGNA attivarlo, perchè i videogiochi per l'appunto li
VEDIAMO....e imho una persona mentre gioca, se è intelligente ;) , dovrebbe
poter apprezzare la bellezza della grafica, non esaltarsi pensando "mamma la
mia scheda in questo momento sta facendo mmmillle fps!!!" mentre in realtà
su schermo si vedono disturbi e tagli vari!
imho questa sarebbe la classica info da FAQ del newsgroup, peccato che
questo ng è (e sarà sempre) talmente selvaggio e infantile da non potersi
permettere una FAQ decente, che qualcuno si sprechi a leggere.
ciao
--
NaNuGurthu

 
anche qui parla molto bene dei fps.
http://www.quake3world.com/ubb/Archives/Archive-000001/HTML/20000822-3-015173.html

e il bello è che verrà rispiegato minimo una volta al mese qui dentro,
Credo di essere giustificato dal fatto che praticamente posto da una
settimana...
ciao
ale

 settimana...
che hai capito, il mio posto non aveva nessuna aria di "accusa";)), solo una
triste esposizione di come stanno le cose!-.-
quello che mi rattrista di più è vedere tanta (troppa) gente che smanetta a
usta nei settaggi delle schede video senza neppure sapere su cosa sta
mettendo le mani, e poi magari dopo viene pure a "evangelizzare" sul
newsgroup o so forum vari con consigli e regole scoperte personalmente, che
ovviamente non possono essere che sbagliati. una specie di "periodo delle
streghe" per le schede video, insomma;), del resto sono comunque sicuro che
chi ha un po' di "usta" (detta come vuol detta) non va a mettere le mani
dove non conosce che puo' succedere, e al massimo prima cerca di informarsi
al meglio....sperando che vada a informarsi nel luogo e dalla gente
giusta-.-
--
NaNuGurthu

CUT.........
Complimenti per l'ottima ed esaustiva descrizione,
sapevo cosa fosse il V-sync ma MAI lo avevo
visto descritto in un modo cosi' semplice, diretto
e completo :-)
dpk宰Marco


Beh, una spiegazione così approfondita non l'avevo letta nemmeno nelle
riviste di settore :-)
Il problema è che i "tagli" li vedo anche col VSync attivato :-(
Soltanto in "Star Trek Voyager Elite Force" (sempre basato sul motore di
quake3) c'è l'opzione che permette di disabilitare le estensioni OpenGL.
Attivandola
i tagli scompaiono, ma il fps cala parecchio.
Mah?! Non so più che pensare.
Ciao.

 Mah?! Non so più che pensare.
ehr..a sto punto non so che consigliarti, bisognerebbe far prove col pc
sotto...mi vien da pensare (nei giochi dove rimane), che la chiamata
impostata direttamente dal pannello dei driver non funzioni ...prova a
cercare il settaggio direttamente all'interno delle opzioni grafiche del
gioco (mi pare che ci fosse anche nel quake3 "base" se ben ricordo..).
inoltre..quando dici che gli fps calan parecchio, è una stima a occhio (cioè
il gioco è proprio meno fluido) o semplicemente ti fa impressione perchè hai
il contatore in un angolo dello schermo? se è per la prima, ti consiglierei
di alzare la frequenza di refresh del monitor...almeno a 85hz, ma è il
minimo (ottimali sarebbero 100hz, per ogni situazione): è garantito che dai
60-70fps in poi l'occhio non distingue la differenza, quindi mi pare un po'
strano che se hai un refresh sui 100hz noti la differenza rispetto a prima.
ciao
--
NaNuGurthu

 NaNuGurthu
No, è una stima senza usare il contatore, ma ti assicuro che la caduta dei
fps è parecchio evidente e soprattutto il gioco scatta molto disabilitando
le estensioni OpenGL. In genere uso un refresh a 85, ma ho provato a mettere
le impostazioni al minimo e usare la risoluzione di 640x480 con refresh a
120, ed il problema rimane. E' veramente strano...mah?!
Comunque ti ringrazio tantissimo per i consigli che mi hai dato! Ti ho fatto
perdere anche troppo tempo.
Adesso provo a fare qualche tentativo strano, tipo aggiornare i driver del
monitor (della serie: non so dove sbattere la testa :-))
Se non funziona, pace!
Ciao.

 le estensioni OpenGL.
guarda, dopo tutto sto discorso mi viene da farti una domanda molto
stupida;)...ma che intendi per "disabilitare le estensioni opengl" !?!? :))
ricordo che nelle opzioni di quake3 (altri col suo motore non ne ho provati)
si poteva scegliere il driver da utilizzare, non è che vai a cambiare quello
li' ?:)
ciao
--
NaNuGurthu

Il mio flak cannon era puntato su Simone, quando mi ha implorato
dicendo:
Hai già provato ad abilitare il v-sync?
--
D.A.N.Y.S.K.: Digital Artificial Neohuman Yearning for Sabotage and
Killing
I3DM - Italian 3D Masters, sito dedicato al video 3D
http://members.xoom.it/danysk

Il mio flak cannon era puntato su Simone, quando mi ha implorato
dicendo:
Usa Fraps e dicci quanti FPS fai con il v-sync attivato.



E' una voce che ho trovato solo in "Elite Force". E' semplicemente "OpenGL
Extensions" e si può scegliere tra ON e OFF. Di default è su ON...
...Ora però mi fai venire il dubbio che mettendola su OFF sia come dire: usa
Direct3D invece che OpenGL.


Usando Fraps, con "Medal of Honor" ottengo valori tra 55-85 con VSync sia
attivato che inattivato. Identici.
Credo a questo punto di avere problemi solo con OpenGL perchè i giochi
accelerati con Direct3D vanno benissimo. Sapete per caso se esiste qualche
incompatibilità tra OpenGL e Athlon più vecchi (ho un 1200) o con chipset
VIA?

Stavo giusto sorpassando la Diablo di Simone con la mia 500 del '64
quando, aperto il finestrino, mi disse:
|| Usando Fraps, con "Medal of Honor" ottengo valori tra 55-85 con
|| VSync sia attivato che inattivato. Identici.
OK, ora riprova a 640x480x16 con i dettagli al minimo, così vediamo se la
massima sfora o no il refrtesh dello schermo.
|| Credo a questo punto di avere problemi solo con OpenGL perchè i
|| giochi accelerati con Direct3D vanno benissimo. Sapete per caso se
|| esiste qualche incompatibilità tra OpenGL e Athlon più vecchi (ho un
|| 1200) o con chipset VIA?
Lo escludo.


 Hai già provato ad abilitare il v-sync?
Finalmente ho risolto. Lo scrivo per la cronaca, tante volte qualcuno avesse
il mio stesso problema.
Per alcuni giochi basati sul motore di Quake3 (come Medal of Honor) anche
abilitando il Vsync nel pannello dei driver, non si riesce ad eliminare
l'effetto "tearing". In tal caso è sufficiente individuare nella cartella
del gioco il file con estensione cfg che contiene i comandi di
configurazione ed inserire "r_swapinterval 1" per abilitare finalmente il
VSync.

Dimenticavo!
Grazie a tutti per i consigli e la pazienza.
;-)