1. Foren
  2. Kommentare
  3. Games
  4. Alle Kommentare zum Artikel
  5. › Drakensang Online: Wie Diablo 3 - aber…

Java und 3D

Expertentalk zu DDR5-Arbeitsspeicher am 7.7.2020 Am 7. Juli 2020 von 15:30 bis 17:00 Uhr wird Hardware-Redakteur Marc Sauter eure Fragen zu DDR5 beantworten.
  1. Thema

Neues Thema Ansicht wechseln


  1. Java und 3D

    Autor: otto123 29.11.10 - 13:31

    Ein neuer versuch den Ruf von Java zu verbessern:

    "Dass im Browser eine echte 3D-Engine und nicht "nur" Java läuft, ist stets deutlich zu sehen:"
    Natürlich ist es möglich in Java "echte" 3D spiele zu programmieren. Dafür gibt es mit LWGL und JOGL zwei OpenGL bindings, die den zugriff auf OpenGL ermöglichen. Es gibt auch fertige 3D Engine wie Jmonkey oder ardor3d.

    Der Perforamnce verlust durch java gegenüber c++ ist in etwa 5% bis 10%. (bedingt zu die zustzlichen jni calls in java).
    Meiner Meining nach wird das durch die besseren Biblitheken und IDEs im Vergleich zu c++ für Java wieder ausgeglichen.
    Für die meisten Programmierer wird der Flaschenhals sowieso der nicht optimale Umgang mit OpenGL sein.(immediate mode )

    Es ist auch möglich java applets in 3D zu erstellen oder ein Java programm mit einem klick aus dem Browser herraus zu starten(webstart).

  2. Re: Java und 3D

    Autor: L_tD 29.11.10 - 14:33

    Endlich mal einer der sich mit Java auskennt. Top!
    Nicht immer dieses ewig geflame von wegen "Java = lahm".

    Danke!

  3. Re: Java und 3D

    Autor: blubbiwolli 29.11.10 - 14:39

    Aha, und woher kannst du beurteilen, dass seine Aussagen stimmen?
    Meine Benchmarks sprechen da eine ganz andere Sprache. Leider ist bei Java nun mal JNI das langsamste, was man nutzen kann, und vor allem wenn man Arrays übertragen will, wirds kriminell (anderer interner Aufbau der Arrays usw.).
    Selbst wenn ich ein Minimalprojekt aufsetze, was lediglich ein Fenster öffnet und den OpenGL Device öffnet und initialisert und ich dann einfach nur leer ein schwarzes Bild rendere, sind die Frameraten von JoGL unter aller Sau, zumindest im Vergleich zu einem nativen C++ Client.
    Ob die Frameraten absolut gesehen noch vertretbar sind, ist eine andere Sache (für mich persönlich nicht), aber da kann man ja mit Hardware gegen skalieren, so wird das ja auch in der Java-Welt gerne gemacht. Man man man ...

  4. Re: Java und 3D

    Autor: konsolero 29.11.10 - 14:44

    blubbiwolli schrieb:
    --------------------------------------------------------------------------------

    > Meine Benchmarks ...

    Hmmm...

    Aber man sieht ja an jME das es auch schnell läuft. ;)

  5. Re: Java und 3D

    Autor: blubbiwolli 29.11.10 - 14:52

    Nö, wieso? Du musst dann schon exakt das gleiche Programm, die gleiche Demo einmal in Java mit JoGL/LWJGL und einmal in C++ mit nativem OpenGL machen, sonst hast du ja keinen Vergleich. Dazu empfehle ich die Nehe-Tutorials unter http://nehe.gamedev.net. Mittlerweile sind da einige auch nach Java portiert.
    Wenn man exakt die gleichen Demos nimmt und natürlich nicht irgendeinen Müll in den C++ Code packt, dann hat man aber recht deutliche Ergebnisse, vor allem, wenn eben wie gesagt, viele JNI calls passieren, die auch noch im schlimmsten Fall Daten über Arrays übergeben.
    JoGL nutzt ja bei den entpsrechenden Funktionen immer die entsprechenden Bufferklassen, also wenn du eigentlich in der C++-Variante ein Array von Floats übergeben möchtest, nimmst du in JoGL einen FloatBuffer. Ich weiss leider nicht genau, wie die Daten intern dann übergeben werden, aber es scheint nicht sonderlich optimal zu sein, obwohl immer noch besser als mit einem normalen Float-Array (float[] array).

  6. Re: Java und 3D

    Autor: wuz 29.11.10 - 15:13

    Bessere IDE für Java...?!

  7. Re: Java und 3D

    Autor: Daniel Heinrich 29.11.10 - 16:11

    ja?

    benutzte selbst netbeans für java, und standart visual studio für c++/c#

    und netbeans ist einfach mal tausentmal komfortabler und besser zu bedienen als dieser microsoft dreck. Zudem gibts viel mehr features, plugisn usw.

    über xcode für object-c braucht man ja garnicht reden

  8. Re: Java und 3D

    Autor: wasdeeh 29.11.10 - 17:02

    wuz schrieb:
    --------------------------------------------------------------------------------
    > Bessere IDE für Java...?!

    Jepp. Lange Zeit war IntelliJ allem anderen (plattform- und sparchenübergreifend) meilenweit voraus, mittlerweile haben in der Java-Welt Eclipse/Netbeans schon ordentlich aufgeholt, VS2010 ist auch schon recht ok (wenn auch ohne Resharper & Co. noch immer hintennach).
    Dann kommt mal lange nix. Der aktuelle Qt Creator ist schon recht beeindruckend, leidet aber immer noch unter den C++-Sprach- aber auch -Toolchain-Einschränkungen.
    Ich hoffe sehr, daß da Apple diesbezgl. mit clang weiter ordentlich Gas gibt.
    Sie hätten die Chance, damit XCode wenigstens in die Nähe von Java/.NET-IDE-Niveau zu bringen, v.a. was die durch clang möglichen Sachen wie statische Codeanalyse, Refactoring etc. betrifft. (XCode 4?)

    (Ach ja, UI-Designer möcht ich von meiner Aussage ausklammern - das ist wieder ein anderes Paar Schuhe...:) )

  9. Re: Java und 3D

    Autor: LOLHEHE 29.11.10 - 17:14

    Ack. Intellij IDEA ist imo immernoch die beste IDE, vor allem die neue 10er Version!

  10. Re: Java und 3D

    Autor: GrinderFX 29.11.10 - 19:50

    Und hier hat deine Rechnung mehrere Fehler.
    Die Nehe Tutorials sind erstens richtig SCHLECHT, auch wenn das viele nicht wahrhaben wollen. Um es auf den Punkt zu bringen. Du vergleichst Technik von 1995(OpenGL mit C/C++) mit Technik von 2010 (OpenGL mit Java)!

    Um die Nehe glu Header und Libs zu kriegen, muss man schon im Museum nachkramen.
    Die sind schon aus allen neueren (seit ca. 8 Jahren) IDEs verbannt.
    Genauso ist der vergleich mit den Nehe Tutorials Scheiße. Bei den Tutorials werden höchstens 3 Objekte gezeichnet und da sind es womöglich 15% aber je mehr du Zeichnest, je höher wird auch der Unterschied. Also sind es keine reinen 15%.

    Außerdem greift Java, bei der Nutzung von OpenGL, bei der Ausführung, auf die OpenGL DLLs zu, welche nunmal in C geschrieben sind, sprich es wird C Code ausgeführt!

    Man kann versuches es schön zu reden wie man will, Java ist weit mehr langsamer und verbraucht auch weit mehr Speicher.

  11. Re: Java und 3D

    Autor: blubbiwolli 29.11.10 - 20:29

    GrinderFX schrieb:
    --------------------------------------------------------------------------------
    > Und hier hat deine Rechnung mehrere Fehler.
    > Die Nehe Tutorials sind erstens richtig SCHLECHT, auch wenn das viele nicht
    > wahrhaben wollen. Um es auf den Punkt zu bringen. Du vergleichst Technik
    > von 1995(OpenGL mit C/C++) mit Technik von 2010 (OpenGL mit Java)!

    Um ganz ehrlich zu sein wollte ich schon hier aufhören zu lesen. Oder hast du dich einfach nur schlecht ausgedrückt, meinst du etwas anderes? Denn du kannst nicht ernst meinen, dass wenn ich OpenGL nativ in C ausführe dies veraltet ist, aber sobald ich die gleichen Funktionen über einen Javawrapper ausführe dies plötzlich modern ist.

    Und die Nehe-Tutorials als grundsätzlich schlecht abzustempeln ist eine sehr sehr dumme Aussage. Die ersten Tutorials nutzen noch den ImmediateMode, ja das weiss ich. Da gehts um Grundlagen. Abgehakt. Aber später die VBO Tuts oder ähnliches sind schon recht repräsentativ.

    >
    > Um die Nehe glu Header und Libs zu kriegen, muss man schon im Museum
    > nachkramen.
    > Die sind schon aus allen neueren (seit ca. 8 Jahren) IDEs verbannt.

    Was hat denn nun glu damit zu tun? Ob ich das Fenster nun mit glu oder mit SDL aufmache ist für die Performanz ziemlich irrelevant. Und SDL ist ja auch schon wieder veraltet ...

    > Genauso ist der vergleich mit den Nehe Tutorials Scheiße. Bei den Tutorials
    > werden höchstens 3 Objekte gezeichnet und da sind es womöglich 15% aber je
    > mehr du Zeichnest, je höher wird auch der Unterschied. Also sind es keine
    > reinen 15%.
    >

    Nicht bei dem VBO Tutorial oder ein paar anderen, bei denen Modelle genutzt werden.

    > Außerdem greift Java, bei der Nutzung von OpenGL, bei der Ausführung, auf
    > die OpenGL DLLs zu, welche nunmal in C geschrieben sind, sprich es wird C
    > Code ausgeführt!
    >

    Äh ja ... das ist wohl klar, soll ich die Aussage jetzt mal mit deiner Aussage aus deinem ersten Abschnitt vergleichen? Ich weiss jetzt auch wirklich nicht, was du mir damit sagen willst. Alles was du mit Java aufrufst, ist C bzw. C++ Code.

    > Man kann versuches es schön zu reden wie man will, Java ist weit mehr
    > langsamer und verbraucht auch weit mehr Speicher.


    Äh ja, ich habe eigentlich nichts anderes angedeutet in meinem Posting. Mir geht das nämlich echt auf den Sack, wenn irgendwelche Klitschen meinen, nur weil Java für sie vielleicht bessere IDEs hat oder einfacher ist, 3D Spiele in Java machen zu müssen.

  12. Re: Java und 3D

    Autor: GrinderFX 29.11.10 - 21:05

    blubbiwolli schrieb:
    --------------------------------------------------------------------------------
    > Um ganz ehrlich zu sein wollte ich schon hier aufhören zu lesen. Oder hast
    > du dich einfach nur schlecht ausgedrückt, meinst du etwas anderes? Denn du
    > kannst nicht ernst meinen, dass wenn ich OpenGL nativ in C ausführe dies
    > veraltet ist, aber sobald ich die gleichen Funktionen über einen
    > Javawrapper ausführe dies plötzlich modern ist.

    Es ist nicht nur ein reiner Wrapper, da gehört mehr dazu!

    >
    > Und die Nehe-Tutorials als grundsätzlich schlecht abzustempeln ist eine
    > sehr sehr dumme Aussage. Die ersten Tutorials nutzen noch den
    > ImmediateMode, ja das weiss ich. Da gehts um Grundlagen. Abgehakt. Aber
    > später die VBO Tuts oder ähnliches sind schon recht repräsentativ.
    >

    > Was hat denn nun glu damit zu tun? Ob ich das Fenster nun mit glu oder mit
    > SDL aufmache ist für die Performanz ziemlich irrelevant. Und SDL ist ja
    > auch schon wieder veraltet ...

    Nehe nutzt glu und doch es macht einen sehr großen unterschied!!!
    Außerdem ist glu nicht nur zum Fenster aufmachen da, da gehört weeeeeeeeeeeit mehr dazu.

    >
    > > Genauso ist der vergleich mit den Nehe Tutorials Scheiße. Bei den
    > Tutorials
    > > werden höchstens 3 Objekte gezeichnet und da sind es womöglich 15% aber
    > je
    > > mehr du Zeichnest, je höher wird auch der Unterschied. Also sind es
    > keine
    > > reinen 15%.
    > >
    >
    > Nicht bei dem VBO Tutorial oder ein paar anderen, bei denen Modelle genutzt
    > werden.

    Doch, auch da werden nur 1 - 2 Modelle genutzt.
    >
    > > Außerdem greift Java, bei der Nutzung von OpenGL, bei der Ausführung,
    > auf
    > > die OpenGL DLLs zu, welche nunmal in C geschrieben sind, sprich es wird
    > C
    > > Code ausgeführt!

    > Äh ja ... das ist wohl klar, soll ich die Aussage jetzt mal mit deiner
    > Aussage aus deinem ersten Abschnitt vergleichen? Ich weiss jetzt auch
    > wirklich nicht, was du mir damit sagen willst. Alles was du mit Java
    > aufrufst, ist C bzw. C++ Code.

    Ähhhh neeeeeee!!!!!!!!
    "Alles was du mit Java aufrufst, ist C bzw. C++ Code"
    Was soll das denn bitte heißen?

    Aber die Kernaussage war auch eine Andere.
    Es geht darum, dass viele Java Deppen ein Main() "Programm" schreiben und in der Main Methode/Funktion dann externe Funktionen aus einer in C/C++ geschriebenen Bibliothek aufrufen und dann die Performance mit einem C/C++ Programm vergleichen, welches die selben Funktionen aufruft. Das dort der Unterschied minimal ist sollte klar sein.

  13. Re: Java und 3D

    Autor: GrinderFX 29.11.10 - 21:21

    Weil ich es noch nicht aufgegeben habe, dass du es verstehst gehe ich noch etwas ins Detail:

    OpenGL ist als Low-Level-Grafikbibliothek konzipiert worden.
    Direkt auf OpenGL baut daher GLU auf um mit seinen Funktionen die Verwendung von OpenGL zu erleichtern.

    gl4java ist nichts anderes als ein in Java nachprogrammiertes GLU nur halt !moderner!.
    Doch beide greifen auf die Low-Level-OpenGL-Grafikbibliothek zu!

    GLU-------
    ----------|----- OPENGL
    gl4java---

    GLU und gl4java bieten NICHT nur die Fenstererstellung.
    Sie bieten
    * Komplexere Figuren zu zeichnen
    * Kamera leichter auszurichten
    * Tesselierung durchzuführen
    * Objekte zu selektieren
    Und vieles mehr...

    Der einzige Punkt wo sich beide gleich oder ähnlich sind ist die Namensvergabe, mehr aber auch nicht!

    Somit ist es auch nicht egal ob du SDL, GLUT oder was anderes nimmst, wobei schon die Auflistung von SDL keinen Sinn ergibt, da die SDL nun wieder was VOLLKOMMEN Anderes ist.

  14. Re: Java und 3D

    Autor: blubbiwolli 29.11.10 - 21:28

    Ok du hast tatsächlich keinen Plan, ich klink mich aus.

  15. Re: Java und 3D

    Autor: GrinderFX 29.11.10 - 22:18

    Komisch, dass das exakt die Fakten sind also wer hat hier keinen Plan?
    Aber klar, so handeln Trolle immer wenn sie merken, dass sie totalen Mist geredet haben!

  16. Re: Java und 3D

    Autor: GrinderFX 29.11.10 - 22:29

    Achja, die meisten Aussagen meines letztens Beitrags sind übrigens Zitate von den Deutschen OPENGL Seiten.

    Die irren natürlich alle. Aber jetzt haben wir ja einen Profi wie dich gefunden. Du wirst die macher von den ganzen Sachen ja aufklären können, denn die scheinen ja weniger Ahnung von IHREN Produkten zu haben als du!

  17. Re: Java und 3D

    Autor: Cassiel 30.11.10 - 12:07

    Daniel Heinrich schrieb:
    --------------------------------------------------------------------------------
    > über xcode für object-c braucht man ja garnicht reden

    Kannst du ja auch gar nicht. Ich meine so ganz ohne Ahnung zu haben…

  18. Re: Java und 3D

    Autor: Baron Münchhausen 30.11.10 - 14:15

    L_tD schrieb:
    --------------------------------------------------------------------------------
    > Endlich mal einer der sich mit Java auskennt. Top!
    > Nicht immer dieses ewig geflame von wegen "Java = lahm".
    >
    > Danke!

    Ich finde, dass Java schon deutlich langsamer ist. Erfahrung beim Arbeiten mit Zahlreichen Java und nicht Java Programmen. Ich finde aber die Sprache ansich nicht schlecht. 3D games mit Java hatte ich noch nie gespielt, um sagen zu können wie die Performance so ist. Java ist eine Sprache, die halt ihren Stellewert hat und das nicht ohne Grund, aber die negativen Urteile lassen sich praktisch schon bestätigen.

  19. Re: Java und 3D

    Autor: ObitheWan 27.04.12 - 16:49

    Kennt noch jemand das PC Spiel Chrome? Dieses basierte tatsächlich auf Java und hatte damals sehr schicke Optik.

    http://www.youtube.com/watch?v=Usj3FXZ6Xzs

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. itsc GmbH, Hannover
  2. Psychiatrisches Zentrum Nordbaden, Wiesloch
  3. DRÄXLMAIER Group, Vilsbiburg bei Landshut
  4. TenneT TSO GmbH, Bayreuth

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (u. a. Warhammer 40,00€0: Gladius - Relics of War für 23,79€, Aggressors: Ancient Rome für 17...
  2. 36,99€
  3. (-91%) 2,20€


Haben wir etwas übersehen?

E-Mail an news@golem.de