Citat:
MajorFatal:
Citat:
Ivan Dimkovic:
Danas je 4096x4096 nista za teksture. Moderne graficke kartice podrzavaju mnogo vece teksture. Ako neki program ima 4000x4000 limit to je iz nekih sasvim drugih razloga, mozda istorijskih
Možda, ali ako su više od dva programa u pitanju uključujući i fotošop i irfanview možda nisu istorijski razlozi nego zdravorazumski, znaš kako u igricama kod 60 fps se zaustave jer iznad toga ljudsko oko više ne može da primeti razliku, slično 4000x4000 je već tolika rezolucija da je dovoljno dobra za bilo kakve potrebe od postera do bilborda veličine zgrade, za većinu današnjih monitora 1024x768 je mislim savršeno dobro i slično za televizore, a fps 25 i 30, u bioskopu da li beše još manje tipa 12fps, a da smanjiš sa 4000 na 1024 to ti je 16 puta kraće vreme za render.
Prvo, velicina teksture uopste ne utice na vreme rendera (tekstura se koristi samo za skladistenje voltaza a semplovanje teksture na bilo kom GPU-u iz proteklih 10+ godina je prakticno dzabe, cak dobijes i interpolaciju za dzabe :-) Ti ni u jednom momentu >ne vidis< ovde tu teksturu zato sto ona ne sadrzi podatke koji se renderuju.
Takodje, oko velicine (iako ovde to nema veze, kao sto rekoh), ti teksturi od 4000x4000 mozes u simulaciji gde se slobodno setas (recimo igrica) da se priblizis tako da je jedan piksel na teksturi mnogo veci na renderovanom poligonu, zar ne? :-) Naravno, za to postoje i dodatna resenja (visestruki nivoi detalja tj. MIP-mape) ali, u svakom slucaju, fakat da danasnja gejmerska NVIDIA prihvata 32768x32768 teksture dovoljno govori o tome kakve su potrebe igracke industrije, a profesionalna rendering industrija je obicno jos mnogo zahtevnija (zato sad imas ove nove QUADRO graficke sa po 48 GB VRAM-a).
Veruj mi, 4000x4000 kao tekstura je nista za danasnje GPU-ove. Ali bukvalno nista.
Druga stvar, kao sto Shadowed rece, cesto se kombinuje dosta asset-a u jednu teksturu kako bi se izbegli visestruki transferi na GPU. Svaki transfer iz sistemske memorije na GPU zahteva setanje iz userspace-a u kernel mod, stavljanje komandi u GPU komandni baferi, na kraju, izvrsavanje DMA operacije koja ce da povuce memoriju iz sistemskog u video RAM. Bolje to da uradis jednom (posto za svaku ovakvu operaciju gubis milisekunde), recimo na pocetku igrice, nego da to cepkas na mnogo malih operacija.
Sve u svemu, 4096x4096 za teksture je inkonsekventno.
Trece, velicina te teksture je potpuno nebitna za vreme rendera posto svi moderni GPU-ovi imaju hardverske teksturne jedinice, obicno mnogo njih (bar 8 komada vec N godina).
U ovom konkretnom slucaju je problem
geometrija, zato sto se renderuje svaka sinapsa a njih ima puno i ne mogu da stanu u VRAM pa kartica mora za svaki frejm da "swapuje" 7 puta vecu kolicinu podataka od kompletnog VRAM-a.
Citat:
Ne znam čemu služi ta vizuelizacija, ali pretpostavljam da kako god da je uradiš svejedno nećemo moći da okom vidimo svih 16 miliona veza, sinapsi čega god?
Worst case.
I ako zumiras, nece se ni renderovati 4 milijarde sinapsi vec samo one koje se vide (doduse, shader pipeline ce i dalje morati da odbaci one koje se ne vide, sto nije skupo ali je problem sto ukupan broj prelazi kolicinu video memorije pa bi early-rejection morao da se radi na CPU strani)
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey