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

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

11

20.08.2004, 20:18

Ihr sidn ja die recht interessante sachen unterweg....
Also .net framework ist für windows und mono für linux/unix, aber beide sind als plattform für c# geeignet(da beide .net).

DirectX wird zwar .net tauglcih werden, ABER nicht plattformunabhängig!

Tipp: schmeiß den samplebroswer an und schau dir einfach die c# sachen an, denn c# ist nur dann schnell, wenn man es so nutzt wie es die proger sich gedacht haben.....

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

12

20.08.2004, 21:01

Bei den Samples kann man übrigens schnell den wohl ersteinmal auffälligsten Unterschied zwischen native C++ und .net Programmen erkennen: Wegen der JIT-Kompilierung braucht .net (egal, ob es ein C#- oder ein VB-Sample ist), länger, das praktisch gleiche Beispiel zu starten, wie bei (non-managed!) C++ Code.

[edit]Typo[/edit]
Mozilla Firefox
The Browser - reloaded

13

20.08.2004, 22:14

ums starten gehts ja nicht. geiler weise braucht das NICHT.NET projekt länger zum
laden des models als das c#.net-programm :)

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

14

21.08.2004, 01:34

Zitat von »"0x00000023"«

ums starten gehts ja nicht. geiler weise braucht das NICHT.NET projekt länger zum
laden des models als das c#.net-programm :)


ui, wow... wieso denn? Weiß das jemand?
Mozilla Firefox
The Browser - reloaded

15

21.08.2004, 01:45

Ich frag mich wie er es getestet hat und ob er das nur einmal gemacht hat, oder eine ganze Serie. Denn bei einmal kann es z.B. daran liegen, das grad ein anderer Thread ein wenig Zeit in anspruch genommen hat.

Aber ich würde es mal an der Lade-Routine festmachen. Denn wenn der C#-Code nicht grad direkt in ASM kompiliert wurde (was ja auch möglich ist), steht nämlich erst einmal das kompilieren des JIT-Codes an.

Denn eins ist ma sicher. Es kann nicht sein das der gleiche Lade-Code in C++ so viel langsamer ist als in C# das man das merckt, aber zur Runtime um ein vielfaches schneller ist. Daher geh ich davon aus, das beim Portieren des C# Code nach C++, derartige Performanceunterschiede zustande gekommen sind.


Derweil seh ich es gar nicht so das die eine Sprache schneller ist als die andere. Den ein oder anderen Unterschied wird es sicherlich geben. Aber wie schon gesagt liegt der größte Performancegewinn erstens daran, das man seinen Code an die Sprache best möglich anpasst und zweitens was der Compiler der jeweiligen Sprach alles leistet. Ich denke das C# mit einem beserern JIT-Compiler noch schneller werden kann.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

16

21.08.2004, 02:34

wie ichs getestet hab? naja es kommt mir halt so vor :)
rein subjektiv und natürlich ist der unterschied maginal.
klar wenn du nach nem bootup das programm zum ersten mal
startest is .net langsamer.....

hm...ich muss sagen ich war anfangs ganz und gar nicht von .net angetan und
die programmierung in managed c++ nervt, aber die tatsache das
sich leute die zeit genommen haben das nach linux zu portieren
lässt vermuten das tatsächlich was da hinter steckt. ob es sich
allerdings auf lange zeit durchsetzen wird ist die frage...immerhin
braucht .net deutlich mehr speicher.
um vergl. ne einfache mfc-anwendung braucht für ein fenster mit ein paar
steuerelemente 1-2 mb (laut xp-taskmanager :) ) eine windows-forms.net-
anwendung 10+x mb...allerdings hab ich keine ahnung ob .net allgemein
mehr speicher braucht oder ob das nur 10mb sind die einfach für das fenster
anfallen. also lehn ich mich lieber mal nicht zu weit aus dem fenster.

aber zumindest ist es besser als java ;)

gruß 23h

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

17

21.08.2004, 11:36

Der große vorteil von .net framework ist, das du keine extra dll laden musst, wenn du was bestimmtes willst, es einfach schon vorhanden.

18

21.08.2004, 13:30

Du hast recht. Hab mal eine kleine ManagedC++ Anwendung geschrieben. Enthalten ist eine Liste á la Explorer Verzeichnisdarstellung ein Tab-Controll mit zwei Seiten die jeweils ein mehrzeiliges Eingabefenster enthalten. Ist also nicht sonderlich viel.

Belegt werden 10.024KB. Ganz schön viel, dafür das die Anwendung nur aus ein paar Kontrollelementen besteht.

Aber man muss ja schon sagen. Es ist super einfach eine Anwendung mit .NET zu schreiben. Vor allem, alles ist schön OO und um ein vielfaches einfacher als die MFC.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

19

21.08.2004, 14:55

stimmt. vorallem kann man ganz einfach wie z.B. beim c++-builder von borland
oder bei vb (oder halt im dialog editor von vc) die anwendung "designen"
steuerlemente plazieren, verschieben usw. das ist schon bonzig.!

aber was mich an managed c++ nervt: die unterscheidung zwischen
mangaed und nicht managed -code-abschnitten. das bringt einfach
seltsame probleme mit sich und macht mich ganz irre...

20

21.08.2004, 15:03

nox: "Der große vorteil von .net framework ist, das du keine extra dll laden musst, wenn du was bestimmtes willst, es einfach schon vorhanden."

wie meinst du das? diese ganzen sachen wie System, System.IO, Microsoft.DirectX.Direct3D. usw. sind doch dlls, nix anderes....

Werbeanzeige