Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 23 von 23

Thema: Crysis II Settings Creator

  1. #21
    Semi Pro Avatar von Petunien
    Registriert seit
    28.02.2010
    Ort
    Südtirol (Italien)
    Beiträge
    905

    Standard

    Der Debug Build Version 1.2.0.0 stürzt bei mir unter Windows 7 mit der Meldung "...funktioniert nicht mehr." ab.

  2. #22
    VIP Avatar von Pat21
    Registriert seit
    06.09.2007
    Beiträge
    10.654

    Standard

    @ pdelvo
    Wenn ich das recht sehe, dann ist das eine WPF-Anwendung. Die Frage, die sich mir nun stellt ist, welches Framework zu benutzt hast ?

    Desweiteren kann ich dir gleich noch einen Tipp geben in Bezug auf "String-Combining" und zwar solltest du Strings nicht per "+" verbinden, sondern dazu ein "String.Format" benutzen. Denn, wenn du ein "+" benutzt, dann wird immer ein neuer String instanziert. Weiterhin solltest du du vllt bei dem Laden der Settings-Dateien erst einmal überprüfen, ob diese auch existiert. Dazu scheint mir nämlich die Abfrage zu fehlen. (siehe deine "LoadConfigFile()-Function"). Was beim Debuggen auch helfen kann ist, wenn du bei den "try-catch-Blöcken" bei der "catch-Abfrage" auch ne MessageBox mit dem Fehler ausgeben lässt. Dann kannste schnell kleine Fehler finden. Denn wenn ich mir den Code gerade so ansehe, dann fehlen diese.

  3. #23
    User
    Registriert seit
    04.04.2011
    Beiträge
    38

    Standard

    Zitat Zitat von Pat21 Beitrag anzeigen
    @ pdelvo
    Wenn ich das recht sehe, dann ist das eine WPF-Anwendung. Die Frage, die sich mir nun stellt ist, welches Framework zu benutzt hast ?

    Desweiteren kann ich dir gleich noch einen Tipp geben in Bezug auf "String-Combining" und zwar solltest du Strings nicht per "+" verbinden, sondern dazu ein "String.Format" benutzen. Denn, wenn du ein "+" benutzt, dann wird immer ein neuer String instanziert. Weiterhin solltest du du vllt bei dem Laden der Settings-Dateien erst einmal überprüfen, ob diese auch existiert. Dazu scheint mir nämlich die Abfrage zu fehlen. (siehe deine "LoadConfigFile()-Function"). Was beim Debuggen auch helfen kann ist, wenn du bei den "try-catch-Blöcken" bei der "catch-Abfrage" auch ne MessageBox mit dem Fehler ausgeben lässt. Dann kannste schnell kleine Fehler finden. Denn wenn ich mir den Code gerade so ansehe, dann fehlen diese.
    Ah ein Reflector User

    Es fehlt noch einiges nachdem ich ein wenig umgebaut habe. Habe die version doch etwas zu früh freigegeben, aber ich konnte wiedermal nicht warten
    as zusammenketten mit "+" sollte schneller sein als das zusammenketten mithilfe von string.Format.

    das stringa + stringb + string c wird zu einem string.Concat(new string[]{stringa, stringb, stringc}). Wenn du mir das nicht glaubst guck dir mal den IL Code an. der Reflector interpretiert das wieder zu " x + y", damits schöner aussieht.

    Intern wird ein neuer Speicherblock mit der länge aller elemente allokiert und dann dort reinkopiert. string.format erstellt einen StringBuilder mit der startgröße formatstring.Length + (anzahl_strings * .

    Dort wird also auf gut glück erstmal speicher allokiert, da er nicht weiß wie lang das ganze schlissendlich wird. Dann geht er char für char durch den formatstring und arbeitet das ab. Das sollte auf jedenfall langsamer sein.

    Dazu kommt noch:
    "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."
    (Knuth, Donald. Structured Programming with go to Statements, ACM Journal Computing Surveys, Vol 6, No. 4, Dec. 1974. p.268.)
    Und die 97% sind in dem Beispiel vollkommen übertrieben. Was interessiert es den Benutzer wenn ich vllt 1ms schneller war, aber das entwickeln von updates 3 mal länger brauchen, weil der Code unübersichtlich geworden ist?

    Zum Framework: Ich benutze das .net Framework 4.0. Bis vor kurzem habe ich aber noch alles nach 3.5 kompiliert. Aber ich finde, dass langsam das neue Framework weit genug verbreitet ist und ich endlich die neuen Funktionen benutzen kann. In dem Tool aber nur an einer kleinen Stelle: System.Tuple<T1, T2> gibt es ab 4.0.

    Wenn du willst kannst du aber mal den Source Code haben. Ist so schon ein wenig besser zu lesen. Ich habs sogar schön kommentiert und der Reflector zeigt ja oftmals auch nicht genau das an, was ich eingetippt habe.

    Jetzt mach ich erstmal wiede auf Bugsuche in den ganzen halbfertigen Funktionen.

Seite 3 von 3 ErsteErste 123

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •