Kezdőoldal » Számítástechnika » Programozás » Java-val lehet olyan minőségű...

Java-val lehet olyan minőségű játékokat csinálni, mint C++ és C#-al?

Figyelt kérdés

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 :)



2014. júl. 28. 16:42
1 2
 1/11 iostream ***** válasza:
65%
Hát az a poligonszám sosem lesz meg, de ha minőség alatt nem a csúcsgrafikát érted, akkor természetesen lehet.
2014. júl. 28. 17:10
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
56%
Java-ban soha nem fogsz olyan jó teljesítményű játékokat írni x86 utasításkészlettel rendelkező proceszorra, mint C++ban.
2014. júl. 28. 19:34
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
Java-ból lehet natív C kódot hívni. Szóval elvileg nem lehetetlen, ugyanazokat az opengl hívásokat meghívni. A minecraft is ezt csinálja. A probléma az adatok átadásánál az átalakítás, mert Java-ban a tömb objektum mérettel meg minden, C-ben meg nincs ilyesmi. Ja meg a program logikája túl sok számítást igényelhet ami Java-ban lassú, a virtuális gép utasításkészlete miatt.
2014. júl. 28. 22:22
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
szóval egy komolyabb játéknál már összefosná magát a java? Mert a minecraft nem egy nagy eresztés grafikailag meg nem hinném hogy sok számítást kell csinálni a procinak, mint mondjuk egy AAA-s játék, Battlefield pl.
2014. júl. 28. 22:33
 5/11 anonim ***** válasza:
Ne ragaszkodj a programozási nyelvekhez. Mindegyik másra jó, más nézetrendszerrel.
2014. júl. 29. 14:39
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
a Java akkor mire jó főleg? Ha a C++, C# játékokhoz, Assembly az apró kütyükhöz, mint pl a távirányító vagy bios.
2014. júl. 29. 15:28
 7/11 anonim ***** válasza:

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.

2014. júl. 29. 17:31
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
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. Ezért nem hatékony x86 alapú rendszereken.
2014. júl. 29. 19:27
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

"mindent full memóriaterület másolással csinál"


mivan?

2014. júl. 29. 20:38
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

"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.

2014. júl. 29. 20:44
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!