Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

15.02.2007, 14:09

C# oder C++

:?: Kann man generell sagen, daß C++ besser für Spiele-Programmiereung geeignet ist als
etwa C#? Wenn ja: warum?

:arrow: Mit C++ verwaltet man den Speicher selbst - es gibt keinen "Garbage Collector" -
das mag macnchmal von Vorteil sein.

:?: Ist denn die Performance bei C++-Programmen viel besser?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

15.02.2007, 14:21

Man kann es wie immer mit der Standardantwort abhandeln: Hängt immer von der Anwendung ab. Theoretisch kann man sagen, dass man aber mit C++ nicht langsamer sein kann, solange die Voraussetzungen übereinstimmen, denn C++ hat weniger Overhead von Hausaus mitsich. Dennoch können C++ Anwendung natürlich langsamer sein, als in anderen Sprachen. Auch geht es ja oft um Entwicklungsgeschwindigkeit und weniger um Anwendungsleistung.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

15.02.2007, 14:30

Re: C# oder C++

Zitat

Kann man generell sagen, daß C++ besser für Spiele-Programmiereung geeignet ist als
etwa C#? Wenn ja: warum?


kann man so allgemein nicht sagen.

Zitat

Mit C++ verwaltet man den Speicher selbst - es gibt keinen "Garbage Collector"


das stimmt nur insofern, als es praktisch keine C++ implementierung gibt, die einen garbage collector hat. die sprache selbst schließt sowas nicht aus.

Zitat

Ist denn die Performance bei C++-Programmen viel besser?


das hängt davon ab. C++ wird im allgemeinen etwas schneller sein als C#. wieviel hängt unter anderem davon ab, was genau der entsprechende code macht.

4

16.02.2007, 12:24

Also C++ Programme sind schneller als C# Programme, da C++ maschinennäher ist. Aus diesem Grund werden Spiele meistens in C++ geschrieben.
Sprachen: C/C++, C#, Assembler (16-Bit), QuickBASIC

5

16.02.2007, 13:19

:?: Interessant - und um welche Größenordnung schneller sind C++-Programme? ...so in etwa?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

16.02.2007, 13:28

Zitat

wieviel hängt unter anderem davon ab, was genau der entsprechende code macht.


der unterschied wird vermutlich irgendwo zwischen "unmerkbar" und "viel schneller" liegen.

7

16.02.2007, 13:39

...hast Du das schon mal an einem Programm ausprobiert?

Na schön! Das muß man wohl einfach mal selber in einer Testreihe ausprobieren -
mal sehen, ob das auch stimmt! ;)

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

8

16.02.2007, 13:52

Um so besser der Rechner, um so geringer der Unterscheid. Mit einer Runtime-Umgebung kommt vorallem eine absolute Menge an Code dazu, keine relative. Hab ich mal so gehoert ..

Lass uns trotzdem von deinen Ergebnissen wissen :)
"Have you tried turning it off and on again?"

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

9

16.02.2007, 13:57

Bei Google hab ich diese Seite gefunden. Da wird Java, C# und C++ in verschiedenen Tests verglichen. Die Tests haben aber nichts mit Spielen und 3D zu tun..
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

10

16.02.2007, 14:20

Die 3D Darstellung mit C# und Direct3D kann nicht viel langsamer sein als mit C++ da die selben DLLs verwendet werden. Es gibt einfach nur eine Menge Wrapper Klassen die alles managen. Der Geschwindigkeitsverlust entsteht mehr im restlichen Programm. Ich hab mal mit tutorials kleine Einstiegsprogramme geschrieben und da fällt einem kein Unterschied auf. Das dürfte dann erst kommen wenn es riesige Projekte werden. Aber es werden ja auch komerzielle Spiele in C# geschrieben (ich glaube ein Title heißt "Arena Wars") also kann es nicht so extrem schlimm sein.
Das C# aber langsamer ist steht ausser Frage ich wollte nur andeuten das es bei den Projekte, die hier so gemacht werden, eher weniger ins Gewicht fällt für welche Sprache man sich entscheidet.

Werbeanzeige