View Single Post
Old 13-08-2005, 02:01   #66
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2774
Quote:
Originariamente inviato da shodan
Perfettamente d'accordo, ma non considerando l'ottimo HSR i vantaggi propri di questo approccio si riducono notevolmente. Rimane però la capacità di applicare i filtri (in particolare l'AA) in maniera più veloce rispetto a un approccio classico, questo perchè i calcoli relativi ai filtri vengono eseguiti direttamente a livello di tile, che è completamente contenuta nella cache del chip (si libera così parecchia banda dal frame buffer). Altri vantaggi che reputo molto interessanti sono la capacità di operare senza tenere uno z-buffer nel frame buffer e l'ottimizzazione degli accessi alla RAM video (essendo le tile sempre di dimensione fissa).
Gli svantaggi però sono abbastanza onerosi:
-) è richiesta parecchia potenza elaborativa da parte del chip grafico per creare la triangle list;
-) è richiesta una cache di notevoli dimensioni on-chip per effettuare il caching di tile sempre più grandi;
-) come conseguenza delle due indicazioni precedenti in genere i chip tile based soffrono parecchio nel salire di frequenza;
-) ci possono a volte essere problemi con le trasparenze (esempio: M3D, Neon250 e, in misura molto più limitata, Kyro).
Non so come e se PowerVR abbia risolto i problemi relativi alle scene dotate di un grande numero di poligoni. Proponendo oggi un'architettura unificata, presumo di si, ma in generale comunque è ovvio che la loro architettura è fatta per sistemi fillrate/pixelshader limited e non di certo per scene geometricamente molto complesse.
La dimensione delle tile è fissa (32x16 sul Kyro e Kyro II), quindi la cache non varia.
I problemi della trasparenze sono una cosa completamente a parte e slegata dall'architettura PowerVR: PCX1, PCX2 e Neon250 non supportavano letteralmente molte modalità di blending. Tutto qui. Il Kyro di problemi di blending non ha mai sofferto, anzi ha sempre sfoggiato ottimi risultati qualitativi grazie al calcolo interno sempre a 32 bit.

Quote:
Originariamente inviato da shodan
Detto questo, devo comunque riconoscere che un'architettura completamente tile based mi affascina molto, e sarei stato molto curioso di vedere cosa stava combinando Gigapixel prima dell'acquisizione da parte di 3dfx. Inoltre credo sarebbe stato davvero interessante vedere sul mercato un chip completamente tile based con potenza "grezza" paragonabile ai chip odierni: probabilmente sarebbe venuto fuori qualcosa di veramente valido.


Interessante... credevo che a usare questa tecnica fossero solo i motori di Doom3 (e derivati) e dei 3dmark2003-2005. Ci sono molto altri motori che fanno lo stesso?

Ciao.
In generale una prima passata per motori come quello di Doom 3, Fear (che usa sempre stencil shadows) o quello del 3DMark05, è necessaria perché quando si usano le stencil shadows o le shadow maps, l'implementazione classica prevede una prima passata di rendering per inizializzare lo zbuffer, dopodiché non ci si scrive più e si fanno solo confronti usando lo stencil buffer in un caso e le depth map nell'altro. Per gli altri a dirla tutta non lo so, ma ormai penso che fare questa prima passata sia sempre conveniente a meno che non si preveda di far girare scene con un basso livello di overdraw.

P.S: Scusate per l'offtopic.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline   Rispondi citando il messaggio o parte di esso