Guida 3d-analyze 2.16a

Aperto da re-voodoo, 10 Febbraio 2003, 21:03:24

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

re-voodoo

Ecco prima di iniziare come si mostra 3d-analyzer, devo dire inoltre che la mia è la versione 2.16a, l'ultima:



Iniziamo pian piano con la spiegazione di questo programma che può emulare varie opzioni che la serie voodoo non ha hardware o non è compatibile come per esempio: il pixel shader, le directx 8.1 e le 9.0. Una volta aperto 3d-analyzer vedrete sulla colonna sinistra intitolata "File Selection" 4 punti: il primo è "EXE", e qui dobbiamo andare a ricercare sul nostro hard disk il file exe del gioco, per esempio: gta3.exe, insomma per capirci meglio il file che fà partire il vostro gioco.

Il punto due Il punto due serve a scegliere il path dove il 3D-analyze installerà la cosiddetta dll di hook, ovvero la dll delle directx che viene modificata dal 3DA (e viene utilizzata al posto dell'otriginale) per far si che vengano applicate le impostazioni scelte. Se non si sceglie nulla, il path sarà quello dell'eseguibile.

Il punto tre si utilizza se esegui il game attraverso un altro applicativo. Mi spiego: gamespy ad esempio è un programma che si usa per giocare on line: cerca i server su cui gira un certo game e li lista. Cliccando sul nome di uno dei server trovati si avvia il gioco (in modalità multiplayer)...Questo è un esempio in cui si utilizza un "PRE-EXE" prima del"EXE" del game vero e proprio.

Il punto quattro serve per far partire il gioco, comunque bisogna settare il menù centrale e quello di destra che andrò subito a spiegare.

Partendo dal centro troviamo un menù uno intitolato "Directx 8.1 and 9.0 Options".
Esso "Directx 8.1 and 9.0 Options",si divide in cinque sottomenù (vi ricordo che ho preso la versione ultima di 3d-analyzer 2.0, nelle versioni precedenti cambia un po' le impostazioni e la disposizione):
- il primo è "Performance" che vuol significare prestazioni,
- il secondo è "Hardware Limits (cap bits)" che vuol dire limite hardware (coprire pezzetti) e sono le varie impostazioni che vengono emulate perché l'hardware cioè scheda video "Voodoo, Kiro" non lo possono eseguire via hardware e così vengono emulate,
- il terzo si chiama "Hardware Limits (features)" e vuol dire sempre limite hardware (caratteristiche) e queste sono varie opzioni per far partire o rendere più compatibili alcuni giochi.
- il quarto si chiama "Game Fixes" e riguarda solo alcuni giochi, esso serve solo per migliorare i giochi che sono citati nell'opzioni.
- il quinto "Pixel and Vertex Shader" e riguarda i nuovi codici delle schede Ati e Nvidia e serve appunto per appicarle alle schede Voodoo o Kiro.

Prendiamo in considerazione "Performance" che si divide in tredici opzioni attivabili:

- Disable Textures: disabilita il rendering delle textures, ovvero delle bitmap con cui vengono ricoperti i poligoni.

- Disabile Rendering: esegue solo il transform and lightning (ovvero la proiezione in 2D dello spazio 3D del gioco, e l'illuminazione dello stesso), e disabilita il page-flipping, ovvero lo scambio back-buffer->front buffer. Il back buffer, nel caso si utilizzi il double buffering, è la porzione di memoria video in cui viene costruita l'immagine 2D nella fase di rendering. Una volta completata, viene copiata nel front-buffer, dove viene tradotta in analogico dal ramdac della scheda video oppure lasciata in digitale e inviata al monitor nel caso di uscira DVI o simile.

- Force SW TnL: forza l'uso del T&L software qualora aveste una scheda che lo supporta in hardware.

- Disable State Switches: da utilizzare solo se abilitato il disable rendering.

- Performance Logging: registra sui file PerfLog_DX.csv (DirectX) o PerfLog_GL.cs(OpenGL)i dati sulle prestazioni del gioco come frame al secondo, poligoni al secondo, numero medio di poligoni per scena e altri. da ricordare che genera file piuttosto grandi, sebbene posano essere compressi parecchio, inoltre è bene disabilitare il frame counter se lo si utilizza per evitare decadimenti delle prestazioni.

- Counters: visualizza: FPS, poligoni per frame, poligoni al secondo, e utilizzo della ram video (solo in directx).

- Force Small Texture (32x32): forza la dimensione delle textures a 32x32 texel (texel=TEXture ELement, ovvero un pixel della bitmap che costituisce la texture).

- Force 16 bit Zbuffer (without stencil): forza l'uso dello z-buffer a 16 bit.Lo z-buffer contiene le informazioni sulla posizione 3D dei pixel di una scena, cosa che fa si che nella fase di rendering (ovvero della costruzione vera e propria dell'immagine 2D nel back-buffer) non vengano visualizzati quelli generati da poligoni coperti o troppo lontani. La sua grandezza indica la risoluzione dell'asse z, ovvero con un buffer da 16 bit ogni oggetto potrà avere 65536 livelli di 'profondità' rispetto alla scena, contro i 16 milioni e passa di un buffer a 32 bit, che quindi dovrebbe garantire una migliore precisione. Spesso comunque ne basta uno a 16, e forzarne l'uso a quella profondità fa risparmiare preziosa bandwidth, o rende più compatibile un gioco che fa uso dello z-buffer a 32 bit su schede che non lo supportano (come ad esempio la voodoo3).

- Force 16 bit Zbuffer (with stencil): forza lo z-buffer a 15 bit e lo stencil a 1 bit (non funziona su tutte le schede o applicazioni).
Lo stencil buffer è una sorta di 'blocco note' della scheda grafica, nel quale può annotare dei flag corrispondenti a un dato pixel, attribuendogli degli effetti quali una trasparenza prima di effettuarne il rendering.

- Force Zbuffer: forza l'utilizzo dello z-buffer che sfrutta la maggior parte della propria precisione per gli oggetti vicini lasciando pochi valori a quelli in lontananza.

- Force Wbuffer: Il w-buffer (che ha una sola modalità a 32bit), come lo z-buffer serve a mantenere informazioni sulla posizione 3d di un dato punto, ma lo fa in modo uniforme in tutta la scena 3D.

- Disable Lighting: Disabilita la lighting pipeline delle directx.

- Disable two sided stencil: Abilita la vecchia modalità test stencil in due passate delle directx8.

Prendiamo poi "Hardware Limits (cap bits)" che si divide in cinque opzioni attivabili:

Questa sezione del 3Danalyzer serve a sopperire alla mancanza di funzioni da parte dal Voodoo3 o altri chip un pò datati.

- Emulate HW TnL caps: Attiva l'emulazione delle funzionalità TnL con le directx 8.0 e 8.1 (non viene riconosciuta dalle versioni precedenti).

- Emulate Other DX8.1 caps: A quanto ho capito, il driver che lo sia o no verrà riconosciuto compatibile dalle directx8, questo tra l'altro attiva le funzionalità avanzate di emulazione delle directx 8.1.
Le funzionalità avanzate di pixel shader delle directx8.1 non sono ancora state implementate, e un'applicazione che ne fa uso potrebbe andare in crash.

- Emulate Pixel Shaders caps: Riporta al programma la presenza delle funzionalità directx8 di vertex e pixel shader su schede che non li supportano. Le superfici che utilizzano il pixel shader verranno renderizzate più velocemente ma con meno dettagli, in quanto l'effetto non viene emulato.

- Emulate Bump Map caps: Se attivato, riporta la presenza delle funzionalità di BumpMapping e Environment BumpMapping all'applicazione. Le superfici che utilizzano questi effetti non verranno però visualizzate, causando talvolta artefatti grafici, o comunque superfici poco dettagliate o non texturizzate.

- Emulate Max. Sim. Textures: Permette di utilizzare applicazioni che utilizzano il multitexturing a 4 livelli in single-pass, di cui solo due verranno visualizzati, in quanto richiede la presenza di 4 unità texel, insomma un solo colpo (di clock della gpu) e poi le invia al frame buffer (porzione della memoria della scheda video da cui i dati vengono presi per essere inviati al monitor e visualizzati). Il vantaggio? è meglio inviare 4 dati in un colpo solo che in 2 colpi...il gioco è più veloce a parità di frequenza della gpu e si risparmia banda. texture= "pezzi di immagine" ;) struttura poligonale = struttura geometrica che costituisce le fondamenta dell'immagine.
Questo può comportare un calo di dettaglio delle textures, oggetti non texturizzati o la mancanza di effetti di luce.

Prendiamo poi "Hardware Limits (features) che si divide in quattro opzioni:

- Emulate Cube Maps: Attiva l'emulazione del cube mapping, ovvero la simulazione della rifrazione di un ambiente in un oggetto lucido. Viene effettuata realizzando una mappa dell'ambiente in un cubo, che viene poi riflessa nell'oggetto (che si trova virtualmente in mezzo al cubo). L'effetto, essendo la mappa precalcolata è indipendente dalla distanza dell'osservatore.

- Emulate DXT textures: DXT è un algoritmo di compressione delle textures. Quando un gioco ne fa uso su una scheda che non lo supporta (vedi le voodoo), la texture viene comunque visualizzata, ma senza compressione.

- KYRO Zbuffer/Stencil fix: risolve eventuali problemi di flickering (sfarfallìo) in full screen con schede Voodoo3/4/5.

- Voodoo Flicker fix:risolve eventuali problemi di compatibilità del chipset kyro, che supporta una sola combinazione di Z-Buffer+Sencil-Buffer.

Prendiamo poi "Game Fixes" che si divide in cinque opzioni:

- NOLF2 Texture/ib fix

- Gun Metal Demo fix

- Mafia Shadow fix

- LOTR Texture fix

- Matrox Reef Demo fix

Poi prendiamo "Pixel and Vertex Shader" che si divide in sette opzioni:

- Force max. Pixel Shader version 1.1 : Forza le schede che lo supportano a utilizzare la versione 1.1 del pixel shader.

- Force max. Pixel Shader version 1.4 : Forza le schede che lo supportano a utilizzare la versione 1.4 del pixel shader.

- Skip Pixel Shader version 1.1 : Ignora il pixel shader 1.1

- Skip Pixel Shader version 1.4: Ignora il pixel shader 1.4

- Skip Pixel Shader version 2.0: Ignora il pixel shader 2.0

- Force Low Precision Pixel Shader: Utilizza una minore precisione per il pixel shader dal 2.0 in poi.

- Save Shader to file (Shaders.out): Scrive il codice di vertex e pixel shader su un file (shaders.out).

Ed a destra un menù intitolato "OpenGl Options" c'è solo un sottomenù chiamato "Performance", prestazioni e si divide i sei opzioni attivabili:

- Performance Logging: registra sui file PerfLog_DX.csv (DirectX) o PerfLog_GL.csv (OpenGL) i dati sulle prestazioni del gioco come frame al secondo, poligoni al secondo, numero medio di poligoni per scena e altri. da ricordare che genera file piuttosto grandi, sebbene posano essere compressi parecchio, inoltre è bene disabilitare il frame counter se lo si utilizza per evitare decadimenti delle prestazioni.

- Counters: visualizza: FPS, poligoni per frame, poligoni al secondo, e utilizzo della ram video (solo in directx).

- Force Small Texture (32x32): forza la dimensione delle textures a 32x32 texel (texel= TEXture ELement, ovvero un pixel della bitmap che costituisce la texture).

- Disable Textures: disabilita il rendering delle textures, ovvero delle bitmap con cui vengono ricoperti i poligoni.

- Disable Rendering: esegue solo il transform and lightning (ovvero la proiezione in 2D dello spazio 3D del gioco, e l'illuminazione dello stesso), e disabilita il page-flipping, ovvero lo scambio back-buffer->front buffer. Il back buffer, nel caso si utilizzi il double buffering, è la porzione di memoria video in cui viene costruita l'immagine 2D nella fase di rendering. Una volta completata, viene copiata nel front-buffer, dove viene tradotta in analogico dal ramdac della scheda video oppure lasciata in digitale e inviata al monitor nel caso di uscira DVI o simile.

- Disabile State Switches: da utilizzare solo se abilitato il disable rendering

Arrivando all'ultimo menù che si trova in basso e si chiama "Misc" che si divide in un sottomenù chiamato "Remove Stuttering".

Il menù "Misc" si divide in cinque opzioni attivabili:

- Force Wireframe Mode: Visualizza i contorni dei poligoni.

- Force Hook dll: Modifica l'eseguibile del gioco e la relativa dll, creandone una copia di backup nella directory 3DA_BACKUP. Da utilizzare se l'applicazione sembra non fare uso del 3DAnalyzer (si può vedere con sicurezza abilitando i contatori - vedere nella sezione PERFORMANCE)

- Countdown for disable/disable state switches in seconds: Fissa un conto alla rovescia per l'attivazione delle suddette opzioni (descritte sulla sezione PERFORMANCE)

- Debug Logging (log. out): Se un gioco va in crash, è possibile rilanciarlo con quest'opzione abilitata, per poi spedire via email (possibilmente compresso) il file
log.out generato a thomas@tommti-systems.com, ovvero l'autore del 3DAnalyzer.
 
- Force 100 hz: Forza la frequenza di aggiornamento dello schermo a 100Hz (solo nelle directx). Meglio assicurarsi che lo schermo la regga...

Mentre l'altro menù "Remove Stuttering" si divide in tre opzioni:

Questa sezione di 3D-analyzer serve per caratterizzare l'effetto del comportamento di un game che, a causa di un'errata configurazione software/hardware o per limiti intrinsechi all'hw utilizzato, viene eseguito con scarsa fluidità (scatti più o meno frequenti).
3D-Analyze tenta di limitare il fenomeno salvaguardando:

- Quality Mode: la qualità visiva

- Performance Mode: la velocità

- Force reference rast. (SLOW!!!): Usa il software rendering della microsoft (lentissimo, solo per scopi puramente di testing).

Per fare tutto questo ho avuto bisogno di alcuni collaboratori:ToxicWaltz, Glide. Ed è anche grazie a loro se sono riuscito in questo intento, grazie infinite!!
re-voodoo