>wir rechnen: 1000 ms / 60 Bilder = 16.667 ms Ja so würde ich auch rechnen und du übergibst die 12msec als Wert an die Funktion.
Es gibt zur Zeitmessung noch folgende Funktionen QueryPerformanceFrequency QueryPerformanceCounter
mit GetTickCount (ist aber das gleiche wie bei dir die Funktion timeGetTime) kannst du die msec abfragen die vergangen sind, die Funktion sollte schneller sein als jedesmal die Uhrzeit abzuholen
>Ich kenne es meist so, dass der Sleep Befehl irgendwann passt. >Also so ab 40 kommt auch 40msec raus..aber nicht dass immer 16 dazukommen. Ich kenne es unter 98SE so, dass es selbst ein delay von 1 Ms auch nach einer ms zurück kommt. Erst WinXP hat mich da etwas anderes gelehrt, also wirds bei vista & co nicht besser sein.
>>wir rechnen: 1000 ms / 60 Bilder = 16.667 ms >Ja so würde ich auch rechnen und du übergibst die 12msec als Wert an die Funktion. Richtig, und bei mir kommt es demzufolge nach 12ms artig wieder zurück. Sonst würde meine delay-funktion ja keine konstanten 60 Bilder liefern können, wenn windoofs beim Delay jedes mal unterschiedlich lange rumtrödeln würde.
>Es gibt zur Zeitmessung noch folgende Funktionen >QueryPerformanceFrequency >QueryPerformanceCounter Ja, der Hires-Timer, funktioniert hier bestens.
>mit GetTickCount (ist aber das gleiche wie bei dir die Funktion timeGetTime) > kannst du die msec abfragen die vergangen sind, die Funktion sollte schneller >sein als jedesmal die Uhrzeit abzuholen Ich verwende nur Delay und Timegettime_() weil die beiden hier perfekt arbeiten.
Ich glaube wir fachsimplen zu sehr....
Vermutlich würde man auch für deine Hardware eine Lösung finden, wenn man sich mit ihr besser vertraut machen könnte. Ich habe hier ja nur das Notebook und die XP-Gurke meiner Freundin...
ja geht sehr ins Detail, Programm läuft ja so, dass ich super spielen kann.Ich kann ja fast nicht mehr aufhören. Mir ging es nur um die Sache, wo wird die Zeit verbraten ?
Ja XP lehrte mich auch schon so einiges. Win98 war da besser. Vista mag ich garnet..so ein verspielter Mist (meine Meinung)
und doch prophezeie ich, das windows 7 sich auf breiter front durchsetzen wird! nichts destotz würde mich aber schon interessieren, wieso ich nur so bescheidene fps auf divsreen rechnern hier bekomme. auch, warum da so viel cpu-zeit verbraten wird.
>nichts destotz würde mich aber schon interessieren, wieso ich nur so bescheidene fps >auf divsreen rechnern hier bekomme. auch, warum da so viel cpu-zeit verbraten wird.
Mich würde das auch interessieren zumal ich von anderen die Meldung erhalten habe, das sie mit der für vista compilierten Version unter vista auch einen flüssigeren spielablauf haben, so sollte es ja auch eigentlich sein. Wie ist das bei dir denn mit anderen Spielen auf deinem rechner?
ich sollte evtl.mal eine aufstellung der verschiedenen hardware bei mir machen :)
habe gerade nochmals die letzte version auf dem betagten nb mit win7 laufen lassen. da dort nur der standard vga treiber läuft, wundert es nicht, das die vista-compilierte version dort nicht läuft. die andere läuft - und im vollbildmodus sogar an die 60 fps mit del 9 im fenstermodus sind es dann 39-43 fps mit del 0
wie kann das so ein krasser unterschied sein?
die cpu belastung scheint dementsprechend zu sein - im vollbildmodus scheint das ganze wesentlich weniger cpu-lastig zu sein.
> die andere läuft - und im vollbildmodus sogar an die 60 fps mit del 9 Damit kann man doch leben, bei 60 x 9ms delay dürfte auch keine allzu grosse cpu last entstehen.
>im fenstermodus sind es dann 39-43 fps mit del 0 Das verstehe ich widerum nicht...könnte mir aber vorstellen das es was mit 16 bzw 32Bit Desktop zu tun hat. Der DX Screen öffnet sich ja einen 16Bit Bildschirm und muss nur halbsoviele Daten schaufen wie bei 32bit.
>wie kann das so ein krasser unterschied sein? Verrate uns doch mal deine desktop farbtiefe.
>die cpu belastung scheint dementsprechend zu sein - >im vollbildmodus scheint das ganze wesentlich weniger cpu-lastig zu sein. Deshalb gab es 99 Seconds lange Zeit auch nur im DX Screen. Ich dachte es würde im Fenster viel zu sehr ruckeln, aber es hielt sich eigentlich in grenzen...
Nun bin ich (vielleicht ein klein wenig) schlauer und mein Verdacht scheint sich zu bestätigen. Es hat vermutlich weder etwas mit der Delay-Funktion noch mit den neuen Timer-chips etwas zu tun. Anscheinend liegt es an der 16/32 Bit Farbtiefe der Graka.
>Ich werde mich mal etwas schlau machen, bezüglich delay und windows 7
Ich erhielt einen Tipp, in dem man mir mitteilte, dass die heutigen PCs nur noch mit einer Farbtiefe von 32Bit arbeiten. Eine Darstellung von niedrigeren Farbtiefen würde per Software emuliert, was die Performance stark in den Keller ziehen würde...
Wenn ich mir unsere Ergebnisse ansehen, könnte es wirklich daran liegen.
Ich hoffe, schwaller hat mittlerweile wieder auf seine 32Bit Farbtiefe umgestellt.
Ich werde eine Bildschirm-Abfrage integrieren, die den DX-Screen nun in der vom Desktop vorgegebenen Farbtiefe (16/32 Bit) öffnet. Das bringt beim Fenstermodus natürlich rein gar nichts, da ein Fenster ja bereits in der korrekten Farbtiefe geöffnet wird. Aber: Beim durchsehen der verwendeten Grafiken fiel mir auf, dass die Hintergrundgrafik back.bmp nur eine Farbtiefe von 8 Bit (256 Farben) hat. Alle anderen Grafiken liegen in 24 Bit vor. Vielleicht ist die Konvertierung von 8 auf 24/32 Bit ja der Grund für die geringe Performance auf den modernen Rechnern. Wäre zu schön um wahr zu sein...
Bitte den Graphics Ordner über den "alten" kopieren und Bericht erstatten.
sorry - komm da wohl erst heute abend oder gar morgen dazu, das zu testen.
auf wirklich neuerer hardware und unter vista kann ich das nur bei meiner freundin testen. da die jedoch derzeit einen providerwechsel hat, ists auch da schlecht mit dem ferninstallieren.
aber sobald ich neuigkeiten herausgefunden/getestet habe, gebe ich direkt bescheid
Hat ja auch keine Eile. Vermutlich bringt das ändern der Hintergrundgrafik von 8 auf 24 Bit auch gar nichts. Ich hätte es nur gern in der "96er" noch erledigt gehabt. Ich werde den Delay-Wert nun bis auf 0 absenken lassen, damit sollten auch bei 30 Frames dann die gewünschten 60 möglich sein, allerdings bei 100% CPU Last.
Die vielen Änderungen der letzten Tage, mit deren Resultaten ich jetzt zufrieden bin, haben mich dazu bewogen, dies als die offizielle Version 0.97 zu veröffentlichen. Die Docs wurden gestern noch einmal angepasst und vielleicht schreibe ich noch etwas in die bisher etwas spärlichen Tipps und Tricks.
Meine Partnerin ist wieder richtig "süchtig" geworden, seit es den Jokerflash gibt. Ihre Strategien hat sie bereits angeglichen und damit schon mehrmals über 70 000 Punkte auf very easy erreicht. Die ersten 3 der Highscoretables werden ich wieder rausnehmen und das Fileformat auf 0.972 setzen.
Das 0.97 Paket mache ich im laufe des Tages fertig und werde die Website aktualisieren.