C# vs C++



  • Hallo,
    ich habe eine ganz einfache Frage und hoffe sie endet nicht in einem Glaubenskrieg.
    Nun, um welchen Faktor ist C# langsammer als C++ in der DX9 programmierung oder gibt es da kaum einen Unterschied. Rein vom logischen her müsste C# zumindest etwas langsammer sein als C++.

    Nun, der Hintergund ist der ich würde gerne Tools bzw. komplexere Applikationen die 3D beinhalten in C# verwirklichen. Da stellt sich mir die Frage ob es Sinn macht auch gleich ein reines 3D Programm/Spiel mit C# zu schreiben. (Wiederverwendbarkeit von code) Normal würde man ja die WinAPI32 und C++ benutzen, wenn man für Windows programmiert.

    Gruß
    Sven



  • Wird bestimmt wieder zum Flamewar, einfach weil genug Leute wieder aus reiner Unwissenheit Stammtischparolen loslassen.

    Mir selbst fehlt die Erfahrung mit C#, daher werde ich nichts dazu sagen. Mit C++ geht es allerdings gut, das weiß ich.

    Nicht sonderlich hilfreich, aber... naja.

    gruß
    Martin


  • Mod

    laut microsoft ist die gpu eh nicht schnell genug, dass das c# programm beim fuettern der daten das bottleneck sein koennte (bezogne auf C# auf xbox der "hobby programmierer").

    wenn du sauber programmierst, nutzt dein tool eh die engine als seperates modul, da ist es wirklich egal ob du ein interface zu c++ oder c# machst, das zu implementieren duerfte insgesammt weniger dauern als hier auf antworten zu warten.

    ⚠ flame enthaltende posts werden komplett geloescht ⚠



  • rapso schrieb:

    wenn du sauber programmierst, nutzt dein tool eh die engine als seperates modul, da ist es wirklich egal ob du ein interface zu c++ oder c# machst, das zu implementieren duerfte insgesammt weniger dauern als hier auf antworten zu warten.

    Ja, das ist richtig. Nur meine Frage war eben DirectX über C# anzusprechen und nicht DirectX in einer Engine zu kapseln. Aber das der Flaschenhals die GPU ist und nicht die CLR ist schon mal ne Info. Danke.

    Gruß
    Sven



  • gortosch schrieb:

    rapso schrieb:

    wenn du sauber programmierst, nutzt dein tool eh die engine als seperates modul, da ist es wirklich egal ob du ein interface zu c++ oder c# machst, das zu implementieren duerfte insgesammt weniger dauern als hier auf antworten zu warten.

    Ja, das ist richtig. Nur meine Frage war eben DirectX über C# anzusprechen und nicht DirectX in einer Engine zu kapseln. Aber das der Flaschenhals die GPU ist und nicht die CLR ist schon mal ne Info. Danke.

    Gruß
    Sven

    Also wenn du nicht der super hacker in Sachen Grafik bist, ist die Wahl der Sprache sowas von sekundaer. Da kannst du auch Python oder Ruby nehmen. Ich persoenlich wuerde aber eine Sprache mit Memorymanagment vorziehen, denn da braucht man sich wenigstens nicht darum Gedanken zu machen.


  • Mod

    gortosch schrieb:

    rapso schrieb:

    wenn du sauber programmierst, nutzt dein tool eh die engine als seperates modul, da ist es wirklich egal ob du ein interface zu c++ oder c# machst, das zu implementieren duerfte insgesammt weniger dauern als hier auf antworten zu warten.

    Ja, das ist richtig. Nur meine Frage war eben DirectX über C# anzusprechen und nicht DirectX in einer Engine zu kapseln.

    Du hast gesagt, dass du dich fragst, ob du das spel auch in C# schreiben sollst wegen

    (Wiederverwendbarkeit von code)

    also hast du schon vor einen seperaten teil zu haben der sowohl fuer das spiel als auch fuer den editor verwendet wird. in dem fall kannst du das sowohl in c++ als auch c# implementieren .

    Aber das der Flaschenhals die GPU ist und nicht die CLR ist schon mal ne Info. Danke.

    wie gesagt, das war die aussage von MS bei der frage ueber performance von C# auf xbox360.

    [quote=DEvent]Also wenn du nicht der super hacker in Sachen Grafik bist, ist die Wahl der Sprache sowas von sekundaer. Da kannst du auch Python oder Ruby nehmen. Ich persoenlich wuerde aber eine Sprache mit Memorymanagment vorziehen, denn da braucht man sich wenigstens nicht darum Gedanken zu machen.[/quote]in dem fall wuerde sich wirklich noch was hoeheres wie phython/Ruby anbieten. Sind die fuer tool-coden denn geeignet? sprich, GUI-lib etc.?



  • GUI Libs gibts auf jeden Fall.

    Für Ruby gibt es das Projekt RubyQT das sehr vielversprechend aussieht. Hatte bisher leider noch nicht die Zeit um mich damit genauer zu befassen, aber wenn ich es richtig verstehe kann man damit auch den QT Designer benutzen zum Entwerfen der GUI und schreibt dann den zugehörigen Code in Ruby.

    Am wichtigsten bei der Tool Entwicklung ist die Verfügbarkeit von RAD Tools und deswegen würde ich dir auf jeden Fall für den Teil C# oder eine andere .NET Sprache empfehlen, da ich hier sicher weiß, dass die Entwicklung mit den Visual 2005 Programmen sehr komfortabel und schnell ist.



  • lolz schrieb:

    Am wichtigsten bei der Tool Entwicklung ist die Verfügbarkeit von RAD Tools und deswegen würde ich dir auf jeden Fall für den Teil C# oder eine andere .NET Sprache empfehlen, da ich hier sicher weiß, dass die Entwicklung mit den Visual 2005 Programmen sehr komfortabel und schnell ist.

    Hi, genau deswegen würde ich auch gerne "normale" Applikationen in .Net schreiben.
    Ich behersche die WinAPI32(eigentlich müsste man die Funktionsbib ausklammern), MFC ein wenig QT und jetzt auch .Net und wenn mich jemand fragen würde in was er am sinnvollsten/einfachsten eine "Oberflächenanwendung" schreiben sollte... wäre meine Antwort QT bzw. .Net.

    Gruß
    Sven


Anmelden zum Antworten