Java-val lehet olyan minőségű játékokat csinálni, mint C++ és C#-al?
Nem kell nagyon feszegetni a témát, csak arra lennék kíváncsi, hogy a Java mennyire jó videó játékokra, tekintve a nagy géperőforrás igényét, pl a Minecraft se fut el a régi gépeken annak ellenére, hogy...
Persze tudom, hogy ez mellé még OpenGL-t meg 3dsMax-ot sem ártana tudni, de mindent csak szép sorjában :)
A java leginkább a platformfüggetlen és hálózati megoldásokban erős. A köztes kód, a memória menedzselés és a mindenféle figyelő funkciók miatt lassú. Értelem szerűen ezek nélkül sokkal hatékonyabb futásidejű kódokat lehet írni más nyelvekben.
Ha platform függetlenség kell viszont mellette jó grafikát is akarsz, akkor érdemes tanulmányoznod a Unity engine világát. Elvileg van saját C# értelmezője és szinte minden nagyobb platformra tud fordítani. C#-ban meg elég könnyen és gyorsan lehet fejleszteni.
"mindent full memóriaterület másolással csinál"
mivan?
"A Java legnagyobb gyengesége, hogy mindent full memóriaterület másolással csinál ahelyett, hogy indirekten címezné azt, még a legkisebb operátoroknál is."
Elmagyaráznád miről beszélsz? Én a bytecode formátumát is ismerem, de nem értem. Ugyanúgy referencia másolást csinál objektum vagy tömb átadásánál, ha direkt másolást akarsz clone-t kell hívnod.
Amit tényleg tönkrevágja a teljesítményt az a virtuális gép utasításainak a kialakítása. Megszámlálhatod ha írsz egy összeadó függvény Java-ban, hogy egy egyszerű összeadás is 3-4-szor annyi utasítás a virtuális gépnek, mint c-ben a natív kódban. Ja és a virtuális gép utasításai lassabbak is.
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!