Unity-ben a sebesség specifikus részeket megéri C++ programnyelven írni?
A játéklogika van hogy rengeteg adattal dolgozik, és azt akartam hogy gyorsabb legyen az adatok feldolgozása.
De ezek szerint hülyeség ezzel kinlódni.
Szerinted milyen nyelven írják a fordítókat, motrokat, stb.?
Ha igazán gyors dolgokat akarsz, akkor ne olyan dolgokkal foglalkozz, amik egymásra épülve lassítják egymást, esetleg kezdj el foglalkozni a GPU (CUDA) programozással. Ezzel ugyanis párhuzamosan tudsz elvégezni műveleteket egy hatalmas adatmennyiségen, persze ennek is megvannak a feltételei, mint mindennek.
4) Nem attól lesz gyorsabb, hogy ki vannak szervezve, hanem attól, hogy elméletileg a C++ gyorsabb mint a C#
3) És tegyük fel, hogy a játék logika egy szerveren fut, amibe nincsen gpu. Vagy ha van akkor az is mint pick téliszalámi mellett a tesco-s májas.
Igen, gyorsabb lehet a C++-ban (vagy C, vagy Rust) jol megirt kod a C#-hoz kepest.
Nehez ennyi informacio alapjan eldonteni, hogy van-e ertelme. Elemezned es tesztelned kell a jatekod futasat, es eldonteni, hogy mennyit nyers a kod optimalizalasaval.
Pl, mennyit nyerek? Ha a kulso dll 50%-al gyorsabb, akkor nem mindegy, hogy az adott kodresz 0.5ms vagy 15ms alatt fut le, ha 60 fps-t celzol meg.
Pl, mennyi idobe telik atirni a meglevo kodot? Ha tul sok, es alig nyersz vele valamit, akkor hatekonyabban is elkotheted az idodet.
Pl, hiaba fut gyorsabban a kulso dll-ben a kodod, ha a marshallinggal tobb idot vesztesz, mint amit nyersz a gyorsabb koddal.
Es igy tovabb. Benchmarkolj, benchmarkolj es benchmarkolj, majd talald meg azokat a reszeket amik tenylegesen lassitjak a programod es azokra koncentralj.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!