|
|
|
![]() |
|
Strumenti |
![]() |
#61 | |
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Quote:
Io di single o multi thread no ne ho mai parlato. Mi sono smpre riferito all'opzione SMP e ti ripeto che il guadagno su Mac, con l'opzione SMP abilitata, è ben oltre l'1-10%.
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
|
![]() |
![]() |
![]() |
#62 |
Member
Iscritto dal: Mar 2005
Città: Parma
Messaggi: 114
|
e pensare che questa diatriba è iniziata x nulla! Basta tornare alle prime pagine x farci rendere conto che tutto questo non ha senso, alla fine.
x fek allora io mi eclisso, quì non sono nessuno! ![]() |
![]() |
![]() |
![]() |
#63 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Re: Re: Re: X Caesar_091
Quote:
Non so se sei stato preso dalla fretta, oppure hai letto male, ma questo e' cio' che hai scritto. Riassumendo: - Il motore 3d di Q3 e' multi threaded? No. Di questo ne sono certo. - Il gioco e' multi threaded? Su PC sono sicuro di no, su Mac non mi sento di escluderlo a priori anche se mi sembra improbabile per varie ragioni. Ma alcuni benchmark ed un'intervista direbbero il contrario.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#64 | |
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: X Caesar_091
Quote:
-nel 2000 -con Quake3 1.17 -con MacOS X 10.0 Public Beta Se quelli recenti non ti sembrano attendibili... questi cosa sono? Come minimo NC ![]()
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
|
![]() |
![]() |
![]() |
#65 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
![]() Al contrario, i tuoi interventi mi sono sembrati assolutamente precisi.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#66 | |
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Re: Re: Re: Re: X Caesar_091
Quote:
Sta di fatto che il guadagno non è dell'1-10% ma decisamente di più.
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
|
![]() |
![]() |
![]() |
#67 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Re: Re: Re: Re: Re: Re: Re: X Caesar_091
Quote:
![]() Ad esempio: Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
#68 |
Member
Iscritto dal: Mar 2005
Città: Parma
Messaggi: 114
|
programmazione
ora non so se la cosa valga anche per i giochi, lo chiedo a fek, ma che io sappia, un programma x poter beneficiare di più processori (fisici o logici che siano), devono includere particolari librerie, a volte anche proprietarie, librerie che introducono dei costrutti che permettono di specificare a una parte del codice su quale processore dev'essere eseguita. Da quel poco che so, in ambito scientifico il multithread e parallelismo in generale x programmare in c++ (vedi MPI, sui cluster), l'argomento non è affatto banale, ma sicuramente trovare un applicazione del multithreading sui motori 3d è una strada tutta nuova, nonostante i precedenti esperimenti della ID con Q3.
fek, confermi? |
![]() |
![]() |
![]() |
#69 | |||
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Re: Re: Re: Re: Re: Re: Re: Re: X Caesar_091
Quote:
Ma attualmente, sfortunatamente, ho solo un G4 singolo e non posso dimostrartelo "live". Però ho accesso a diverse macchine dual CPU quindi l'invito è sempre valido... fattà eccezione per la cosa da bere che dovremmo andare a prendere da un'altra parte ![]() Quote:
Precipitoso perché? Ho sempre detto cose vere. Siete voi che siete partiti convinti del fatto che tutto quello che avevo scritto era una gran baggianata o sbaglio? Ed vero che le macchine dual CPU sono meno diffuse tra gli utenti x86 se ti riferivi a questo per il "precipitoso".... quindi è normale che magari alcuni l'opzione per il SMP non la conoscevano.
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
|||
![]() |
![]() |
![]() |
#70 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Re: Re: .
Quote:
Inoltre qui hai scritto una cosa non vera: Quote:
Riguardo al game code di Q3 su Mac, ho scritto che non escludo a priori la possibilita' che sia stato riscritto per supportare il multiprocessing, anche se lo trovo improbabile per svariati motivi. Ma l'intervista ed alcuni benchmark sembrano dimostrare il contrario. Non ho altri elementi per giudicare (non ho mai visto il codice sorgente).
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
#71 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Re: programmazione
Quote:
1) Controlla se l'oggetto e' visibile 2) Animalo se necessario 3) Prepara il suo render state e le sue texture 4) Spediscilo alla GPU per il rendering Questo semplice algoritmo e' eseguito passo dopo passo, un passo per volta, dalla CPU. Con piu' CPU potrebbe essere eseguito qualcosa di questo tipo: - Metti in coda l'oggetto alla CPU con meno oggetti in coda Per ogni CPU: - Prendi il primo oggetto dalla coda e controlla se e' visibile - Mettilo in coda per essere animato - Quando e' pronto, mettilo in coda per essere renderizzato (serializzato) Un'unica coda con tutti gli oggetti pronti per essere renderizzati: - Prendi il primo oggetto in coda e prepara il suo render state e le sue texture - Spediscilo alla GPU per il rendering L'ultimo passo dev'essere per forza serializzato, ma gli altri passi possono andare in parallelo sulle varie CPU perche' ogni oggetto puo' essere trattato indipendentemente dagl'altri. Questo e' solo un esempio per dare l'idea delle complicazioni che si hanno in un render loop non strettamente single-thread. Non l'ho ancora implementato, ed ho comunque tralasciato tutta una serie di problemi, quali ad esempio l'ordinamento degli oggetti prima del rendering. In un altro thread e' stato postato un interessante link ad un'intervista a Tim Sweeney (il tech lead di Unreal 3) proprio riguardo al multi processing in un motore 3d.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#72 |
Member
Iscritto dal: Mar 2005
Città: Parma
Messaggi: 114
|
grazie mille!!!!!!!
![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#73 | |||
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Quote:
Quote:
Ci puoi girare attorno quanto ti pare ma prima o poi dovrai ammetterlo. Ho detto 40% e mi rendo conto che forse ho esagerato (siamo sul 30% o poco più) ma, quando ho scritto 40%, ho fatto un paio di conti a mente mica calcolatrice alla mano.... ![]() Riguardo UT2003 e UT2004 ti sbagli sulla questione single/multi tread (che per la prima volta sto tirando in ballo).... anche se ti sbagli solo in parte ![]() sono certo al 100‰ che la versione per Mac (non so se anche quella per PC) elabora in un tread assolutamente indipendente tutto l'audio. Infatti il guadagno tra Mac single e dual CPU rispetto a Q3A è molto ridotto.... ma c'è. Su PC non so se è lo stesso ma su Mac è così. Lo ha scirtto anche uno degli sviluppatori che ha lavorato al porting verso MacOS (ai tempi seguii la vicenda... ma adesso andare a recuperare il link proprio non mi va; se non mi credi vai di Google). Ovviamente anche in questo caso sono pronto ad ogni confronto. Quote:
Saluti!
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
|||
![]() |
![]() |
![]() |
#74 | ||||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Quote:
Sono anni che praticamente tutti i giochi elaborano l'audio in un thread separato. Come vedi, parlare di motore 3d di UT multi-thread e' anch'essa una fesseria. Quote:
Infatti, confermi di aver scritto questo? Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 15-03-2005 alle 21:33. |
||||
![]() |
![]() |
![]() |
#75 |
Senior Member
Iscritto dal: Jun 2003
Messaggi: 1498
|
> devono includere particolari librerie, a volte anche proprietarie, librerie che introducono dei costrutti che permettono di specificare a una parte del codice su quale processore dev'essere eseguita. Da quel poco che so, in ambito scientifico il multithread e parallelismo in generale x programmare in c++ (vedi MPI, sui cluster), l'argomento non è affatto banale, ma sicuramente trovare un applicazione del multithreading sui motori 3d è una strada tutta nuova, nonostante i precedenti esperimenti della ID con Q3.<
Basta usare i pthreads che non sono certo proprietarie: standard POSIX. Quindi si potrebbe sviluppare un motore 3d o comunque il core per un gioco 3d ed avere performace su tutti i sistemi SMP con un sistema operativo compliant: OS X, Linux, Solaris; BeOS ecc... Problema: 95% del mercato in mano a Gates -> sviluppi con le tecnologie di Gates. Le librerie tipo MPI oppure linguaggi tipo Cilk o preprocessori tipo OpenMP servono solo per cose "particolari". Quindi con C + POSIX riusciresti gia' ad avere una buona astrazione da sfruttare su piu' sistemi. Poi potresti usare dei frameworks OOP che con semplici direttive di compilazioni potrebbero ottimizzare alcune parti di codice per Altivec, SSE3 ecc... Ma come ho detto si sviluppa software per una particolare piataforma (x86). Questo viene "portato" su altre piattaforme e il businness non lascia spazio ad ottimizzazioni (anche perche' molto spesso chi fa il porting non le sa fare). Ovvimente puo' succedere che il motore di D3 con il passare degli anni venga via via ottimizzato, come per Quake, anche per Mac. Il resto sono solo ciance. D'altra parte per pura potenza computazionale (Cinebench 2003) se prendi infatti la versione ottimizzata per G5 questi sono i risultati: 1 cpu ... Pentium 4 530 (3GHz L2 1M) 2 CPU logiche - 89,4 sec PPC970 (2GHz L2 512Kb) 2 CPU fisiche - 91,6 sec Athlon 64 3200+ (2GHz L2 512Kb sk939) - 93,2 ... 2 cpu .. Opteron 250 2 CPU fisiche - 42,4 sec. PPC970 (2GHz L2 512Kb) 2 CPU fisiche - 50,3 sec. Pentium 4 EE 3,46GHz 2 CPU logiche - 63,4 sec. ... che potrebbero farti girare benissimo D3 come per il PC... |
![]() |
![]() |
![]() |
#76 | |
Senior Member
Iscritto dal: Jan 2003
Messaggi: 1631
|
Re: Re: programmazione
Quote:
dò una mano a fek nel diffondere la cultura del multiprocessing;ecco il link sull'argomento con l'intervista a Tim Sweeney: http://anandtech.com/cpuchipsets/showdoc.aspx?i=2377 buona lettura! ![]() |
|
![]() |
![]() |
![]() |
#77 | ||||
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Quote:
Poi continuare all'infinito anche se io mi sono già rotto le scatole: prenditi un Mac e sbatti il muso contro la realtà... forse così ti renderai conto che è tutto vero. Quote:
Infatti io mi sono sempre limitato a dire la verità: con l'opzione per il SMP attiva le ultime build di Q3A per MacOS hanno un guadagno di ben oltre il tuo 1-10%. Tutto il resto sono chiacchere che fai tu perchè non vuoi ammettere di aver preso un abbaglio. Quote:
Quote:
Il guadagno è ben oltre l'1-10%. Se non dipende dal motore o dal super-multi-cazzabumbola-thread a me non importa. Resta il fatto che hai preso un abbaglio perché la realtà è quella che dico io: guadagno fino anche a più del 30% con l'opzione per il SMP abilitata. Nella vita bisogna anche avere la decenza di ammettere i propri errori.
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
||||
![]() |
![]() |
![]() |
#78 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Oppure neghi di aver scritto tu questo? Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
#79 | ||
Senior Member
Iscritto dal: Oct 2004
Città: Palermo
Messaggi: 2286
|
Quote:
Ma non è una fesseria. Perché scrivendo quello che ho scritto non volveo mica intendere che il motore alla base di quei giochi fosse multitread. Questo lo hai ineterpretato tu dall'alto delle tue conoscente di programmazione. Ho sempre parlato di opzione SMP a prescindere da quello che tu possa intendere leggendo le mie frasi. E la realtà è questa: guadagno superiore ai tuoi 1-10%. Quote:
Ma la realtà è che il guadagno con l'opzione per l'SMP abilitata è fino al 30% e anche poco più. Questo a prescindere dal fatto che tu voglia o meno crederci.
__________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955 |
||
![]() |
![]() |
![]() |
#80 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Lo riquoto: Quote:
Se poi hai problemi a esporre correttamente quello che intendi, non e' un mio problema: la [rossima volta pensaci due volte prima di rivolgerti ripetutamente con arroganza a chi come me e altri ti fanno notare gli errori in quello che scrivi. I guadagni superiori al 10% sono solo in alcuni test, non in tutti i test, in altri non c'e' alcun guadagno, quindi anche la tua affermazione assolutista che "questa e' la realta'" e' una fesseria. Spero che questo chiuda definitivamente anche la questione. Altrimenti mi costa nulla dirti che hai ragione tanto per farti contento (anche se hai scritto delle fesserie come ti abbiamo fatto notare).
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:14.