|
|
|
![]() |
|
Strumenti |
![]() |
#121 |
Senior Member
Iscritto dal: Jan 2003
Messaggi: 10395
|
Rimane da capire come mai i giochi non ne risentono e il test Futuremark si. Potrebbe anche darsi che il benchmark "vada in conflitto" con i drivers. Però leggevo che la diminizione delle prestazioni non si avrebbe nei test sul pixel shader (che secondo Futuremark è l'unica cosa che han cambiato) ma sul vertex shader.
Quindi, se questo è vero: a) è un bug b) Futuremark non sta dicendo la verità e han cambiato qualcosa di più che non il test sul pixel shader |
![]() |
![]() |
![]() |
#122 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
allora... cambiando l'ordine delle istruzioni, se all'interno dei driver vi sono delle ottimizzazioni relative a quel particolare shader (e bada bene non tutte le ottimizzazioni comportano una perdita di qualità, è possibile alle volte avere già memorizzati i risultati di un esecuzione dello shader e utilizzare quei risultati anzikè rieseguire il tutto) quello shader non verrà riconosciuto e quindi le ottimizzazioni in questione non potranno essere effettuate.
Non dimentikiamo che il 3dmark è un BENCHMARK e quindi mi pare giusto ke dovrebbe confrontare il raw power delle skede video, senza nessuna ottimizzazione. Questo può essere ottenuto solamente seguendo gli standard e sperando ke le case produttrici di skede video non "trukkino" i loro driver, ma poikè come abbiamo visto non è così allora futuremark è stata costretta ad agire in questo modo per riequilibrare i risultati che altrimenti risultavano falsati..... |
![]() |
![]() |
![]() |
#123 | |
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Quote:
__________________
Twinkle, twinkle, little star how I wonder what you are. |
|
![]() |
![]() |
![]() |
#124 |
Senior Member
Iscritto dal: Jun 2003
Città: Udine
Messaggi: 1612
|
Ma si può considerare questo come un bench efficace?
Visto le ultime notizie di nvidia penso che futuremark cerchi di riguadagnarsi un nome! |
![]() |
![]() |
![]() |
#125 | |
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Quote:
![]() Da quanto ho appena letto le dx9 non buttano il codice degli shaders direttamente alla gpu ma generano un "universal code" che viene poi tradotto in istruzioni da spedire alla gpu e digeribili dalla gpu. Probabile che il compilatore (se si tratta di compilatore universale e che cmq, come altri hanno detto non esattamente, non solo riordina le istruzioni, ma sostituisce veri e propri shaders) intervenga tra "universal code" e codice macchina.
__________________
Twinkle, twinkle, little star how I wonder what you are. |
|
![]() |
![]() |
![]() |
#126 |
Senior Member
Iscritto dal: Jul 2000
Messaggi: 1187
|
Dopo aver visto quanto stava facendo nvidia ATI aveva fatto il suo tentativo riordinando gli shaders nel 3dmark 2003 ed ottenendo così un guadagno prestazionale nell'ordine del 2 o 3% una ottimizzazione che andava però a 'riscrivere' porzioni del codice del 3dmark quindi anche se limitato si tratterebbe pur sempre di un imbroglio. In seguito agli avvisi di futuremark nessun codice specifico è stato più utilizzato da ATI.
Ma per tornare al problema attuale bisogna considerare che, Bisogna considerare che, purtroppo, le schede nvidia sono del 50% meno performanti rispetto alle r3xx nell'esecuzione dei pixel shaders 2 caratteristica fondamentamentale del directx9. Nvidia inizialmente con il CG (adesso non più supportato per via degli alti costi dovuti alla necessità di continuo aggiornamento) voleva indurre gli sviluppatori ad abbandonare gli shaders standard in favore di un pallido surrogato supportato nativamente dalle gpu nvidia, surrogato che sia pure con qualità inferiore ottiene performance paragonabili a quelle di ATI e quindi avrebbe permesso alla casa californiana di salvare la faccia. I programmatori nvidia sono arrivati al punto di tralasciare gli effetti di shaders dell'acqua nel 3dmark 2003 'nature' ed altre cose simili, a screditare gli sviluppatori di Futuremark ed abbandonare il supporto a questa software house tutto perchè in Futuremark si ostinavano e continuano ad ostinarsi a cercare di ottenere un bench il più obiettivo e soprattutto 'standard' possibile. Il nuovo 'Unified Compiler' di nvidia presente nei nuovi drivers ha parzialmente risolto il problema dei propri creatori decretando così la morte del CG... in pratica il codice potenzialmente lento su schede nvidia viene di fatto tradotto e ricompilato una tantum dai drivers in nuovo codice più performante ed ottimizzato per l'hardware (non userebbe più gli shaders previsti dallo standard)... (chi conosce il .net framework pensi al concetto di gestione del codice all'interno del common language runtime) a prima vista può sembrare la soluzione ideale ma non è così, per pure esigenze commerciali e di performance non viene di fatto utilizzato il directx 9 nelle sue piene potenzialità e la perdita qualitativa in alcuni casi risulta evidentemente percepibile. Uniamo a questo l'esigenza di stare al passo che ha spinto nuovamente nvidia a ricorrere a schede overcloccate di fabbrica, schede schede quali le 5900 ultra che non funzionerebbero senza grossi dissipatori. Il tutto è fondato su un ragionamento semplice: il primato nel settore high-end assicura le vendite nel middle-end. Da un lato abbiamo Nvidia che pur di non ammettere la sconfitta inganna e prende in giro i suoi stessi acquirenti sperando così di salvare la faccia... dall'altro lato futurmark con dei programmatori, tempo fa denigrati pubblicamente da nvidia che vogliono salvare il proprio orgoglio e battersi per un eseguire il proprio test senza tagli nella qualità del rendering... omegeneamente per tutte le marche di schede. A Corsini... la verità può pesare e lasciare con l'amaro in bocca l'atto di ammeterla così, pubblicamente (a volte anche con quelche nota di colore), non vuol dire alimentare dei flame o essere dei troll, questa situazione non piace neppure a me ed a rimetterci siamo noi tutti, purtroppo . Ultima modifica di pg08x : 13-11-2003 alle 21:15. |
![]() |
![]() |
![]() |
#127 |
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Scusa ma a parte tutti i discorsi filosofici sul fatto che Nvidia ti sta prendendo in giro eccetera...
Tu credi veramente che il riorganizzare il codice voglia dire non eseguire più codice standard? Forse ti sfugge un pelo l'architettura dei due chip e cosa voglia dire codice standard. Fai un discorso senza senso, tecnicamente errato dalla partenza all'arrivo. E non sarò certo io a spiegartelo visto che esistono post di persone ben più erudite di me sul forum che lo spiegano per filo e per segno. Ma probabilmente manco l'hai letto. Amen.
__________________
Twinkle, twinkle, little star how I wonder what you are. |
![]() |
![]() |
![]() |
#128 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Riordinare il codice in maniera da eseguire più velocemente una particolare funzione, purché sia MATEMATICAMENTE EQUIVALENTE a quella originale, non è una cosa che mi fa gridare allo scandalo. Assolutamente. Per me si tratta di un'ottimizzazione legittima.
Questo se tale principio viene applicato sistematicamente a TUTTE le applicazioni/giochi. Diversa cosa è sostituire in blocco un pezzo di codice/shader perché è stata riconosciuto che l'applicazione richiedente è 3DMark, Quake, ecc. Questa è una cosa che, francamente, MI DISGUSTA. Per tornare all'oggetto del contendere, francamente trovo MOLTO DIFFICILE che il 3DMark, in quanto applicazione, riesca a disattivare delle funzionalità che sono presenti a livello di driver, e che vengono utilizzate da particolari chiamate alle API delle DirectX. Non che la cosa risulti impossibile (basta scrivere un driver che permetta di ottenere certi privilegi anche sotto NT/2000/XP, e si potrebbero fare parecchie cose "sporche"), ma stiamo parlando di un'azione di cracking che richiede non poche conoscenze e tempo per metterle in pratica. Sarebbe interessante analizzare le differenze fra la build 330 e la 340 per andare a vedere se realmente è stato cambiato il solo codice di alcuni shader, ma anche quest'operazione non è così semplice. A mio avviso è (molto) probabile che i nuovi shader presentino delle sequenze di istruzioni che non siano riconosciute come "pattern" dal nuovo compilatore nVidia, che quindi non riesce a convertire nelle appropiate sequenze che consentono di sfruttare meglio l'architettura NV30. Queste sono solamente mie supposizioni, ovviamente. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#129 |
Senior Member
Iscritto dal: Jul 2000
Messaggi: 1187
|
Per DjLode & cdmauro
Scusa ma tu credi VERAMENTE che l'Unified Compiler si limiti solamente a cercare di riordinare gli shaders ?
Noi sai che nv3x ha alternative più performanti rispetto al codice standard. Non sai che nelle precedenti cheat nvidia aveva sostituito completamente gli shaders dell'acqua di mother nature con versioni proprietarie (e qualitativamente inferiori) ? Come credi che possano raggiungere le prestazioni volute ? Altro esempio: nvidia dopo la storia del processo produttivo avava dichiarato anche che era in ritardo con il progetto geforce FX per colpa della tecnologia 3dFx in esso contenuta che doveva essere 'adattata' Tu ci credevi ? Ultima modifica di pg08x : 14-11-2003 alle 09:22. |
![]() |
![]() |
![]() |
#130 | |
Senior Member
Iscritto dal: Jul 2000
Messaggi: 1187
|
Quote:
Semplicemente non è sufficiente solo riorganizzare gli shaders per ottenere prestazioni paragonabili a quelle di Ati in determinate situazioni, questo è risaputo. Lo è prova evidente ed inconfutabile il fatto che pur potendo limitarsi a riorganizzare solo gli shaders nella precedente versione della cheat sul 3dmark nvidia per raggiungere ATI gli shaders sono stati totalmente riscritti con codice dedicato nv30 cosa per cui anche è nato il CG. L'architettura nv30 contiene alternative performanti ad effetti standard su cui è debole. E' per questo che nv30 integra più transistors di r300 è per sfruttare questo che è nato CG e la sua evoluzione l'Unified compiler. A volte non ho tempo per dileguarmi, e nessuno mi paga per farlo, su una cosa puoi star certo ho ben presente cosa sia codice standard e non mi piace chi per vendere tenta di rifilarci bugie su bugie, per questo non mi piace nvidia. Ultima modifica di pg08x : 14-11-2003 alle 09:21. |
|
![]() |
![]() |
![]() |
#131 | ||||
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Re: Per DjLode & cdmauro
Quote:
Quote:
![]() Quote:
Quote:
__________________
Twinkle, twinkle, little star how I wonder what you are. |
||||
![]() |
![]() |
![]() |
#132 | |||||
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
Twinkle, twinkle, little star how I wonder what you are. |
|||||
![]() |
![]() |
![]() |
#133 | |||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Re: Per DjLode & cdmauro
Quote:
![]() Quote:
Quote:
![]() Quote:
![]() Quote:
Comunque non mi va di lapidare nVidia per partito preso: nel mio messaggio precedente ho soltanto riportato alcuni fatti derivanti dalla mia esperienza personale e delle mie SUPPOSIZIONI per cercare di dare delle spiegazioni a quanto si è verificato. A mio avviso, ripeto, il compilatore unified di nVidia non è in grado di "riconoscere" e quindi sostituire in maniera opportuna alcune sequenze di istruzioni (siano essere vertex o pixel shader), per cui si verifica quel calo di prestazioni. Potrebbe anche darsi che Futurmark, conoscendo qualche dettaglio sul lavoro svolto da questo "compilatore", abbia appositamente riscritto gli shader con delle sequenze che sicuramente non sarebbero state riconosciute. E' un suodiritto (io posso scrivere le mie applicazioni come più mi aggrada e non devo dar conto a nessuno), ma se così fosse, il suo gesto sarebbe riprovevole. Forse non tanto quanto quelli di cui si è macchiata nVidia, ma ai miei occhi sarebbe moralmente inaccettabile un simile comportamento ("lo fa apposta", insomma). Sul codice "standard" t'hanno già risposto nell'altro thread, per cui evito di farlo: mi allineo a quanto detto da fek tempo addietro. Diciamo che il modello Ati si avvicina più al tipo di programmazione "naturalmente usata" dai coder, mentre quello nVidia no (per cui ne risentono le prestazioni). Tutti qui.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
![]() |
![]() |
![]() |
#134 | |
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Re: Re: Per DjLode & cdmauro
Quote:
Come sai la prima ad usare il pattern Rotated Grid per l'AA è stata 3dfx. Sai ora come ora cosa usa Nvidia? L'Ordered Grid. E Ati? Il Rotated Grid. Dalla serie abbiamo la migliore tecnologia sulla faccia della terra per l'AA e non la usiamo ![]()
__________________
Twinkle, twinkle, little star how I wonder what you are. |
|
![]() |
![]() |
![]() |
#135 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Questa non la ricordavo proprio.
![]() Grazie per l'informazione...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:51.