AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sprache für Spiele?

Ein Thema von CodenameCookie · begonnen am 28. Jun 2006 · letzter Beitrag vom 30. Jun 2006
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#31

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 20:24
[ot]
Zitat von Phoenix:
Hier mal ein kleiner Auszug: Counterstrike (auch CS:S), Quake (alle Teile), X (alle Teile), Airline Tycoon, Desperados 1+2, World of Warcraft, Guildwars, MS Flight Simulator, GTA.... und ich könnte hier noch viele auflisten.
Und meinen Favoriten lässt du weg! Alle Teile von Unreal Tournament sind zu großen Teil OpenSource. (Also alles außer die Exe und die DLLs) Ich finde das sehr gut.
[/ot]
Zitat von Der_Unwissende:
das Delphi eher Objekt Orientiert ist, aber egal. Was ist C++ gleich?
Und am Beispiel von UT kann man auch sehen, dass C++ genau so objektorientiert ist.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#32

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 20:25
Zitat von Phoenix:
OMG...

Also Java kannst Du aus performancegründen in die Tonne kicken. Ich meine, das ganze Zeug von muss von einer Virtual Mashine interpretiert werden jedesmal. Das ist nix für Spiele.
Das ist falsch, uns wurde hier gelehrt über HotSpot sei die Ausführung genauso schnell wie kompilierte ASM Programme.
Außerdem solltest du Ausrufe wie "OMG" in Zukunft unterlassen, es sei denn du möchtest überheblich wirken.

Edit: "geleert"
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#33

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 20:48
Es ist einfach völlig egal, welche Sprache man nimmt. Performance Unterschiede die Sprachbedingt sind, die möchte ich gerne sehen.
Sagen wir mal du nimmst C++, gut, was genau sagt das über die Perfomance aus? Also mir wäre es neu, wenn der Code aus C++ direkt lauffähig wäre. Ich muss da immer einen Compiler und Linker bemühen und da habe ich bei C++ eine ganze Menge zur Auswahl (auch bei anderen Sprachen). Hinzu kommt, dass die auch noch ein paar Schalter haben, die gewisse Optimierungen an- bzw. abschalten. Wenn hier also über die Perfomance einer Sprache gesprochen wird, nun ja, es hat einfach mal keine Aussage.

Natürlich haftet Java immer der Ruf an, nicht so richtig perfomant zu sein. Lustigerweise denkt das keiner von C# oder Delphi.Net, warum eigentlich? Die ganze .net Dinger laufen genau wie Java auf einer VM ab. Genau darin liegt die Idee dieser plattformunabhängigen Sprachen. Man übersetzt sie nur in einen Zwischencode, der auf einer VM läuft. Dank einer Menge Entwicklung, sowohl bei den heutigen Rechnern, aber vorallem auch bei den JITs ist auch hier der Perfomanceunterschied zu vernachlässigen.
Die komplette 2D/3D arbeit übernehmen in modernen Spielen die darauf hochspezialisierten Grafikkarten (warum liest man wohl immer häufiger dass man mind. eine DirectX ... Karte mit xxx MByte Ram braucht?). Diese werden zudem über Schnittstellen angesprochen, einfach um von der konkreten HW so gut wie möglich abstrahieren zu können. Die HW kümmert sich schon um die ihr best mögliche Umsetzung von Aufrufen dieser Schnittstellen. Hier geht also auch keine Perfomance durch die Sprache die verwendet wird verloren.
Was bleibt sind zwei Sachen, der ganze Rest des Spiels (es muss ja auch eine Logik geben, nicht nur Grafik) und natürlich der Teil, was man an Grafiken darstellen möchte. Für beide Fälle gilt, dass der Einfluss der Sprache auf die Perfomance irgendwo ganz weit unten liegt. Viel wichtiger (und hier sind dann wirklich die Unterschiede) ist das, was der Programmierer schreibt. Ist der Code einfach mal schlecht, wird keine Sprache die Perfomance retten können. Man sollte schon etwas verständnis für ein paar Routinen und Datenstrukturen haben, sonst klappt dass mit dem schnellen und flüssigem Spiel nicht. Hier kommt es dann auf Verständnis des Rechners und natürlich auch der Grafikkarte (im allgemeinen) an. Wer mit Vektorrechnung oder noch allgemeiner Mathematik nichts anfangen kann, der wird kaum ein großer Spieleprogrammierer (ohne geht hier einfach nichts).
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#34

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 20:52
Zitat:
aber vorallem auch bei den JITs ist auch hier der Perfomanceunterschied zu vernachlässigen.
Interessanterweise laüfen manche Demoanwendungen auf Axiom (c#-Konversion von OGRE) schneller als auf OGRE.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#35

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 20:59
Ganz egal ist die Wahl der Sparche nicht.

Zb. könntest du dir vorstellen das dein Online Kartenspiel später mal auf Handys laufen sollte ? Dann wäre JAVA mein Favorit und Delphi die schlechtste Wahl und C ginge eventuell auch noch.

Oder die Frage welche Sprache kannst du ? und wie gut kanst du sie ? mit welcher hast du die letzten 10 deiner Spiele programmiert ?

Auf normalen Windows Rechnern ist delphi genauso performant wie C oder jede andere Sprache, denn egal was du benutzt du wirst immer auf fertige Blibliotheken zurückgreifen, einfach um Streß mit der unterschiedlichen Hardware zu sparen. Du wirst dich also eher fragen müssen welche Grafik Bibliothek benutzte ich, DirectX oder OpenGL. Wie mache ich den Sound ? DirectX oder native API oder was anderes ?
All diese Schnittstellen kannst du in Delphi oder C benutzen und deren Performance wird sich nicht unterscheiden.
Ergo: in diesem Szenario wäre es wichtiger mit der Sprache zu arbeiten die man am besten beherrscht.

Gruß Hagen
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#36

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 21:03
Es ist wirklich vollkommen egal, es ist im Notfall auch möglich sich einen Wrapper von einer Engine zu schreiben und mit dem Wrapper ein Spiel zu programmieren.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#37

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 21:05
Das liegt daran dass .NET Code nicht in einer virtuellen Maschine läuft.

Bei Java läuft das ganze tatsächlich Just in Time - wenn eine Funktion aufgerufen wird wird erstmal geguckt ob sie schon übersetzt wurde und wenn nein -> Ab durch den Compiler und ausführen. Und das interessanterweise bei jeder neuen Ausführung des Programmes erneut. Deswegen ist Java auch so langsam.

Bei .NET wird der IL-Code vor der ersten Ausführung vom 'JIT' direkt in für die jeweilige Plattform optimierten, nativen ASM-Code übersetzt und direkt gegen das .NET Framework (inkl. Garbagecollection etc.) gelinkt und dann ausgeführt. Das bedeutet hier läuft keine VM drumherum die auch noch bei jedem Call erst irgendwo nachgucken muss ob was übersetzt werden muss, sondern das ganze Management ist direkt in der nativen Anwendung integriert. Die Java-Nachteile fallen hier weg, deswegen ist .NET auch entsprechend performant.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#38

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 21:07
Zitat von Phoenix:
Deswegen ist Java auch so langsam.
Hier wurde bereits mehrfach geschrieben, dass dem nicht so ist. Kannst du deine Aussage denn belegen? Zahlen würden mich interessieren.
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
333 Beiträge
 
Delphi 11 Alexandria
 
#39

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 21:12
Ich hab mal eine 1:1 umsetzung vom C64 Spiel Frantic Freddie geschrieben.
Dabei hatte ich eine Soundausgabe, eigene 2D Engine und auf meinem Rechner (Laptop Centrino 1800) ca. 400 FPS.
Das ganze klappte ganz gut quasi über Canvas und BitBlt

Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#40

Re: Sprache für Spiele?

  Alt 29. Jun 2006, 21:33
Zitat von TheAn00bis:
Hier wurde bereits mehrfach geschrieben, dass dem nicht so ist. Kannst du deine Aussage denn belegen? Zahlen würden mich interessieren.
Ich habe es nachgemessen - und das musst Du wohl leider auch selber tun wenn es Dich interessiert:

Zitat von Lizenz zum .NET-Framework SDK:
"4.8 Vergleichstests. Sie sind nicht berechtigt, ohne vorherige schriftliche Zustimmung von Microsoft die Ergebnisse von Vergleichstests mit der Server- oder Clientsoftware gegenüber Dritten offenzulegen."
Edit Nachtrag:
Ich hab grad nochmal nachgeschaut, von 'the middleware company' gab es mal einen unabhängigen Performancevergleich von J2EE gegen .NET - und da hat - obwohl die J2EE - Anwendnung extra für diesen Test noch optimiert wurde - .NET haushoch gewonnen. Such mal nach Bei Google suchenJ2EEdotnetbench.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz