Títol: Anàlisi De Jocs Direct3d9 Mitjançant
Total Page:16
File Type:pdf, Size:1020Kb
Títol: Anàlisi de jocs Direct3D9 mitjançant estadístiques d'API i comptadors hardware Volum: 1/1 Alumne: Albert Murciego Rico Director/Ponent: Jordi Roca Monfort Agustín Fernández Jiménez Departament: Arquitectura de Computadors Data: 01/07/2010 DADES DEL PROJECTE Títol del Projecte: Anàlisi de jocs Direct3D9 mitjançant estadístiques d'API i comptadors hardware Nom de l'estudiant: Albert Murciego Rico Titulació: Enginyeria informàtica Crèdits: 37,5 Director/Ponent: Jordi Roca Monfort Agustín Fernández Jiménez Departament: Arquitectura de Computadors MEMBRES DEL TRIBUNAL (nom i signatura) President: Roger Espasa Sans Vocal: Maria Teresa Abad Soriano Secretari: Agustín Fernández Jiménez QUALIFICACIÓ Qualificació numèrica: Qualificació descriptiva: Data: Sumari 1 Introducció 8 1.1 Definició del projecte i objectius..................................................................................9 1.2 Planificació................................................................................................................10 1.3 Resum de continguts.................................................................................................11 2 Conceptes previs 13 2.1 Stack software 3D.....................................................................................................13 2.1.1 La capa ©middleware©: Els motors gràfics 3D......................................................14 2.1.2 Estructures de dades.........................................................................................17 2.1.3 Algorismes i efectes...........................................................................................19 2.2 La interfície gràfica 3D: L©API Direct3D 9.................................................................28 2.2.1 Les principals APIs gràfiques 3D......................................................................28 2.2.2 Direct3D 9.........................................................................................................29 2.3 El hardware d©acceleració 3D: Les GPUs.................................................................43 2.3.1 Què és una targeta gràfica 3D?........................................................................43 2.3.2 Algorismes de visualització 3D i rasterització...................................................44 2.3.3 Funció fixa i shaders.........................................................................................47 2.3.4 Parts d©una GPU...............................................................................................48 2.4 Comptadors hardware i eines d©anàlisi de rendiment d©una GPU............................50 2.4.1 Comptadors hardware.......................................................................................50 2.4.2 PIX....................................................................................................................52 2.4.3 NVIDIA PerfHUD...............................................................................................54 2.4.4 GPU PerfStudio.................................................................................................55 2.5 El projecte ATTILA: Un simulador d©una GPU..........................................................56 2.5.1 L©arquitectura d©ATTILA.....................................................................................56 2.5.2 El simulador......................................................................................................58 2.5.3 L©emulador........................................................................................................59 2.5.4 El driver d©ATTILA.............................................................................................59 2.5.5 El player (reproductor de traces).......................................................................59 2.5.6 D3DPlayer4windows.........................................................................................59 3 Mòdul d©estadístiques 61 3.1 Algorismes multipassada i render blocks..................................................................61 3.1.1 Render blocks....................................................................................................62 5 3.2 Característiques........................................................................................................63 3.2.1 Extracció de dades............................................................................................63 3.2.2 Grafs de dependències de render blocks.........................................................64 3.2.3 Diferencia amb altres eines...............................................................................65 3.3 Disseny.....................................................................................................................66 3.3.1 D3D9Stats.........................................................................................................66 3.3.2 D3D9TraceStats................................................................................................67 3.3.3 D3D9FrameStats...............................................................................................67 3.3.4 D3D9RBlockStats.............................................................................................68 3.3.5 D3D9BatchStats................................................................................................68 3.3.6 D3D9StatsCollector...........................................................................................68 3.3.7 D3D9ShaderStats.............................................................................................69 3.3.8 D3D9TextureStats.............................................................................................69 3.3.9 D3D9RenderTargetStats...................................................................................69 3.3.10 D3D9State.......................................................................................................69 3.4 Implementació...........................................................................................................70 3.4.1 Reproductor de traces.......................................................................................70 3.4.2 Recollida de dades de l©API..............................................................................71 3.4.3 API de comptadors hardware............................................................................71 3.4.4 Queries..............................................................................................................71 4 Resultats obtinguts i anàlisi 73 4.1 Jocs analitzats...........................................................................................................73 4.1.1 Criteris de selecció.............................................................................................73 4.2 Dades obtingudes.....................................................................................................78 4.2.1 D©API..................................................................................................................78 4.2.2 De comptadors hardware..................................................................................80 4.2.3 De queries.........................................................................................................81 4.2.4 Calculades combinant les anteriors..................................................................81 4.3 Anàlisi........................................................................................................................81 4.3.1 Per traça............................................................................................................82 4.3.2 Per frame..........................................................................................................92 4.3.3 Per render block................................................................................................92 5 Visor web d©estadístiques 93 5.1 Interfície.....................................................................................................................94 6 5.2 Disseny e implementació..........................................................................................95 5.2.1 Client.................................................................................................................95 5.2.2 Servidor.............................................................................................................97 6 Valoració del projecte 98 6.1 Cost temporal............................................................................................................98 6.2 Cost econòmic..........................................................................................................99 7 Conclusions 100 8 Bibliografia 101 Apèndix: Índexs de figures 102 7 1 Introducció En la actualitat, el mercat del software d©entreteniment és un dels que mou més diners de tot el món de la informàtica. Durant l©any 2008, el volum de ventes d©aquest sector, només als Estats Units, va ser de més de deu mil milions de dòlars. Degut als interessos econòmics, fan que la evolució tecnològica del sector sigui molt ràpida. Aquesta evolució, ha fet que l©aspecte gràfic de les aplicacions també hagi canviat molt, fins arribar a assolir nivells de realisme molt elevats. La evolució també s©ha portat en el terreny del hardware. Les noves targetes gràfiques, imprescindibles per a moure els jocs més actuals, han passat a ser una de les parts més importants del hardware d©un ordinador. I també