Jump to content

Un approccio tecnico alle schede video


ConteZero

Recommended Posts

Tutti noi sappiamo che oggi come oggi la potenza di una scheda video ? data principalmente da due fattori fondamentali... il disegno sulla scatola e le dimensioni della scatola stessa!

Basta guardare uno scaffale in un negozio abbastanza fornito per vedere angeli, demoni, cerberi, e quant'altro di orribile la mente umana abbia mai realizzato (film di Costantino a parte).

C'? cos? tanto hype dietro alle schede video (che sono diventate dei marketing tools veri e propri) che non si riesce a stargli pi? dietro...

Quindi qui far? un piccolo riassunto per tutti voi, in modo da chiarire un attimino come stanno le cose.

Le schede video ERANO un fattore marginale nello sviluppo dei PC, il gioco l'ha cambiato anni addietro Matrox con l'uscita della Mystique a cui S3 ha risposto con la Virge.

Da allora di acqua sotto i ponti ne ? passata anche troppa (e si vede) ed ora siamo a livelli impensabili (per fare un conticino un 6800 ha pi? transistor di un AMD64); l'hype prestazionale ed i soldi che migliaia di utenti hanno versato nelle casse di ATi e nVidia hanno portato ad uno sviluppo abnorme del settore.

C'? per? da dire che i chip grafici sono processori veri e propri, anche se molto specializzati, e questo li ha portati a scontrarsi con i problemi e le limitazioni che anche le CPU stesse stanno incontrando.

Due o tre anni fa per nVidia o ATi implementare un nuovo chip grafico voleva dire semplicemente attingere al vastissimo know-how di Intel, IBM, AMD o Motorola in campo di miniaturizzazione per fare chip pi? piccoli e performanti, magari implementandoci qualche nuova tecnologia ispirata da Microsoft che, nel frattempo, costringeva il mercato a continui aggiornamenti sfornando una versione delle DirectX dopo l'altra.

Oggi la cosa ? finita, i chip grafici sono complessi quanto i microprocessori (anche di pi? visto che un processore ? in buona parte cache di secondo livello, che manca ai chip grafici) e cos? c'? chi si attesta su un processo produttivo abbastanza economico per non far gravare troppo i prezzi di produzione (ATi) e chi invece usa le ultimissime tecnologie, affidando a terzi la produzione vera e propria dei chip (nVidia, che fa produrre ad IBM i chip grafici) con un ovvia conseguenza sui prezzi e sulle prestazioni.

In questo s'inserisce un problema molto particolare, i Wafer!

Un wafer ? un cerchio di silicio stampato e trattato che contiene decine di repliche dello stesso livello di un chip messe una affianco all'altra; i wafer vanno tagliati e di essi una certa percentuale ? usabile, tale percentuale varia dal 30% per i primi "sample" in produzione fino al 70% di quando la tecnologia viene migliorata.

Visto che un processore ? formato da diversi "layer" sovrapposti si otterr? un processore incollando i vari layer uno sull'altro in modo MOLTO preciso.

Vuol dire che su 200 layer su wafer solo 60 diventeranno effettivamente processori mentre gli altri verranno riassorbiti e ritrattati...

I produttori di CPU usavano alcuni espedienti per migliorare la resa; qualora un core fosse funzionante ma inadatto a girare ad una certa frequenza questo veniva venduto come processore a frequenza inferiore mentre i modelli di qualit? superiore venivano venduti come adatti per frequenze superiori.

La distribuzione statistica (wow, una buzzword!) della qualit? ? una gaussiana (una distribuzione a "campana") in cui la maggioranza dei core ha una qualit? "media" e solo una piccola parte ? "superiore" o "inferiore"; questo spiega perch? i modelli di punta sono cos? rari, per ogni "wafer" solo alcuni esemplari raggiungolo un tale livello qualitativo (e, per dirla facile, sono quelli che di solito stanno al centro nel wafer); Intel aveva la bellissima abitudine di vendere i processori ottenuti dalle zone centrali dei wafer come 'retail' (boxed) e quelli nelle zone laterali del wafer come 'oem'.

Nel mondo delle schede video questo non ? molto fattibile, la confusione ? gi? altissima a causa di un accumularsi di modelli e versioni, aggiungere anche un altro livello di complessit? (la velocit? del core) rischierebbe di alienare del tutto il mercato, per questo questa pratica ? limitata ad al massimo due modelli per stesso chip.

Segue un piccolo esempio di stessi core con velocit? diverse (dati presi da tomshardware.com):

 

nVidia Core NV45:

GeForce 6800 Ultra - velocit? del chip 400 MHz - velocit? della RAM 1100 MHz

GeForce 6800 GT - velocit? del chip 350 MHz - velocit? della RAM 1000 MHz

 

nVidia Core NV43:

GeForce 6600 GT - velocit? del chip 500 MHz - velocit? della RAM 1000 MHz

GeForce 6000 - velocit? del chip 300 MHz - velocit? della RAM 550 MHz

 

nVidia Core NV35:

GeForce FX 5900 Ultra - velocit? del chip 450 MHz - velocit? della RAM 850 MHz

GeForce FX 5900 - velocit? del chip 400 MHz - velocit? della RAM 850 MHz

GeForce FX 5900 XT - velocit? del chip 400 MHz - velocit? della RAM 700 MHz

 

nVidia Core NV30:

GeForce FX 5800 Ultra - velocit? del chip 500 MHz - velocit? della RAM 1000 MHz

GeForce FX 5800 - velocit? del chip 400 MHz - velocit? della RAM 800 MHz

 

nVidia Core NV36:

GeForce FX 5700 Ultra - velocit? del chip 475 MHz - velocit? della RAM 900 MHz

GeForce FX 5700 - velocit? del chip 425 MHz - velocit? della RAM 550 MHz

 

nVidia core NV31:

GeForce FX 5600 Ultra - velocit? del chip 400 MHz - velocit? della RAM 800 MHz

GeForce FX 5600 - velocit? del chip 325 MHz - velocit? della RAM 550 MHz

 

nVidia core NV34:

GeForce FX 5200 Ultra - velocit? del chip 325 MHz - velocit? della RAM 650 MHz

GeForce FX 5200 - velocit? del chip 250 MHz - velocit? della RAM 400 MHz

 

ATi core R480:

Radeon X850 XT PE - Velocit? del chip 540 MHz - Velocit? della RAM 1180 MHz

Radeon X850 XT - Velocit? del chip 520 MHz - Velocit? della RAM 1080 MHz

 

ATi core R423:

Radeon X800 XT PE - Velocit? del chip 520 MHz - Velocit? della RAM 1120 MHz

Radeon X800 XT - Velocit? del chip 500 MHz - Velocit? della RAM 1000 MHz

 

ATi core RV410:

Radeon X700 XT - Velocit? del chip 475 MHz - Velocit? della RAM 1050 MHz

Radeon X700 Pro - Velocit? del chip 425 MHz - Velocit? della RAM 860 MHz

 

ATi core R350:

Radeon 9800 Pro 256 - velocit? del chip 380 MHz - velocit? della RAM 700 MHz

Radeon 9800 Pro - velocit? del chip 380 MHz - velocit? della RAM 680 MHz

Radeon 9800 - velocit? del chip 325 MHz - velocit? della RAM 580 MHz

 

ATi core R300:

Radeon 9700 Pro - velocit? del chip 325 MHz - velocit? della RAM 620 MHz

Radeon 9700 - velocit? del chip 275 MHz - velocit? della RAM 540 MHz

 

ATi core RV350:

Radeon 9600 Pro - velocit? del chip 400 MHz - velocit? della RAM 600 MHz

Radeon 9600 - velocit? del chip 325 MHz - velocit? della RAM 400 MHz

 

In compenso, prendendo a prestito qualcosa dal mondo delle RAM, si ? preferito usare un rimedio pi? drastico.

Oggi un chip di RAM arriva tranquillamente a 256 miliardi di bit, tutti funzionanti alla stessa frequenza con costi di produzione estremamente ridotti ed un ottima percentuale di chip funzionanti per wafer... il trucco ? nel layout!

Quando viene costruito un chip di memoria vengono fatte pi? celle di memoria di quelle che servono veramente; appena "sfornate" un sistema automatizzato si limita a "provare" le memorie e disabilitare le celle non funzionanti "coprendole" con quelle in pi?, ogni singolo core di memoria ha un elettronica che viene "programmata" (blowing fuses ;-D ) in questa fase, il funzionamento ? simile a quello degli hard disk, che hanno dei settori riservati da usare come sostitutivi.

Il problema ? che un chip grafico ? gi? abbastanza grosso e complesso per poter risolvere in modo veloce il problema... come fare ?

I chip sono fatti tutti insieme, infatti i core spesso sono identici anche fra schede diverse, la differenza sta nel firmware/bios.

Cerchiamo innanzitutto di capire com'? fatta una scheda video; per farla semplice una scheda video ? simile ad un motore d'automobile; le attuali schede video sono delle multijet!

Questo vuol dire che i dati sono trattati parallelamente da diverse unit? del tutto identiche ed indipendenti fra loro che poi buttano il risultato del loro 'computo' allo stadio successivo di elaborazione.

Le varie unit? di elaborazione sono estremamente complesse ed occupano una bella area del chip in s?, segue che se c'? un guasto in un area dedicata ad una pipeline grafica basta disabilitare quella pipeline per recuperare un core da vendere, magari, sottocosto, il che ? estremamente vantaggioso in termini economici.

Vediamo qualche esempio di core identici con pipeline disattivate:

 

nVidia core NV40:

GeForce 6800 GT - 16 pipeline - velocit? del chip 350 MHz - velocit? della RAM 1000 MHz

GeForce 6800 - 12 pipeline - velocit? del chip 325 MHz - velocit? della RAM 700 MHz

 

nVidia core NV43:

GeForce 6600 - 8 pipeline - velocit? del chip 300 MHz - velocit? della RAM 550 MHz

GeForce 6200 - 4 pipeline - velocit? del chip 300 MHz - velocit? della RAM 550 MHz

 

ATi core R420:

Radeon X800 XT PE - 16 pipeline - velocit? del chip 520 MHz - velocit? della RAM 1120 MHz

Radeon X800 Pro - 12 pipeline - velocit? del chip 475 MHz - velocit? della RAM 900 MHz

 

ATi core R350:

Radeon 9800 - 8 pipeline - velocit? del chip 325 MHz - velocit? della RAM 580 MHz

Radeon 9800 SE - 4 pipeline - velocit? del chip 380 MHz - velocit? della RAM 675 MHz (*)

 

(*) Il core R350 ha anche una differenza nel datapath alla RAM, di cui parleremo in seguito.

 

Nota a margine: sia ATi che nVidia per ragioni costruttive abbastanza facili da immaginare ma non documentate raggruppano le pipeline in blocchi da 4 per cui si possono disabilitare e riabilitare le pipeline solo a blocchi di 4 per volta.

 

La cosa ? abbastanza nota sulle nVidia 6800 che, a quanto pare, nella maggior volte parte in cui si v? ad abilitare l'ultimo blocco di 4 pipeline si ottiene immondizia sullo schermo proprio perch? ad essere disattivate sono delle pipeline guaste.

Non ? sempre cos?, un caso ? la Radeon 9500, un core con otto pipeline di cui solo quattro abilitate; il motivo di questa operazione era semplicemente offrire modelli performanti per il segmento value senza ammazzare il pi? redditizio mercato mainstream e premium; nelle Radeon 9500 era possibile tramite firmware upgrade riattivare le pipeline "dormienti"; la scheda diventava una Radeon 9500Pro o 9800 (a seconda del modello di core).

A variazioni del numero di pipeline attivate in generale le case produttrici cambiano anche la velocit? del chip e della memoria; in questo modo possono separare in modo netto i due prodotti finali; si discosta da questa tendenza il GeForce 6200 che ? un 6600 in versione "limitata" del tutto identico al fratello maggiore, in quel caso particolare il 6200 (che ? abbastanza raro a trovarsi) ? semplicemente un processore "patch", immesso sul mercato per poter introdurre la generazione FX6 (i core NV4x) come una linea omnicomprensiva che spazia dai modelli low-end (la 6200 appunto) agli hardcore (6800 Ultra).

Notare comunque che quando un produttore di schede video chiede un tot di chip grafici entro una certa data la casa produttrice deve fornirli, per cui spessissimo capita che, per necessit? "economiche" alcuni chip di qualit? superiore vengano "impostati" come inferiori e spediti alla casa produttrice di schede video come tali, la cosa capita spesso sui modelli di fascia medio-bassa.

E passiamo quindi al terzo valore di paragone, la RAM.

Le RAM sono il vero tallone d'achille dei chip grafici attuali; tanto si ? fatto per migliorare i processori grafici che alla fine il nodo ? venuto al pettine: i chip grafici sono ora abbastanza veloci da doversi fermare per aspettare la RAM.

In effetti la cosa fa abbastanza impressione a vedersi, mentre su PC ancora combattiamo per le DDR2 a 566 MHz sulle schede video si vedono moduli da 1180 MHz (ovviamente non sono MHz reali in nessun caso, ma equivalgono a SDR a quella velocit?) ed il lancio (di cui sopra) delle tecnologie TurboCache e HyperMemory testimonia proprio la sofferenza da parte dei produttori ed assemblatori nel dover spendere cifre sempre pi? cospique per chip sicuramente performanti ma neanche lontanamente paragonabili ai processori grafici.

Intanto giustifichiamo il discorso fatto sopra: i chip grafici non hanno cache di secondo livello... semplicemente perch? non saprebbero che farsene!

Mentre sui processori esiste una regola che ? quella dell'80/20 (l'80% del tempo di esecuzione di un programma ? localizzato nel 20% del codice del programma stesso) che fa s? che una cache di 512K/1Mb riesca a mantenere fino al 95% delle locazioni di memoria richieste da una CPU i chip grafici non hanno localit? del codice; un chip grafico usa estensivamente ed in modo molto scoordinato la memoria.

Un esempio semplice (beh, quasi):

Immaginate di giocare a Doom3 a 1600x1200 con una scheda video non eccelsa; ad un certo punto vi trovate davanti un muro che vi copre la visuale; mentre avete il muro davanti il frame rate aumenta tantissimo; il fatto ? che esistono due tecniche (Z-buffering e S-buffering) che si occupano di eliminare dalla pila di rendering tutti i poligoni che sono nascosti da altri poligoni; se dietro al muro c'? un qualsiasi oggetto giga-mega-ultra complesso non verr? mai renderizzato perch? il vostro fido muro ? messo fra voi ed esso e l'algoritmo di S-buffering eviter? che questo "oggettone" venga renderizzato (tanto sarebbe comunque nascosto dal muro).

Algoritmi come S-buffering o Z-buffering sono discretamente "disordinati" negli accessi alla memoria e, comunque, tutti gli altri accessi a partire dalle textures sono abbastanza "scoordinati".

Per questo le schede video hanno bisogno di accedere alla memoria in modo veloce!

I mostriciattoli partoriti dalle menti di ATi e nVidia hanno quindi fatto il possibile per allargare, il pi? possibile, il bus di memoria, permettendo di spremere al massimo la RAM.

Per farvi un esempio semplice le schede di fascia alta (X800+ e le varie 6800) hanno un datapath a 256 bit, un Athlon 64 939 ha due datapath da 64 bit... per di pi? mentre l'Athlon64 si deve "accontentare" di DDR400 qua si parla di DDR1000...

Quando si vuole fare una scheda a prestazioni inferiori e non aggiornabile basta limitare il datapath sul chip; se il chip ha solo 128bit ovviamente non sar? possibile spremergli pi? di tanto con la memoria, ? il caso del 6600 che ha un datapath a 128bit che lo rende inferiore ai vari 6800, rispetto al quale ? superiore in ogni altro aspetto.

Vediamo ora quali sono gli esempi di chip con datapath a 256 bit di cui solo 128 sono utilizzati (pi? che altro per sapere quali schede video evitare); sopra di esse metteremo l'equivalente con il datapath "completo":

 

ATi core R350:

Radeon 9800 - velocit? del chip 325 MHz - velocit? della RAM 580 MHz - datapath 256 bit

Radeon 9800 SE - velocit? del chip 380 MHz - velocit? della RAM 675 MHz - datapath 128 bit

 

ATi Core RV350:

Radeon 9600 - Velocit? del chip 325 MHz - Velocit? della RAM 400 MHz - datapath 128 bit

Radeon 9600 SE - Velocit? del chip 325 MHz - Velocit? della RAM 365 MHz - datapath 64 bit

 

E quindi parliamo di quello per cui tutti voi ha letto questo interminabile papiro... il tweak!

Non sono un esperto di tweaking delle schede video, RivaTuner ha dimostrato di essere molto comoda in certi casi (come per esempio 6200 -> 6600 per l'unlocking delle pipeline) e ci sono tool altrettanto validi per ATi ma bisogna tener conto del fatto che quando si cambia qualcosa si rischia SEMPRE.

Se proprio volete provare queste cosine fate attenzione a raffreddare bene la scheda video.

Altra nota v? fatta per quel che riguarda ATi e la RAM; i driver ATi sono "famigerati" perch? resettano i timings della RAM ogni volta che un applicazione v? in full screen... questo perch? ATi ha paura che qualche produttore di schede video possa mettere RAM ad alte prestazioni con un chip economico e tirare fuori prestazioni superiori ai modelli pi? blasonati; esistono ovviamente "contromisure" per disabilitare questo comportamento.

A questo si aggiunge un nutrito numero di programmi che permettono di fare pressocch? di tutto, dai tweaker che prendono un BIOS di una scheda video e "clockano" i timings direttamente l? ad una serie smisurata di utility che regolano il modo in cui le schede video fanno il rendering.

Come consiglio generale posso dire che ? meglio investire in un chip grafico di fascia alta con un nutrito numero di megabytes di RAM e andare a clockare pi? la RAM che il chip grafico in s? (eccezion fatta per l'unlock delle pipeline ove possibile).

A questo fine includo due link ai datasheet che permettono di calcolare qual'? la frequenza nominale delle RAM, se riuscite a leggere i numeretti stampigliati sui moduli di memoria e a capire chi li fabbrica dovreste essere in grado di capire che chip sono; quello che otterrete non ? un valore assoluto, se una DDR ? indicata come 600 MHz probabilmente arriver? a 650MHz, se invece ? indicata come 550MHz allora 600 MHz sar? gi? tanto; diciamo che in questo modo potrete valutare meglio che schede video comprare e quali sono i limiti dell'overclock con vi scontrerete.

Aumentando di un minimo i voltaggi potreste conquistare altri MHz (overvolt della RAM); fate per? attenzione al fatto che la RAM riscalder? molto di pi?!

 

Apparte qualche sparuta VGA tutte montano chip grafici di queste due societ?

 

Hynix:

http://www.hynix.com/eng/02_products/01_dram/down/GDDR.pdf

 

Samsung:

http://www.samsung.com/Products/Semiconduc...aphics_code.pdf

 

Nota: Le velocit? di clock sono quelle indicate "by reference" dal produttore del chip grafico, non ? detto che corrispondano sempre a quelle che sono implementate sulla scheda video, molti produttori infatti offrono versioni gi? "overclockate" del chip grafico.

 

 

TEMPORAL AA

 

http://www.hwupgrade.it/articoli/1013/14.html

 

qua viene spiegato in breve la tecnica (edit by MAGNO)

Link to comment
Share on other sites

In effetti non c'? molto in giro, anche googlando non si trova praticamente nulla.

Quello che segue ? una serie di illazioni misto con qualche informazione presa qua e l?.

Se hai usato il VirtualDub il Temporal AntiAliasing dovrebbe essere pressappoco l'equivalente di un filtro di AntiAliasing 4x con un Temporal Softner.

In pratica si effettua l'AntiAlisiasing 4x e poi si effettua una specie di interpolazione col frame precendente, questo permette di avere un passaggio pi? "smooth" nei frame che contribuisce a dare un impressione di maggiore fluidit? (a scapito dei dettagli effettivi).

Link to comment
Share on other sites

Ma mi sapresti dire il rapporto tra vsync e T.AA?

 

Se ho capito bene per far funzionare il T.AA e obbligatorio avere il Vsync attivato.

Altrimenti puoi attivarlo forzandolo con software tipo "Ati Tray Tool".

Ho capito bene? :ph34r:

Link to comment
Share on other sites

diciamo che il vsinc va attivato perch? dai modo alla scheda video di calcolare i frame successivi di modo che ad esempio io con 120 hz e attivando il temporal 2x mi risulta un interpolazione di antialiasing 4x 60 hz.

 

se hai un monitor da poco evita di usarlo perch? dopo un po' ti affatichi la vista.

ma come qualita' e velocita' e' una gran cosa.

Link to comment
Share on other sites

diciamo che il vsinc va attivato perch? dai modo alla scheda video di calcolare i frame successivi di modo che ad esempio io con 120 hz e attivando il temporal 2x mi risulta un interpolazione di antialiasing 4x 60 hz.

 

se hai un monitor da poco evita di usarlo perch? dopo un po' ti affatichi la vista.

ma come qualita' e velocita' e' una gran cosa.

560[/snapback]

Gia ora mi e kiaro molto di piu sto rapporto tra vsync e t.aa: in poke parole il vsync nn e obbligatorio ma e consigliato per la visione corretta dei pattern sullo schermo da quello che ho capito

CMq mi pare che un problema del vsync, fosse che il numero dei frames (che servono al T.AA) sono direttamente proporzionale al refresh dello skermo. Per eliminare questa proporzione scomoda, si usa il triple buffer : mi sai dire qualkosa in piu di quest'ultimo e anke come si attiva? :ph34r: tnks :P

Link to comment
Share on other sites

non e' obbligatorio, e difatti da me sta sempre disattivato per tenere oltre i 120 fps, ma con i T AA va attivato altrimenti non funziona.

 

Una volta creata l'immagine, questa viene depositata in una zona della memoria (spesso dedicata): il buffer. E, da l?, visualizzata sullo schermo.

DOUBLE BUFFER vengono creati due buffer: il frontframe buffer contiene l'immagine visualizzata sul monitor, mentre nel backframe buffer viene creato il frame successivo.

nel Triple Buffering (necessario per sfruttare al massimo i veloci chip di ultima generazione riducendo le attese della visualizzazione su monitor)

si utilizzano 3 distinte zone di memoria per contenere i frame da visualizzare: nella prima si salva il frame che deve apparire sul monitor; nella seconda il frame successivo, gi? renderizzato; nella terza il frame su cui sta attualmente lavorando il chip grafico. Il triple buffering pu? rendere molto fluida l'immagine ma l'occupazione di memoria ? triplicata.

Naturalmente queste tecniche utilizzano rispettivamente il doppio e il triplo della memoria del sistema tradizionale.

Link to comment
Share on other sites

non e' obbligatorio, e difatti da me sta sempre disattivato per tenere oltre i 120 fps, ma con i T AA va attivato altrimenti non funziona.

 

Una volta creata l'immagine, questa viene depositata in una zona della memoria (spesso dedicata): il buffer. E, da l?, visualizzata sullo schermo.

DOUBLE BUFFER vengono creati due buffer: il frontframe buffer contiene l'immagine visualizzata sul monitor, mentre nel backframe buffer viene creato il frame successivo.

nel Triple Buffering (necessario per sfruttare al massimo i veloci chip di ultima generazione riducendo le attese della visualizzazione su monitor)

si utilizzano 3 distinte zone di memoria per contenere i frame da visualizzare: nella prima si salva il frame che deve apparire sul monitor; nella seconda il frame successivo, gi? renderizzato; nella terza il frame su cui sta attualmente lavorando il chip grafico. Il triple buffering pu? rendere molto fluida l'immagine ma l'occupazione di memoria ? triplicata.

Naturalmente queste tecniche utilizzano rispettivamente il doppio e il triplo della memoria del sistema tradizionale.

568[/snapback]

 

Ottima spiegazione del triple buffer ;) Bravo! B)

 

Ritornadando al vsync, se io nn attivo il vsync, il T.AA: non funziona? :blink:

Ma non ce modo di far funzionare il T.AA senza vsync attivato? :mellow:

 

Inoltre, per quanto riguarda il triple buffer, come lo si attiva? Unicamente dal gioko o anke nel panello di controllo dei driver (catalyst, omega o quel che siano ) ? :ph34r:

 

Grazie ;)

Link to comment
Share on other sites

Il VSync ? qualcosa che TUTTI dovremmo tenere abilitato quando non facciamo benchmark e simili.

In pratica una scheda video ha 2 bit particolari, HSync e VSync, HSync viene asserito quando il pennello elettronico che disegna lo schermo torna a capo dopo aver disegnato una linea mentre VSync si attiva mentre il pennello elettronico torna nell'angolo in alto a destra per disegnare un altro frame dopo aver finito li corrente.

Ovviamente il motivo per sfruttare il VSync c'?.

Il double buffer risale a molto tempo fa ed ? una tecnica estremamente usata, mentre sullo schermo si vede un "field" la scheda video disegna il successivo in un altra area di memoria; se ? attivato il VSync il driver effettua il passaggio da un area all'altra mentre il pennelo sta tornando "a capo" per cui il passaggio da un field all'altro ? perfettamente negato.

V? tenuto presente che per "passare" da un field all'altro basta cambiare il registro puntatore al primo pixel da disegnare (cosa che impegna veramente NIENTE in termini di tempo) per cui in pratica i field non sono spostati in s? ma ruotati, nel senso che il field 0 passa in continuazione da "viewed" a "working" per poi riprendere da capo.

Se disabilitiamo il VSync il passaggio da un frame al successivo viene fatto esattamente quando il frame successivo ? pronto (il che rende il double buffer solo un sistema di buffer ed il triple buffer pressocch? inutile); per questo quando si disabilita il VSync capita spesso, nei "movimenti" pi? fluidi, di vedere come se l'immagine cambiasse a met? schermo; semplicemente si passa da un field all'altro mentre la scheda video sta ancora disegnandoli... cosa inaccettabile quando si gioca!

 

Il VSync si disabilita quando si fanno test sulle schede video per un motivo semplice... se la scheda video ha finito di "disegnare" tutti i field ? costretta a fermarsi ed aspettare un VSync che gli liberi il field correntemente visto per poter riprendere a funzionare, questo comporta che la scheda video non ? MAI lanciata al 100%, il triple buffering ? stato introdotto anche per questo, per limitare l'impatto del VSync.

Se vi steste chiedendo perch? non esiste il quadruple o il quintuple playfield la risposta ? che a 1600x1200 a 24 bit siamo a circa 6Mb di RAM per ogni field (cosa "relativamente" importante) e per l'effetto che io chiamo "telefonata VoIP".

Se la scheda video stesse "disegnando" gi? un frame che ? CINQUE frame avanti al vostro vuol dire che non state interagendo, state vedendo un film interattivo dove ogni vostra azione avviene dopo un certo intervallo di tempo tutt'altro che breve... mi spiego meglio:

Ammettiamo che abbiate una risoluzione di 60Hz e la scheda video riesca riesca a dare 60fps SEMPRE, in quintuple playfield vorrebbe dire che il tasto che premete voi comincer? a cambiare qualcosa nel gioco solo 1/12 di secondo dopo... vale a dire che quando premete il bottone di fuoco sul solito nemico in verit? passano ancora altri quattro(!) frame (cio? 1/12 di secondo) prima che EFFETTIVAMENTE voi abbiate premuto il tasto fuoco.

L'altro aspetto ? legato invece al cap... se avere un refresh rate a 60 Hz potete tranquillamente mettere dodici 6800 Ultra in SLi (poi mi mandate gli schemi elettrici per?) ma non riusciere mai a "scorare" oltre i 60fps cio? un frame per secondo.

 

 

Questa digressione me la sono permessa perch? quando ero piccolo (tutti mi scherzavano...) mi divertivo a fare piccoli demo e programmini sulle VGA (allora da 1Mb) ed il double e triple buffer li ho dovuti capire, imparare, usare e via dicendo....

 

* Nota: ho parlato di field, un field ? un frame solo che il termine "field" ? pi? adatto quando si parla di double/triple buffering...

Link to comment
Share on other sites

io ho 120 hz ma i giochi arrivano a 100 in molti casi autolimitati; mentre gli altri cerco di farl iandare oltre i 120.. indi per cui nel mio caso attivarlo non ha molto senso

600[/snapback]

 

Ha SEMPRE senso attivare il VSync, migliora la resa video.

Non ? un opzione! VSync v? tolto solo quando il frame rate ? cos? basso che il recupero di 2 o 3 fps al secondo valgano la candela di immagini "sovrapposte".

Link to comment
Share on other sites

Conte sei un ottima biblioteca di informazioni x quanto riguarda il mondo delle VGA :D

 

Sei un pazzo :P

 

Cmq rinnovo la domanda :ehm:

Per quanto riguarda il triple buffer, come lo si attiva? Unicamente dal gioko o anke nel panello di controllo dei driver (catalyst, omega o quel che siano ) ?
Link to comment
Share on other sites

Il triple buffer ? una funzionalit? che attiva il gioco internamente visto che il programma "deve" essere cosciente dell'uso del double o triple buffer (sigh, ci sono diventato scemo).

Magno, again... ci perdi pochissimi fps, e comunque non sono frame in pi? effettivi... in pratica senza VSync succede che quando il frame nuovo ? pronto quello vecchio viene "sovrascritto" anche lo stai vedendo; l'effetto "grafico" ? quello di vedere due immagini; la parte di sopra ? il frame vecchio e la parte di sotto il frame nuovo.

Anche se i frame sono in genere molto simili capita, specie nei giochi d'azione, che ci siano differenze (notoriamente esplosioni di bombe etc) dove vedi l'effetto "tagliato".

Ma poi scusa, effetto "il mio FPS ? pi? alto del tuo" a parte, hai provato a riattivare il VSync e vedere se effettivamente ci sono differenze ?

Non ce ne dovrebbero essere come fluidit? (che dovrebbe aumentare) e l'immagine dovrebbe diventare pi? rilassante (occhi e cervello); prova!

Link to comment
Share on other sites

ma e' ovvio conte; solo che quello che dici te vallo a dire al netcode del gioco. tu saprai che la posizione su schermo viene inviata al server, il quale "cerca" di pensare in che direzione sto andando, capire da dove arriva il nemico .. spariamo tutti e due il server riceve primai dati di uno e se sparo anchio, capendo il tempo di lag , la distanza, la mia e la sua posizione decide chi deve morire.

 

gia gl ierrori del server sono una marea, aggiungici ping sfavorevole o balzellante e poi aggiungici pure che ho meno frame dell'avversario: col cazzo che le colpisco, spari dell'aria fritta.

nel giochi online visivamente la differenza non si notera' ma + ne hai meglio e'. se la gente fosse onesta come i cosiddetti niubbi, e lasciassero il gioco come sta senza fare mod io rimetterei il vsinc, ma tra i pro che modificano il mondo ( sono il primo a farlo ma per fottuta necessita') e i cheater del cazzo si cerca sempre di trarne un vantaggio.

e ti ssicuro che non e' una mia teoria.. cercati un server zenza cheating death di cs, alcuni li trovi ed entra con un fps_max 200 . dimmi se riescono a colpirti con qlc che non sia 30 colpo da mezzo metro. cs ha i frame bloccati con gli anti cheat, battlefield no.

Link to comment
Share on other sites

Mi faccio un riassunto:

 

Per far funzionare il T.AA e necessario atttivare come minimo il double buffer:

Hsync

Vsync

che sono necessari per una corretta visualizzazione dei pattern sullo schermo. Pero ce da dire che usando il double buffer (precisamente il Vsync) si crea un problema di frames, i quali sono limitati dalla proporzione che lega i frames al refresh del monitor.

Per ovviare a cio, si puo attivare il triple buffer (che non conosco il nome :rolleyes: ) il quale permette di eliminare questa proporzione sfavorevole tra frames e refresh.

 

Ora ditemi se ho sbagliato qualkosa di questa guida :ph34r:

 

@Naruto

ehehehehe; come hai fatto a notarlo? :rolleyes:

Cmq conta che e sete personale, dubbi che non mi sono mai kiarito e li ho riproposti in questo forum ove vedo che ce gente:

a) esperta nel campo

B) ANKORA PIU IMPORTANTE disponibile

 

Gia ho postato domande simili in altri forum ma questo e l'unico dove ogni mio dubbio e stato kiarito B)

La migliore community mai frequentata sino ad ora per preparazione e disponibilita in campo di hardware ;) siete mitici ^__^/

Link to comment
Share on other sites

Mi faccio un riassunto:

 

Per far funzionare il T.AA e necessario atttivare come minimo il double buffer:

Hsync

Vsync

che sono necessari per una corretta visualizzazione dei pattern sullo schermo. Pero ce da dire che usando il double buffer (precisamente il Vsync) si crea un problema di frames, i quali sono limitati dalla proporzione che lega i frames al refresh del monitor.

Per ovviare a cio, si puo attivare il triple buffer (che non conosco il nome :rolleyes: ) il quale permette di eliminare questa proporzione sfavorevole tra frames e refresh.

 

Ora ditemi se ho sbagliato qualkosa di questa guida :ph34r:

 

@Naruto

ehehehehe; come hai fatto a notarlo? :rolleyes:

Cmq conta che e sete personale, dubbi che non mi sono mai kiarito e li ho riproposti in questo forum ove vedo che ce gente:

a) esperta nel campo

B) ANKORA PIU IMPORTANTE disponibile

 

Gia ho postato domande simili in altri forum ma questo e l'unico dove ogni mio dubbio e stato kiarito B)

La migliore community mai frequentata sino ad ora per preparazione e disponibilita in campo di hardware ;) siete mitici ^__^/

632[/snapback]

 

HSync non esiste, ? un segnale esistente NELLA scheda ma non ha alcuno scopo...

si cita solo perch? il VSync non ha senso se non si spiega prima l'HSync.

Il VSync dev'essere attivato (pare) perch? il T.AA funzioni; il VSync fa in modo che il numero di frame sia al massimo uguale alla velocit? di refresh del monitor (anche perch? ? inutile che la scheda video faccia 300fps se poi il monitor ? a 60Hz e quindi pu? visualizzare appena 60 frames al secondo).

Il triple buffering ? un modo per dare una piccola cache alla scheda video.

In double buffering mentre sullo schermo viene visualizzata un immagine la scheda video prepara la successiva; col triple buffering quando finisce la successiva passa direttamente alla terza, in questo modo dopo aver finito la seconda non deve aspettare che questa venga visualizzata per passare alla successiva.

Link to comment
Share on other sites

Parrebbe di si; aggiungo questo link alla pagina con tutte le spec di un altro produttore di memorie, Elixir.

Nota a margine, in questi giorni probabilmente poster? un thread a parte con i metodi di lettura e gli sheet per le DRAM e le GRAM, questo dovrebbe permettere, a chi ha il fegato di girare con un piccolo manualetto dietro, di distinguere i vari moduli e capire di che si tratta e qual'? la loro qualit? senza bisogno di dover comprare prima :D

 

http://www.elixir-memory.com/product_elixi...ll&pro_Type=All

Link to comment
Share on other sites

Complimenti Conte, veramente tutto ben spigato, ? raro trovare una descrizione chiara leggibile ed esplicativa e soprattutto senza sboronate di turno.

E aggiungo ? un piacere leggere qualcuno che ancora scrive in italiano e non in Kitaliano come lo chiamo io. Non se ne pu? pi? di tutte quelle kappa e minchiate varie, l'ignoranza imperversa ormai a livelli devastanti.

 

sKuZate lo sfogo da veKKio LOL

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...