kvp#17
Mar mashol leirtam mi a physx baja. A legnagyobb gond, hogy a fizikai gyorsitas messze van a grafikai megjelenitestol. A messze itt nagy kesleltetest jelent, mivel minden kepkockahoz eloszor a cpu-nak el kell kuldenie az adatokat a ppu fele, kivarnia amig kiszamolja az uj adatokat, majd a cpu visszahozza es elkuldi a gpu fele.
Ezzel szemben a dx10 geometry shader-e pont erre (is) jo. Az elso lepesben a gpu kiszamolja az uj vertexeket (deformalodasok, ruhaanyagok, roncsolodas, reszecskek), majd kirajzolja oket, vegul kiszamolja a fizikat es vagy tovabbkuldi azokat a cpu fele (utkozesek) vagy visszairanyitja az elso lepes fele (reszecske effektek). Igy a cpu tenyleg csak a jateklogikat kezeli. Ennek primitiv 2d-s implementacioja volt a hardveres sprite utkozes kezelese a regi mikrogepeken. (pl. c64) Ez tunik a jo megoldasnak, es mindossze annyi kell, hogy a gpu kepes legyen uj vertexeket felvenni. Ezt a feature-t hivjak geometry shader-nek, es az osszes uj dx10-es jatek kepes lesz hasznalni, meghozza egyseges feluleten.
Az intel larrabee-jenek egyebkent szurkolok, mert ha bevalik akkor egy nagyon konnyen programozhato es barmire alkalmas altalanos cpu tombot kapunk. Ha eleg sok van beloluk, akkor az utolso dedikalt hardveres egyseget is ki lehet dobni a gepekbol. Ilyen volt a xerox parc alto gepe is, ahol a videokartya csak egy ramdac-bol allt es minden grafikat a cpu egyik szala szamolt hyperthreading-ben valtogatva a feladatokat.
Idezet a cpu leirasabol: (1972-bol!!!)
"The Alto's CPU was a very innovative microcoded processor which used microcode for most of the I/O functions rather than hardware. The microcode machine had 16 tasks, one of which executed the normal instruction set (which was rather like a Data General Nova), with the others used for the display, memory refresh, disk, network, and other I/O functions. As an example, the bit map display controller was little more than a 16-bit shift register; microcode was used to fetch display refresh data from main memory and put it in the shift register."