Hmmm...mit is értünk optimalizálatlan textúrán? Hogyan lehet optimalizálni egy adathalmazt? Mondjuk kicserélünk pár pixelt zöldről pirosra? Esetleg a tömörítési algoritmus legyen más (elárulom, tök mindegy melyiket használjuk mindegyiknek van előnye és hátránya kb. ugyanolyan arányban ide-oda)?
Okszi, az rendben van, ha egy textúra nem illeszkedik a surface-re, akkor alaposan kitolhatunk az engine-el. De ez nem áll a 7dtd esetében. Legalábbis nem láttam még ilyet, de a Unity eleve jó ebben, játszi könnyedséggel jelenít meg akár 0 pixel vastag elemeket is. Viszont amivel nagyon tud küzdeni azok a mindenféle effektek. Egy átláthatóságot teljesen másképp kell kezelni az új motorokban mint a régebbiekben. És ez kábé majd az összes funkcióra vonatkozik. A poligonok kezelése viszonylag könnyű, abban eléggé erős, nem véletlenül használják az ilyen típusú játékoknál (no+ a VS-ba integráltsága miatt).
Mondjuk akkor optimalizálhatnánk a renderelést? Ja miért is ne, végülis azzal csak egyetlen aprócska probléma van. Egyetlen géptípusra lehet csak megcsinálni. Kiszámoljuk melyik mag mit fog csinálni, mennyi memóriát adunk neki a feladatra, stb. De ha kiveszel 1 magot, vagy 1GB ramot, akkor rögtön borul a bili. Jó akkor csináljuk meg a minimum konfigra. Úgy már rögtön jó is lesz (a gép korlátait figyelembe véve), de itt is lesz egy pici bibi. Felesleges lesz erősebb gép hozzá, mert úgysem használja ki. Lehet, hogy lesz 200fps-ed, de ugyanúgy fog laggolni mint 25fps-nél. Azért mert, a háttérerőforrások felhasználása vátozatlan marad. Ilyen például a mit olvassunk be mikor probléma, vagy éppen mikor mit tartsunk a cache-ben, memóriaszivárgás (mert ez mindig is lesz). Na pont ez a baj amikor körbefordulsz. Hirtelen olyan mennyiségű adatot kellene kezelni, amit a géped képtelen megoldani. Az enyém elég jól megoldja, nem igazán szaggat be, valszeg ahhoz közeli környezethez optimalizálták. Ebben a problémában benne van a gép szinte összes eleme a háttértártól a graf.kártyáig. Egyébként ez a fajta mozgás szinte mindenhol problémás, de a 7dtd-nél a rengeteg textúra miatt (blokkos felépítés) hatványozott. Ahol egy házfal egyetlen textúra, ott is van probléma mert igaz, hogy csak 1 kép, de nagy a mérete, sokkal többet kell számolni mire kijön a megfelelő 3d-s kép. A blokkos házfal sok kisméretű elemből áll, amit egyesével kell számolni, de általában ugyanaz a textúrájuk, tehát röhögve megvan cache-ből. Mind a kétféle megjelenésnek van előnye-hátránya. Ha nem SSD-t használsz hanem HDD-t, akkor még a beolvasást is lassítod, ami ugye a lag legcsókosabb haverja.
Ezért nem is ezt kell nézni (mármint a forgást). Helyette inkább pl. tegyünk be a Forge-ba egy rakat fát. De nem ám Shift-el átlőve, hanem egérrel szépen áthúzva. Ha nem marad el a mozgás és az iterakciók is időben történnek akkor okés. De ha nem, akkor bizony gond van. És ilyenkor már eszünkbe sem jut textúráról beszélni, mert inkább az a probléma, hogy valami a háttérben nagyon megfogja a kódvégrehajtást. Ha megnézzük a graf.kártyát láthatjuk, hogy messze nincs 100%-on (a gépemben a ventije szinte alapjáraton van), tehát 1000%, hogy nem az fogja meg. Így hát marad valamelyik háttérfolyamat (van belőle bőven), ami a háttérszimuláció része. Úgyhogy "textúra optimalizálás" helyett inkább a kódban kell keresni a bibit.
És hát van az az eset amikor maga a graf.motor energiája merül ki, Unity-nél ezek a különböző effektek számolása. Ezért van, hogy napkeltekor, napnyugtakor szinte megdöglik a gép. De ez meg alapvetően a motor problémája, valószínűleg mégcsak nem is optimalizálás, hanem másképpen kellene megoldani pár dolgot. Vagy nem használjuk ezeket az effekteket.
A textúrákkal amit játszhatunk, az a méretük. Mind a fájl mind a felbontás. Ha UHD-s képeket szeretnénk, akkor azért muszáj fps-t és hatalmas memóriaterületeket beáldozni. Itt már szóba sem jöhet a tömörítés, elvégre mi értelme van a hatalmas felbontásnak, ha pl. dxt5-el összemaszatoljuk? Ha ilyet csinálnék talán te lennél az első aki a szememre veti (jogosan), hogy "dehát teljesen elmosódott a zombi pofája". És igazából ez a textúra optimalizálás. El kell tudni dönteni melyek azok a képek amiknek tűélesnek kell lenniük, és melyek azok amik pontatlanok is lehetnek. De ha ennek fényében megnézed a 7dtd-t láthatod, hogy messze nem ez a gond.