C# vs C++ (via DirectX)



  • Wie schnell ist denn eigentlich die Ausführgeschwindigkeit von Programmcode bei C# in Gegensatz zu C++?

    Ich würde gerne mit C# und DirectX programmieren, weiß aber nicht ob sich das wirklich lohnt! Ich hab früher viel mit C++ gearbeitet.

    Ich bedanke mich schon mal für eure Beiträge ➡ danke



  • Da C# über einen Zwischencode arbeitet wird es wohl hi und da nicht so schnell arbeiten wie das gute C++ in besagten Bereich. Und ich rede nicht von C++.NET!

    Diskussionen darüber gabs hier schon. Auch einen Link gabs hier schon mit Screenshoots von einem Echtzeitstrategiespiel bsierend auf C#.NET.

    Hier kullert auch irgendwo ein Link rum mit dem DirectX-SDK fuer .NET
    plus einen deutschen Webcast.

    hier ein anderer Link weil ich besagtes jetzt nicht so schnell hier finden tue
    und weil ich gleich an der Matraze horschen werde ---> weil ist schon spät

    http://www.google.de/search?hl=de&q=DirectX+%2B+C%23&meta=

    ".NET und DirectX zusammen sollte man nicht verdammen"

    Hui das reimt sich sogar!

    In Anbetracht das man sich in Zukunft eh nicht auf XP
    ausruhen wird und kann. Vista mit integrierten .NET ja schon am Start steht....
    Die Hardware auch nicht unbedingt stehenbleibt. Kann sich sowiso in dieser Branche keiner leisten krasse Rückschritte zu machen.

    Ein Teufelskreis oder auch nicht.... Diverse krasse Leistungsunterschiede zu
    suchen endet dann in Haarspalterei, Zeterei usw.

    Lohnen sollte es sich schon meinst Du nicht auch wenn Du schon Erfahrung in C++ darin geschöpft hast kannst Du in C# darauf aufsetzen, zumindest der Einstieg sollte dadurch einfacher sein.



  • In welcher Hinsicht soll es sich lohnen (bzw. auch nicht)?
    Imho lohnt es sich, wenn man schon C# benutzt, auch gleich Managed DirectX zu verwenden, falls du das nicht ohnehin schon gemeint hast.
    Wenn es dir darum geht: "Hach, jetzt hab ich mich mit dem ganzen managed Quatsch herum geschlagen, und ist das nicht zu langsam, hätte ich das mal vorher gewusst.": Es gibt unbestreitbar einen kleinen Performancenachteil, der in zahlreichen Benchmarks aber übertrieben dargestellt wird. Wenn man den Meinungen von diversen Profis in diversen Internetforen glauben schenkt, ist dieser Nachteil sogar vernachlässigbar. Und außerdem würde er durch sichereres und schnelleres Entwickeln aufgewogen.



  • wiejetzt schrieb:

    Wenn man den Meinungen von diversen Profis in diversen Internetforen glauben schenkt, ...

    "Profis" in Internetforen. Der war gut.



  • Wenn man managed und unmanaged Code in Bezug auf allgemeinen ausführen von Code vergleicht, mag es ja einen gewissen teilweise sogar bemerkbaren Performanceunterschied geben. Aber bei keinem Bereich ist der Overhead durch managed Code so vernachlässigbar wie bei DirectX. Denn was macht DirectX denn und warum heisst es hardware-beschleunigt? DirectX macht im Großteil nichts anderes als gewisse Opcodes für die entsprechenden Zeichenoperationen an den GPU zu übermitteln. Und die ganzen grafischen Berechnungen finden dann sowie jenseits von der .net-Runtime auf dem GPU statt. Dies trifft allerdings nur zu wenn man über eine 3D-beschleunigte Grafikkarte verfügt, aber anderenfalls ist DirectX so wie so lahm wie Sau.

    Gruß
    Schrankwand



  • OK, ich hab verstanden 👍

    dann werd ich mich mal mit C# anfreunden 😋



  • "Profis" in Internetforen. Der war gut.

    Aus welchem Kohlenkeller kommst Du, in den Foren gibt es genug Genies, keine Dödel wie Du. 😡


Anmelden zum Antworten