Optimierungen noch heute gültig?



  • lol, du hast bei vielen funktion vergessen den rückgabewert anzugeben bsp.

    Create(int NewMAXxTyle,int NewMAXyTyle, int NewRotateInterVall);

    MSVC 7 warnt dann dauert beim compilieren



  • das spiel läuft ziemlich gut

    Cool!
    Mit wievielen FPS denn bei ungefähr welchem PC?

    ist aber auch recht schwer mit sovielen gegnern

    Es gibt die level Easy, difficult und hardcore, standard ist difficult 🙂

    ganz schön gut, 11monate an einem spiel zu coden, selten dass jemand die ausdauer hat

    Ja... ich bin jemand der gerne Detailverbesserungen macht 🙂
    Erst wollte ich nur 4Monate oder so proggen, dann hab ich mir aber immer mehr vorgenommen und immer weiter verbessert.

    und was steht bei euch als nächstes an?

    Eine Art SciFi-Strategiespiel.
    Wobei das noch was dauert, wir haben bisher zusammen eine kleine Designmappe entwickelt, in der die wesentlichen Grundzüge halt festgehalten sind.
    Allerdings habe ich beim entwerfen auch gemerkt, dass es wohl besser ist wenn ich erstmal D3D lerne-> mehr Speed, Flexibilität(richtiges und keine gefaktes AlphaBlending wie in SpaceBuster 🙂 , rotieren von Objekten(und kein Laden der einzelnden Bilder)).

    D.h. ich lerne jetzt erstmal grundsätzlich D3D, der Freund von mir lernt mit 3D-Programmen ein wenig umzugehen, außerdem versucht er sich gerade in der Liedkomponierung 🙂 Danach geht es dann hoffentlich loß 🙂

    ich glaube an deinem fps zähler ist eher was falsch. 500 frames pro sekunde sind viel zu viel. das kriegst du niemals hin!!

    Das glaube ich kaum 🙂 Der FPS Zähler arbeitet nach einem extrem einfachen Schema, und ich wüsste nicht warum ich da keine 500FPS hinbekomen sollte...
    Ein nach einem anderen Schema arbeitender FPS Counter(siehe Klasse FPSCount) zeigt mir in etwa die gleichen Werte an...

    lol, du hast bei vielen funktion vergessen den rückgabewert anzugeben bsp.

    Create(int NewMAXxTyle,int NewMAXyTyle, int NewRotateInterVall);

    MSVC 7 warnt dann dauert beim compilieren

    Mich warnt da keiner... und den MSVC++ 7 kannte ich noch garnicht.
    Wahrscheinlich nimmt der MSVC++ 6 einfach void als Standard...
    Übrigends, ich weiß das der Code schlecht aussieht 🙂

    PH

    [ Dieser Beitrag wurde am 12.02.2003 um 21:17 Uhr von Programator editiert. ]



  • Noch was: Ich hab den Code mit Visual C++ 7 neukompiliert und die EXE in den Ordner reinkopiert mit den ganzen anderen Daten. Im Debug und Release Modus stürzt es beidesmal ab. also is da noch ein fetziger bug



  • ich habs auch neukompiliert mit den Zips die es im Inet gibt...

    MSVC++ 6
    DXSDK8

    1)AXP1800+, GF2MX, 384MB SDRAM, Winme : OK
    2)ATB1166, GF4Ti4200, 256MB DDRRAM, Win2000 : OK

    Schau dir doch einfach mal die LogFiles an, und schick sie mir evtl wenn du Lust hast. Email ist philipp.oetti@codetown.de !

    [edit]Habe es einmal gestartet: Ok
    Starte ich es auf dem WinME Rechner jedoch ein zweites mal, stürzt es auf einmal ab. Kann sein das das dein Fehler ist:( ICh check das mal aber thx für die Meldung.
    [/edit]
    PH

    [ Dieser Beitrag wurde am 12.02.2003 um 21:34 Uhr von Programator editiert. ]



  • also die exe die dabei war funktioniert. nur wenn ich es neukompiliere und die exe austausche dann schürzt es einfach ab. mit soner messagebox wo er den fehler zu microsoft senden will. also irgendwie keine access violation oder sowas. berichtige aber bitte mal das mit den rückgabewerten. wie kann man sowas nur vergessen? 😕



  • achso. ich hab nen Athlon XP 2000 + GeForce 4 MX und komm nur auf 76 frames. total konstant, ändert sich nie. find ich auch ungewöhnlich. na gut, deine grafikkarte ist besser, aber so extrem glaub ich eigentlich nicht. 😮



  • achso. ich hab nen Athlon XP 2000 + GeForce 4 MX und komm nur auf 76 frames. total konstant, ändert sich nie. find ich auch ungewöhnlich. na gut, deine grafikkarte ist besser, aber so extrem glaub ich eigentlich nicht.

    Stell mal erst deinen Monitor auf >75Hz 🙂
    Und zweitens deinen VSync unter DirectX aus 😛

    Übrigends erreiche ich mit nem AXP1800+ und GF2MX nur ca 300FPS...
    Das mit den Rückgabewerten werde ich mal überprüfen.



  • hallo! mein monitor funktioniert nur mit 75 hertz. aber ich glaube nicht das deiner mit 300 hertz läuft. aber das mit dem vsync hört sich logisch an. danke für den tipp. muss nur noch rausfinden wo das geht.



  • aber ich glaube nicht das deiner mit 300 hertz läuft. aber das mit dem vsync hört sich logisch an. danke für den tipp. muss nur noch rausfinden wo das geht.

    Nein, meiner läuft mit 85hz. Aber dafür habe ich den VSync aus, da ich den für das FPS-messen nicht gebrauchen kann. BTW wegen dem Problem, hast du ICQ und kann ich dich da mal anschreiben? Fänd ich echt nett...

    PH



  • super, hab jetzt den vsync abgeschaltet und es läuft mit 650 - 800 fps, wenn der zähler stimmen sollte. 😉
    also ich hab weder email noch icq weil ich anoynm bleiben möchte.



  • argh..
    komplett anonym?
    Ich mein, du kannst mir einfach deine ICQ# oder von mir aus eine Email Adresse an meine Email Adresse schicken, ich sage bestimmt nichts...

    Will das Board hier nur nicht weiter "zuspammen".

    Zum Problem selber : So wie es scheint, tritt das Problem nur bei wenigen PC's auf, dann allerdings an folgender Stelle. Die Funktion ist eine Funktion aus dem DXSDK SampleFramework, wird also in DXSDK Samples genauso benutzt. Sie überprüft die vorhandene DXVersion.

    Bei meinem ersten PC(ATB1166,GF4Ti,WinME,DX8.1) ging alles ohne Probs, ich konnte das Spiel mehr als 2x starten.
    Bei mir auf "meinem" zweiten WinME pc mit GF2MX gab es nun(beim zweiten starten) im folgenden CodeStückchen einen Fehler:

    LogDataFile<<GetTime()<<"Stage4"<<endl;
    hr = DirectDrawCreate( NULL, &pDDraw, NULL );
    LogDataFile<<GetTime()<<"Stage4a"<<endl;
    

    Das PRogramm wird, direkt beendet, d.h. der Punkt "Stage4a" wird nie erreicht.
    Was könnte das denn jetzt für ein Fehler sein? Habe ich DDraw vielleicht nicht richtig aufgeräumt? Denn einmal klappt die anwendung ja ohne Probleme, halt nur das zweite mal nicht! Und wie gesagt, der Fehler tritt bei mir nur unter WinME auf. Wenn ich danach dxdiag starte, verursacht auch dies einen Fehler... Seltsam.

    Woran könnte das denn liegen?

    PH

    [ Dieser Beitrag wurde am 12.02.2003 um 22:32 Uhr von Programator editiert. ]



  • Ist das vielleicht eines dieser "nicht alles von DX wurde aufgeräumt"-Probleme!?
    Wenn eine DX-Anwendung abschmierte, konnte man unter Win9X doch immer'n Neustart machen, bevor man wieder eine DX-Anwendung starten konnte...

    P.S.: Wie schalte ich VSync in D3D ab... in den Anzeigeeinstellungen gibt's das nur für OpenGL. Hatten das die alten Detonators nie!?

    MfG Sarge



  • Hallo!

    Das Problem ist ich hab einfach keine mailadresse und icq-nummer.
    wir können ruhig hier weiterreden, da hat niemand gegen was. ich weiß es. :p

    Zu den Warnungen:

    ------ Neues Erstellen gestartet: Projekt: Space Buster, Konfiguration: Debug Win32 ------
    
    Die Zwischen- und Ausgabedateien für das Projekt "Space Buster" mit der Konfiguration "Debug|Win32" werden gelöscht.
    Kompilieren...
    StdAfx.cpp
    Kompilieren...
    sober.cpp
    getdxver.cpp
    d:\programme\microsoft visual studio .net\vc7\platformsdk\include\prerelease\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
    StateDisplay.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    SpaceShip.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Space Buster.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    ShotTower.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    d:\Programme\Microsoft Visual Studio .NET\Vc7\include\useoldio.h(29) : warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': der Name, der als #pragma markiert war, wurde verworfen
    Shot.cpp
    Rotate.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    d:\Programme\Microsoft Visual Studio .NET\Vc7\include\useoldio.h(29) : warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': der Name, der als #pragma markiert war, wurde verworfen
    Object.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Menu.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    LinkedList.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    LevelSelect.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Level.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Item.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Highscore.cpp
    GuidedShot.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    GameSettings.cpp
    FPSCount.cpp
    EngineTrace.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    EnemySpaceShip.cpp
    c:\SBVer1007SourceCode\Rotate.h(33) : warning C4183: 'Create': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen
    Code wird generiert...
    Ressourcen werden kompiliert...
    Verknüpfen...
    LINK : LNK6004: .\Debug/Space Buster.exe wurde nicht gefunden oder nicht durch den letzten inkrementellen Bindevorgang erstellt; Bindung erfolgt vollstaendig
    
    Das Build-Protokoll wurde unter "file://c:\SBVer1007SourceCode\Debug\TempFiles\BuildLog.htm" gespeichert.
    Space Buster - 0 Fehler, 16 Warnung(en)
    
    ---------------------- Fertig ----------------------
    
        Neues Erstellen: 1 erfolgreich, 0 fehlgeschlagen, 0 übersprungen
    

    Also wenn ich dein Spiel mit dem MSVC 7 kompiliere und es dann aus der IDE heraus starte funktioniert das Spiel bis es losgeht (bis man fliegen kann) und dann stürzt es nach 2 sekunden ab. bild bleibt einfach stehen mit kleinen grafikfehlern. und wenn man es ganz normal über windows startet wird sofort ein Fehler in der ntdll.dll gemeldet. 🙄



  • Sgt. Nukem: Wenn du die Option nicht findest (so wie ich), dann nimm Powerstrip.



  • @game freak : Welches OS verwendest du?
    Du kompilierst mit Visual C++ .Net?

    Bist du dir auch ganz sicher das es nicht an deinem Compiler liegt?
    Die normalen .exe Files klappen bei dir also ohne Probleme?
    Der Fehler mit den Rückgabewerten ist übrigends "schon" korrigiert, war ja nur ein Eintrag!

    Wegen dem VSync : Nein, die Einstellungen dazu muss man mit den Detonator Coolbits freischalten, oder eben Powerstrip&co nehmen.

    Aber so ein shit, das Problem bekomme ich einfach nicht gelöst 😞
    Hilfe!!!

    PH

    [ Dieser Beitrag wurde am 12.02.2003 um 23:01 Uhr von Programator editiert. ]



  • ich frage mich gerade wie ich das kompilieren konnte, ich hab garnicht das directx sdk drauf 😃 😃 😃
    Ich hab zwar das Platform SDK drauf, aber davon hab ich nur den Core Teil installiert. hmm, ob das vielleicht daran liegt 😕



  • ich hab windows xp und ich lad mir jetzt mal das directx 9 sdk runter. 🕶



  • achso, so wie ich das seh sind die directx 8 sachen schon bei visual studio .net dabei



  • die normalen Exe Files klappten aber oder?



  • Ja, die aus deinem ZIP-Archiv funktionieren. Sonst hätt ich das Spiel ja nicht testen können (fps). Oder was meinst du?


Anmelden zum Antworten