Newsgroup: it.comp.hardware.video-3d
Titolo: Bastardata ATI-Valve in HL2

http://www.hardforum.com/showthread.php?t=838630
Vi invito a seguire il thread, stanno emergendo degli aspetti interessanti.
Specialmente per i possessori della Fx5900 



Oddio... se le cose stanno effettivamente così... non fanno poi così
tanto schifo la GFFX con le DX9.
Qualcuno può/vuol provare per confermare?
-- 
 PaRRoT from Linux (user #302069) |     L I N U X       .~.
Athlon XP 1700+ @2406MHz          |     The Choice      /V\
Radeon 9600PRO @524/664           |      of a GNU      /( )\
Gillette Mach 3 @Mach 3 Turbo     |     Generation     ^^-^^

 Qualcuno puņ/vuol provare per confermare?
Mi rispondo da solo. Ho provato poco fa con la mia attuale FX e... devo
dire che Giulio aveva ragione.
L'acqua con i riflessi completi in DX9 č veramente caruzza (anche se i
riflessi sono eccessivi).
Giulio aveva perņ torto sul fatto che le FX facessero schifo in DX9.
Detto in una parola: funziona.
Con quel sistema si abilita la modalitą DX9 (senza oscuri artifici nel
file di configurazione) e riesco a giocare in 800x600 con tutto al massimo
(riflessi completi) con una 5600 overclockata con una qualitą
finale sicuramente maggiore che in DX8.1.
Ora Valve dovrebbe dare delle spiegazioni. Ha usato gli FP24 (non
standard) e non permette di utilizzare gli FP16 (che sono invece standard).
-- 
 PaRRoT (now from Winzozz)        |     L I N U X       .~.


 ha scritto nel messaggio
Ok, grazie per la verifica. 

 Ok, grazie per la verifica.
Mi fanno notare dalla regia la seguente cosa:
"le specifiche Dx9 ufficiali indicano una precisione minima di 24bit ergo
per cui se si setta la modalità Dx9 si impostano 24 bit minimo.
che poi in diversi giochi le fx abbassino la precisione perchè non
riescono a gestire di più, è un trick nvidia e non è mica colpa di
Valve se le schede hanno questi problemi con le specifiche Dx9.
Poi la vicenda dei 24 bit contro 16 bit di precisione fa sorridere:
le stesse persone che dicevano che da 24 a 32  la differenza è notevole,
ora dicono che tra 24 e 16 non si nota."
Il discorso fila. Ciò non toglie che con le FX ora si veda meglio :o)
Vorrei però avvisare la regia (se mi legge) che non riesco a inviare con
l'SMTP di Tin.it e-mail agli indirizzi @
despammed.com
 (a quanto pare le
e-mail vengono filtrate).



LOL.
C'č DaveBaumann che sta correndo come un matto per i forum per cercare di 
giustificare la Valve.:-)

 e-mail vengono filtrate).
Cavolo, lo hanno filtrato anche li':-) 

 Specialmente per i possessori della Fx5900 
Interessante, tra qualche giorno rimetto in piedi il sistema AGP e lo 
provo al volo.
p.bes

 Valve se le schede hanno questi problemi con le specifiche Dx9.
Però c'è da sottolineare che le GFFx non supportano il formato FP24,
ma possono usare o quello a 16bit oppure direttamente quello a 32bit...
 Ciao

giustificare la Valve.:-)
Su Hwupgrade si stanno menando, i fan nVidia non ci stanno a vedere
"bassi" risultati con le loro schede...
Boh un paio di release di driver e miglioreranno, ma ci sono esempi di
infantilismo allo stato acuto...  --_--
http://www.hwupgrade.it/articoli/1127/1.html
Ciao.
-------------------------------------------------------------
-+- Dumah, Demone dell'Agonia -+-
"Muhahahahahahahahahah... ah... aaaah... aaaaaatchoooooo... 
snif... prrrrrrt... snif snif... ehm... Muhahahahahahahah..."
-------------------------------------------------------------

 e-mail vengono filtrate).
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ciao.
Nelle conclusioni:"Questo spiega la scelta di Valve nel forzare il percorso 
di rendering facente uso delle DirectX 8.1 con i processori grafici GeForce 
Fx, famiglia che, come evidenziato anche recentemente dal 3DMark05, non è in 
grado di eseguire in maniera sufficientemente rapida pixel shaders 2.0 
complessi, specie se fanno uso di calcoli in FP32."
Lol, conclusioni che arrivano proprio nel momento in cui saltano fuori i 
taroccamenti della Valve.:)
Decisamente non fortunato quel Raffaele Fantozzi. 

Domani mattina riavvio e lo provo :P 

 si evince da ciò? le fx si prendono la rivincita?
Allura, si ha la dimostrazione palese che le FX con FP24/32 sono
"lente"... ma utilizzando FP16 riescono a gestire nei giochi DX9 un'ottima
resa grafica con ottime performance.
Tradotto: usando quelsistema che forza l'FP16 in HL2 si ottiene un aumento
di qualità grafica e di performance notevole.


 di qualità grafica e di performance notevole.
Davvero??? addirittura si aumenta la qualità e le prestazioni? se non
sbaglio le due cose non sono mai state direttamente proporzionali!!!
E come si fà a fare ciò?
GRASSSSIIIEEE


Valve se le schede hanno questi problemi con le specifiche Dx9.
questo puo' passare, ma il trucchetto di far funzionare correttamente
la grafica in 3d dx9 solo se il gioco si trova su una scheda ati e' un
po' una brutta cosa direi...
sembra un compilatore intel...
-- 
    (iao!!oai)                                    (ICQ: 10860566)
    //.aurizio
[WARNING!: togliete _nessuno_ per rispondere]
    Coloro che sono disposti a farsi togliere alcune liberta' 
essenziali per ottenere un piccolo, temporaneo senso di sicurezza
non meritano ne liberta' ne sicurezza. [B. Franklin]

Davvero??? addirittura si aumenta la qualità e le prestazioni? se non
la qualita' aumenta rispetto alla modalita' dx8.1 che il gioco
userebbe altrimenti...
ovviamente rispetto alla dx9 fp32 c'e' una certa perdita di qualita'.



Già, mi sto sbellicando dalle risate leggendo quel thread...;DD

 E come si fŕ a fare ciň?
- Scarichi 3D-Analyze v. 2.26:
http://www.3dfxzone.it/dir/tools/emutnl.htm
- Decomprimi ed esegui il programma.
- Nel campo [1] selezioni il file HL2.exe nella directory in cui hai
installato il gioco
- Nel campo [2] selezioni la sotto-directory \bin della directory in cui
hai installato il gioco
- Nel campo [3] selezioni Steam.exe
- Abilita poi le seguenti opzioni:
* Nella sezione "Pixel and Vertex Shader": FORCE LOW PRECISION PIXEL
SHADER
* Nella sezione "Remove sluttering": PERFORMANCE MODE
* Nel bos in basso a sinistra: FORCE HOOK.DLL
- Nel campo VendorID metti: 4098
- Nel campo DeviceID metti: 20040
Esegui il gioco da 3D-Analyze o crei un file bat (tasto in fondo al
programma).
Nelle opzioni, va nella sezione video/avanzate e verifichi l'utilizzo
delle DX9... metti tutto al max (riflessi inclusi) e goditi la differenza.


ovviamente rispetto alla dx9 fp32 c'e' una certa perdita di qualita'.
E questa modalità come la chiameremo? DirectX 9_meno_un_quarto?
Sono daccordo che Valve poteva rendere disponibile da subito questa
modalità per le FX ma è pur sempre fuori standard.
L'importante è che si riesca a giocare... io ci sono riuscito a Doom3
e ne sono soddisfatto.


 ma possono usare o quello a 16bit oppure direttamente quello a 32bit...
L'FP24 è una grande cazzata, è completamente fuori standard e non coincide 
con il formato delle varie FPU per cui ogni volta è necessario fare degli 
arrotondamneti o per eccesso in FP32 o per difetto in FP16.
Evidentemente ATI ha introdotto questo ibrido perchè non ce la faceva a 
creare da subito una GPU full FP32 che rendesse dei risultati apprezzabili e 
per non essere seconda a nessuno ;-) si è inventata l'FP24.
Ora che anche ATI con le 'nuove leve' ha finalmente ragginto questo 
traguardo, i prox vidogiochi dovrebbero supportare gli shaders con la 
precisione in FP32 o al max indietreggiare all'FP16 così come vorrebbe lo 
standard, nel frattempo chi si è preso un NVidia FX non può far altro che 
gridare allo scandalo e chiedere un fix ufficiale per HL2 all'istante.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004 


http://www.3dfxzone.it/dir/tools/emutnl.htm
Si puo' usare anceh con 3dmark ?  ;-)))

 per HL2 all'istante.
" Il formato numerico float massimo richiesto dalle DX 9.0 per la precisione
colore 96 bit, sia per il calcolo che per notazione numerica č il cosiddetto
FP24 "
http://www.nvitalia.com/articoli/Floating_Point/5.htm
 NV30 has the ability to execute in both 16 FP and 32 FP. However
 when they run DX9 code they take a 50% performance hit because
 they need to run in 32 bit FP.
 nVidia rep Tony Tamasi:
 According to DirectX 9 spec, FP24 is allowed, but we at NVIDIA
 believe it is insufficient to avoid errors for a variety
 of texture and geometry calculations. So we designed our
 products to use FP32.
 And, of course, drivers would fail WHQL if they fail to meet
 minimum WHQL requirements such as FP24 or higher for texture
 address calculation.
http://www.aceshardware.com/forum?read=95021928
PS2 & PS3 Full precision ->  fp24=s16e7 or higher
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c_
summer_04/directx/graphics/programmingguide/programmablepipeline/hlsl/shader
model3/shadermodel3.asp
 "Pixel Shader Precision
 High Precision Values (***** at least fp24 ****)"
da  Introduction to the  DirectX 9 Shader Models
di
 Sim Dietrich  ( SDietrich@nvidia. com )
http://developer.nvidia.com/docs/IO/8230/D3DTutorial1_Shaders.pdf

 
http://www.nvitalia.com/articoli/Floating_Point/5.htm
Le DX9 rappresentano un'eccezione, non per niente sono state sviluppate a 
stretto contatto con ATI ;-)
Le specifiche ANSI per la rappresentazione dei numeri in virgola non 
menzionano questo formato ibrido, le prox DX10 aggiusteranno il tiro e si 
adegueranno allo standard.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.802 / Virus Database: 545 - Release Date: 26/11/2004 

 CUT
Non ci siamo capiti :o)
FP24 può anche essere certificato DX9 ma non è uno "standard de facto".
-------
Nella precedente generazione ATI, XGI e S3 hanno scelto di implementare
una precisione di calcolo FP24, mentre i processori grafici GeForce Fx
sono gli unici a supportare il calcolo ibrido FP16/FP32 per i pixel
shaders. Perché è stata effettuata questa scelta? 
    FP24 non è uno standard. FP16 è uno standard e FP32 è uno standard.
    La precisione in virgola mobile a 16 bit in ambito grafico è stata
    utilizzata per oltre 50 anni dai sistemi video professionali. Grazie
    al supporto degli standard è stato possibile per noi realizzare ad
    esempio la scheda Quadro Fx 4000 SDI che fa uso delle sue capacità di
    calcolo in virgola mobile per la produzione digitale di TV e film ed
    è il primo prodotto simile che va a contrapporsi alle costose
    soluzioni Onyx di SGI usate negli studi dei produttori di tutto il
    mondo. Io penso che ci troviamo di fronte ad un periodo di transizione
    dai colori a 8 bit allo standard in virgola mobile periodo nel quale
    le GeForce Fx sono in grado di supportare pienamente lo standard a 32
    bit in virgola mobile. La precisione a 24 bit può essere una buona
    soluzione temporanea, ma sicuramente tutti i futuri prodotti, compresi
    quelli ATI e X-Box 2, non useranno FP24, supporteranno FP32.
Fonte: 
http://software.hwupgrade.it/articoli/1115/1.html
-------
Non penso che David Kirk sia un fesso :o)
FP24 rientra nelle specifiche DX9 ma non è uno standard.


 per non essere seconda a nessuno ;-)
Beh, se per quello la modalità a 32bit delle vecchie GeForce FX
era del tutto teorica, visto che se la dovevano utilizzare a fondo
le prestazioni subivano un netto crollo... fortunatamente la cosa
è migliorata con NV4x.

 e si adegueranno allo standard.
ti comunico ufficialmente che hl2 è un gioco dx9 e che le dx10 usciranno tra
non meno di altre 2 generazioni video.

 è migliorata con NV4x.
Un po' come l'antialiasing nelle GeForce 4... :o\


 FP24 rientra nelle specifiche DX9 ma non è uno standard.
no, non è che rientra, ci son due standard di precisione nelle dx9:
Full precision FP24
Low precision FP16
poi se una scheda non supporta FP24 e deve eseguirlo a FP32, son problemi di
chi costruisce la scheda.
Non so se David Kirk sia un fesso di certo è una delle persone meno
attendibili al mondo su questo argomento dato che è "Chief Scientist di
NVIDIA"

 NVIDIA"
Almeno lui sa cos'è l'ANSI ;o)


 ha scritto nel messaggio
[cut]
Non aveva detto che lasciava per il matrimonio? E' ancora qui?:-) 


arrivi tardi.
gli ho spiegato tramite email.

 Almeno lui sa cos'è l'ANSI ;o)
questo non farà girare meglio le sue schede con le dx9.
poco ma sicuro.
;))

 ha scritto nel messaggio 
news:poird.437810$35.19...@news4.tin.it...

Piu' che "fortuna" direi che ha pagato il rapporto con gli sviluppatori.
Se la Gpu avra' una vita operativa di, diciamo, 18 mesi, e sai che in quel 
periodo i game shader intensivi saranno pochissimi, perche' mai dovresti 
investirci piu' di tanto? 

 L'FP24 è una grande cazzata,
Confermo. 


ma cerca di essere serio per una volta.

Confermo. 
Sarà ma al momento pare funzionare bene, non trovi?
Ricordo ancora il thread kilometrico (qui o forse in altre parti)
sulla disquisizione FP16-32 vs FP24.
Se l'hardware allora a disposizione non riusciva a tirare un FP32 ma a
16 cominciava a fare schifino perchè sputare sul 24 che pare un buon
compromesso? Semplice, perchè ce l'ha solo ATI... tanto alla fine è
sempre così...
Ciao...


 sempre così...
Come ha già detto qualcuno, dal momento che gli shaders fin ora non sono 
stati sfruttati appieno se non da pochissimi giochi, perchè precipitarsi 
nella creazione di un ibrido che non porta neanche chissà a quali migliorie 
grafiche? (half life 2 rulez) Si sarebbe potuto aspettare e partire già con 
FP32 o comunque non escluderlo.. ;-P
Evidentemente la scelta all'epoca delle DX9 fu di carattere prevalentemente 
politico per dare una sonora lezione a NVidia che si era montata la testa su 
un mucchio di cose e stava tirando fuori il CG (forse con API proprietarie 
alternative M$?)
Detto questo il mio inserimento non vuole essere come l'ennesimo round "ati 
vs nvidia" ma piuttorsto "all vs valve" ;-) Finchè si tarocca un bench tipo 
3dmark.. vabbè ormai lo sanno tutti! Ma i videogiochi no!! I soldi spesi da 
me par la fx5900 valgono quanto quelli spesi da te per la 9800pro (per 
esempio), e stiamo parlando sempre di 200 e passa euro.


 ed i giochi Dx9, non dovrebbero richiedere requisiti dx9?
Merd! Mi hai fregato il reply :o)
Non mi resta che quotare.

 stretto contatto con ATI ;-)
Allora le DX9c rilasciate appositamente per supportare le SM3.0 di nVidia 
che sono, un'eccezione all'eccezione?


Allora potevano anche evitare di mettere il supporto ai 32bit FP
in NV30...;-))

esempio), e stiamo parlando sempre di 200 e passa euro.
Quindi io programmatore dovrei sottosfruttare una scheda per non fare
un torto all'altra? :)
Sono daccordo sul fatto che avrebbero potuto da subito abilitare il
FP16 su nv3x nelle Dx9, secondo me visto il putiferio creato alla
Valve tireranno fuori una qualche ottimizzazione per migliorare il
framerate delle Gefo, driver esclusi.
Ciao.


 Sarà ma al momento pare funzionare bene, non trovi?
Funzionare bene, dove?
Portami degli esempi in cui dimostri che e' preferibile avere solo fp24 in 
luogo dell'accoppiata fp16/32.
In Doom3, anche dopo l'AI, Ati rimane sempre un bel po' indietro; sia per i 
driver ogl non ottimali ma anche per l'obbligo di fp24.
In HL2, come stiamo vedendo nelle ultime ore, in parecchie circostanze fp24 
non migliora la qualita' rispetto a fp16 (ma rimane sempre prestazionalmente 
piu' onerosa).
Gli shader in uso nei game sono "corti" e fp16 va piu' che bene.
Se guardi alle prestazioni delle Fx, puoi dimostrare l'implementazione non 
ottimale di fp16/32 *in quelle schede*; non certo che e' meglio avere fp24.
Fp32 e' un requisito per lo SM3.0 a cui ATI dovra' adeguarsi. E tutta 
l'esperienza accumulata con R300-fp24 ... dove andra' a finire?
Quindi: funzionare bene, dove? 


E come avrebbero potuto rifiutarsi se M$ non consente di avere sempre e solo 
fp16. 

 ha scritto nel messaggio
news:AQnrd.61120$Es2.1...@twister2.libero.it...

Avrebbero potuto fare "buon viso a cattivo gioco" e supportare anch'essa
la modalità  "fuoristandard" a 24bit di Ati... anche se in questo modo in
effetti non avrebbero fatto "esperienza" sulla gestione a 32bit nella
pipeline
di rendering, cosa che Ati deve ancora fare, o meglio sta facendo in
maniera parallela con la progettazione di R520.

Quindi: funzionare bene, dove? 
In Doom3 Nv40 usa FP16? Non lo sapevo grazie, ora capisco molte cose!
Le Radeon saranno anche indietro in Doom3 ma ad un framerate che
permette di godersi il gioco. Non ricordo di piagnistei di utenti che
lamentavano l'ottimizzazione del gioco per FP16.
Non vorrei rientrare sulla disamina qualitativa tra FP16 e 24,
sicuramente tu ne sai + di me, ma escludendo le mosche bianche D3 e
HL2 in tutti i giochi vedo Radeon con FP24 performare a livelli simili
(a volte meglio a volte peggio a volte =) a schede che usano FP16, non
si sembra che faccia così schifo no? Ora ATI dovrà dimostrare di
essere preparata con il FP32, lo sapremo fra 6 mesi. Il problema è che
per la gente quando esce Doom3 esiste solo Doom3 e se la scheda non
performa bene lì non vale niente, idem per HL2. E somatizzano. 
Pensi che questi anni di esperienza in FP24 non serviranno proprio a
niente per il FP32? Per quale motivo?
Ciao.


 gli ho spiegato tramite email.
E a me niente?
-- 
Torquemada.
"Everything is possible if you wish hard enough."
James Matthew Barrie, Peter Pan

 E a me niente?
da che mondo č mondo a te non c'č niente da spiegare Torque ;) al massimo
noi chiaccheriamo, che č una cosa diversa, comuqnue non mi era ancora
arrivata risposta alla mia ultima mail, o non ti č arrivata, o si č persa la
tua :p

 gridare allo scandalo e chiedere un fix ufficiale per HL2 all'istante.
Per cortesia, Fl@sh, amplia il concetto di 'standard', perché io fatico 
a comprenderlo, in questo caso. Mi stai parlando di uno standard 
ufficiale, ratificato cioè da qualche ente super partes internazionale, 
oppure di uno standard 'de facto' perché tutti fanno le cose in un certo 
modo 'e allora è giusto che sia così'?
È una domanda eh, non c'è nessuna polemica retorica dietro.
p.bes

 FP24 rientra nelle specifiche DX9 ma non è uno standard.
Con tutto il rispetto parlando, Parrot, Kirk non è affatto un fesso, ma 
da brava persona intelligente, deve anche tirare un po' d'acqua al suo 
mulino...
p.bes

 librerie grafiche. O sbaglio?
Se l'FP24 fosse stata cosi' ottimale come si evince dal tuo intervento,
Microsoft l'avrebbe avallata (avallata con 1 "v", ché significa "garantire"; 
con 2 "v" ha il significato di "abbassare",
che col discorso non c'entra nulla) anche per lo SM 3.0. O sbaglio?

 tua :p
Ho avuto la tua e ti ho mandato 3-4 risposte, tutte perse nel 
cyberspazio.... :-(
Comunque lo sapevo che non te ne andavi :-P


 che col discorso non c'entra nulla) anche per lo SM 3.0. O sbaglio?
Mi pareva di aver letto da qualche parte che lo SM3 richiedesse 
esplicitamente la FP32. Ho semplicemente l'impressione che Microsoft 
guardi l'hardware in fase di sviluppo e decida semplicemente su 
quello... I tempi, comunque, sono maturi per l'introduzione di queste 
tecnologie, ma passerà ancora un po' di tempo prima che il mercato le 
recepirà.
p.bes

 niente per il FP32? Per quale motivo?
Perche' non ho motivo per pensarla diversamente. Offrimi tu delle 
motivazioni.
Perche', secondo te, l'esperienza in fp24 sara' utile nelle dx10? 

 la modalità  "fuoristandard" a 24bit di Ati...
Ma perche' mai avrebbero dovuto?
Continui a girare attorno alla questione senza dare una risposta plausibile. 
Se sai che fp16 e' piu' che adatto per game attuali e che fp32 rappresenta 
il punto di arrivo dx9, perche' mai dovresti costruire un scheda fp24? Non 
ha alcun senso. 


Sei tu che continui con sta "crociata" del FP16 vs 24 invece...;-D

 esplicitamente la FP32.
Esatto, fp24 c'entra con le dx9 quanto i cavoli a merenda.



Comincio a capire il tuo punto di vista, diciamo che le Radeon
supportano "una specie" di DX9, embrionale, ma visto che ancora non
supporta il SM3 e quindi non ha l'obbligo dei 32bit perchè avrebbe
dovuto forzatamente restare ai 16 se prestazionalmente e
qualitativamente il salto a 24 non è stato affatto male? E' questo che
non arrivo a capire...


Perche', secondo te, l'esperienza in fp24 sara' utile nelle dx10? 
Questa è una motivazione che esula dalle schede video: per risolvere
problemi complessi prima si risolvono problemi semplici.
