Flame aus "Projekte": C oder C++ schneller bei Spieleprogrammierung?



  • Vermutung schrieb:

    Manuelh87 == Spieleprogrammierer

    Fühl mich gehrt aber das ist wahrscheinlich der bereich wo ich wirklich kaum ahnung hab 😞 ! Aber danke ich fasse das nämlich als hohes lob auf... 😃 Ich will ja was machen, aber alleine ists halt ned allzu lustig, deshalb hab ich ja den eigentlichen thread gestartet! 😉

    Aber bis jetzt hat sich da noch keiner gemeldet... :xmas1:

    mfg Manuelh87



  • Manuelh87 schrieb:

    Vermutung schrieb:

    Manuelh87 == Spieleprogrammierer

    Fühl mich gehrt aber das ist wahrscheinlich der bereich wo ich wirklich kaum ahnung hab 😞 ! Aber danke ich fasse das nämlich als hohes lob auf... 😃

    😋



  • also bei mir hats 1.484 Bytes

    Was? Und was willst du mir damit sagen?

    und bitte benutze nicht immer full-Quote!



  • @manuel
    wieso sagst du immer den gleichen sch...? ich meine du sagst A, dann zeigt man dir, dass A falsch ist und du sagst dann trotzdem A! entweder verstehst du es einfach nicht, oder du überschätzt deine fähigkeiten... lerne einfach daraus!

    Und ein vektor gehört einfach in eine klasse, da es ein typ ist auf dem bestimmte operationen definiert sind (z.b. verschiebungen, drehungen)! zudem sollte man alle attribute private machen, damit die struktur nicht offengelegt wird! denn wer sagt, dass ein vektor aus den x-y koordinaten bestehen muss? ein vektor identifiziert einen punkt im Vektorraum. und da gibt es auch andere darstellungsmöglichkeiten (z.b. polarkoordinaten).
    denn was ist wenn du feststellst in deinem programm, dass du viele vektoren rotieren musst und du aber einen vektor mit x-y koordinaten gewählt hast? es wäre doch viel sinnvoller gewesen einen vektor mit polarkoordinaten dafür zu nehmen, da dort rotationen einfach zu realisieren sind! nun musst du deinen kompletten programmcode umändern. hättest auf schnittstellen programmiert, wäre diese änderung ganz einfach gewesen....

    Gruß mathik



  • rapso schrieb:

    mathik schrieb:

    rapso schrieb:

    und naja, alles auf einen compiler zu schieben find ich suboptimal, denn ein wirklich guter compiler würde meiner meinung nach erkennen, dass ich nen bubblesort implementiert habe und ihn durch nen quicksort ersetzen.

    das sind genau solche sachen, die ein compiler niemals optimieren können wird!

    was ein compiler können wird hängt von dessen programmierern ab, ...

    das ist nicht richtig! es gibt probleme, die wird ein computer niemals lösen können! das ist mathematisch bewiesen!

    Gruß mathik



  • Wo bitte ist A falsch.

    Du checkst aber auch nix.

    Mann muss aus vector keine klasse machen! Das ist einfach ansichtssache. Du weißt ja ob du polar oder kartesische Koordinaten verwendest.

    Oder möchtest du ne Biliotek für einen Vector machen?? das sind z.b. 2 floats!
    Also nenn mich von mir aus Idiot und meinen Stil scheiß und was du halt für angebracht hältst aber ich finde es unnötig für alles ne klasse zu machen.

    Warum machst du denn nicht:

    class CInt
    {
    public:
     Cint(){m_int=0;}
     int GetInt(){return m_int;}
     void SetInt(int i){m_int=i;}
     virtual ~CInt(){}
    private:
     int m_int;
    }
    

    dann kanst du das auf int16 und int32 und int64 und was du willst porten! Kannst ja auch templates verwenden.... wie du meinst.
    Ich halt halt nix von der technik alles zu einer Klasse zu machen. Du kommst mir vor wie ich wie ich mein erstes C++ Buch bekam und auch alles in eine Klasse zu stopfen. Aber sinnvolles einsetzten ist wichtig. Und ihr sagt immer nur B egal was alles dagegenspricht. Außerdem sag ich ja ned das du das nicht machen darfst wie du willst, aber ich finds sinnlos.



  • wenn du keine Klassen benutzen willst, dann tu das einfach. Aber behaupte nicht, dass C++ langsamer sei.



  • mathik schrieb:

    das ist nicht richtig! es gibt probleme, die wird ein computer niemals lösen können! das ist mathematisch bewiesen!

    nämlich genau die, die auch ein Mensch nicht lösen kann.



  • [quote="kingruedi"]

    Was? Und was willst du mir damit sagen?

    [/code]

    ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist. und wie das alles der gcc compiler interpretiert hat absolut keine aussagekraft da er glaub ich nicht auf C programme optimiert ist.



  • Manuelh87 schrieb:

    ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist. und wie das alles der gcc compiler interpretiert hat absolut keine aussagekraft da er glaub ich nicht auf C programme optimiert ist.

    lol, du kennst dich nicht aus! Der C++- und der C-Compiler der GCC unterscheiden sich nur durch ihr Frontend!



  • ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist.

    toll. Das ist nicht der Punkt, wie klein du das Binary bekommst, wenn du dazu keinen Vergleich hast, wie klein du das C++ Binary bekommst.

    Auf meinem System ist der C++ Code kleiner und das bei einem extrem populären Compiler. Das sollte dir klar machen, dass das mit C erzeugt kleinere Binarys als C++ Käse ist.

    da er glaub ich nicht auf C programme optimiert ist.

    ROFL

    Der GCC ist mit Sicherheit der meistbenutzte C Compiler und wurde als C Compiler entworfen.



  • Manuelh87 schrieb:

    dann kanst du das auf int16 und int32 und int64 und was du willst porten! Kannst ja auch templates verwenden.... wie du meinst.

    Dafür gibt es ja typedef...

    Manuelh87 schrieb:

    Ich halt halt nix von der technik alles zu einer Klasse zu machen.

    Nochmal für ganz langsame... C++ != alles in Klasse packen.

    Manuelh87 schrieb:

    Du kommst mir vor wie ich wie ich mein erstes C++ Buch bekam und auch alles in eine Klasse zu stopfen.

    Scheinbar hast du es nur als Türstopper benutzt!



  • kingruedi schrieb:

    wenn du keine Klassen benutzen willst, dann tu das einfach. Aber behaupte nicht, dass C++ langsamer sei.

    wie oft muss ich dir noch A sagen bist dus mal verstehst. Nimm mir das nicht übel aber ich hab schon erklärt wie ich das gemeint hab und zwar wieder und wieder. Bei gutem einsatz ist c++ aufjedenfall cool und ihr brauchst ned c++ verdeitigen weil ichs ja eh auch super find und ich mag auch klassen aber halt ned für jeden kleinen codeschnippsel. Aber wenns bei euch keine performance minderungen oder code aufplähungen gibt dann sollt ihr das ruhig verwenden. Ich weiß nur das bei tokenfile die umstellungen von 2 grundtypen auf typedef struct den code einfacher machten. Denn stat 100 functionen für jeden verschiedenen schmorn hab ich 2 oder 3 einfache schnelle funktioen die alles erledigten. Aber für die Hauptklasse hab ich natürlich ne Klasse verwendet mit abstrakter funktion. is ja auch klar ned. Das hat sich da angeboten und war auch meines erachtens die beste lösung. Okay 😉

    mfg Manuelh87



  • Manuelh87 schrieb:

    Vermutung schrieb:

    Manuelh87 == Spieleprogrammierer

    Fühl mich gehrt [...]

    Warte mal ab, bis die Forensuche wieder funktioniert, dann wirst du es nicht mehr als Lob auffassen... 😃



  • Manuelh87 schrieb:

    Mann muss aus vector keine klasse machen! Das ist einfach ansichtssache. Du weißt ja ob du polar oder kartesische Koordinaten verwendest.

    Oder möchtest du ne Biliotek für einen Vector machen?? das sind z.b. 2 floats!

    oder 3,4,5,6,7.....x floats
    weist du was ein verktor ist?
    und was sollst...wozu ne klasse oder ein struct... ein array reicht

    Du erzählst hier immer was von klassen und das man die net so häufig benutzen sollte.
    ne matrix z.B.
    die besteht aus vektoren, und man kann für eine Matrix einige funktionen zusammenfassen. Das schreit richtig nach einer klasse.
    da hast du eine schöne Objektbindung und die handhabung ist super einfach.
    Ohne eine klasse würdest du nen haufen Funktionen in eine header zusammenkloppen.
    Auch wenn du vielleicht damit leicht schneller wirst (was ich kaum glaube) hast du eine menge Übersichtlichkeit eingebüßt. Von der typensicherheit kaum zu reden.



  • hat ja eh kan sin was anderes zu sagen denn ihr habt ja immer wieder toole gegenbeispiele. Meine theory wäre:"Mann kann kein c++ prog. entwickeln das mit C größer ist als mit C++; wenn das doch der fall ist ist das c programm nicht voll optimiert." Aber anscheinend sind hier ein paar low-level experten unter uns die sich ganz sicher sind das c++ aufjedenfall viel schneller ist.
    Meiner Mienung nach leigt das an dem Fakt das sich c++ aus c entwickelt hat und net schneller werden kann. Man muss halt nur wissen wie man das coded. Aber ich kann mich gegen die allgemeine Meinung sowieso ned durchsetzten also muss ich mich wohl damit abfinden das mein compiler mich belügt und auch die ganzen unterlagen wo ich ebenfalls viel von diesem problem gelesen habe einfach gelogen waren den die waren experten haben namen wie DU TROTTEL (sehr professionel)

    also ich denke alles ist geklärt. ich ein kleiner idiot der nicht jedes wort für ein und die selbe technik kennt (Schande über mich) hab mich anscheinend geirrt (obwohl mir mein compiler da nicht zustimmt). Ich entschuldige mich hirmit für die falschen Behauptungen die ich aufgestellt hab.
    Manuelh87



  • Zeig doch mal deine tollen Unterlagen... 🙄



  • Manuelh87 schrieb:

    ...ich mag auch klassen aber halt ned für jeden kleinen codeschnippsel...

    jedes codeschnipsel? Objekt mit Eigenschaften...das macht ne klasse aus...

    weist du was ein objekt ist?
    und eine Eigenschaft?

    du hast da vorhin eine schöne int_classe aufgesetzt aber nur mit get/set...
    int ist also dein Objekt und was ist mit den eigenschaften?
    kopieren, operationen, vielleicht vergleichen...usw.

    das gleiche würde auch für deine verhaste Vektor-Classe gelten: das ist nicht einfach die Werte speichern sondern auch alles andere was man mit einem Vektor anstellen kann.



  • MaSTaH schrieb:

    Manuelh87 schrieb:

    Vermutung schrieb:

    Manuelh87 == Spieleprogrammierer

    Fühl mich gehrt [...]

    Warte mal ab, bis die Forensuche wieder funktioniert, dann wirst du es nicht mehr als Lob auffassen... 😃

    Hast da vorher ne anleitung zum flamen lesen müssen oder hast da das selbst beigebracht 😃

    Manuelh87



  • Gebt es doch auf 🙄 , solche Leute kenne ich auch, immer wenn das irgendwas nicht klappt ist C++ Schuld, unter C wär das ja nicht passiert *nerv*.


Anmelden zum Antworten