Millsecs und Addtion -> Ruckeln

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

AVGP

Betreff: Millsecs und Addtion -> Ruckeln

BeitragSo, Aug 06, 2006 1:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey LeutZ, ich steh vor einer sehr,sehr seltsamen Erscheinung in meinem Sourcecode:

Ich habe folgenden Code:
Code: [AUSKLAPPEN]

Repeat
    If MilliSecs()-OldTime >= 1000
        Zeit = Zeit + 1
    EndIf
    ;Mach-den-Rest
Until KeyHit(1)


Das Ganze ist soweit toll, ermittelt mir brav die vergangenen Sekunden...
wenn ich Code: [AUSKLAPPEN]
Zeit = Zeit + 1
auskommentiere, so ist auch alles flüssig...wenn ich aber NUR diese eine Zeile mehr drin hab, dann ruckelts wie sau. Was geht denn hierbei ab?? Ich denke es is ne simple Lösung, die mir vor Einfachheit entgeht xD

Wär nett, wenn ihr mir helfen könntet! Thx
AVGP
Theorie ist, wenn alle wissen, wie etwas funktioniert - aber nichts geht.

Praxis ist, wenn alles geht, aber keiner weiß warum.
 

Dreamora

BeitragSo, Aug 06, 2006 3:29
Antworten mit Zitat
Benutzer-Profile anzeigen
kommt draufan was du mit Zeit machst.

Denn Integer werden nach erreichen der Maximalgrösse negativ, abhängig von deinem Code kann das zu problemen führen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Mr.Keks

BeitragSo, Aug 06, 2006 10:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Denn Integer werden nach erreichen der Maximalgrösse negativ, abhängig von deinem Code kann das zu problemen führen.
japp, bei diesem beispiel nach 2mrd sekunden, also rund vier jahren Wink

ich denke nicht, dass das an en integern liegt. es sollte eigentlich auch nicht an dieser zeile liegen. es muss also an etwas ganz anderem liegen, dem, was du mit der zeit machst, wie dreamora schon sagte. aber das hast du uns ja nicht gegeben.
MrKeks.net
 

AVGP

BeitragSo, Aug 06, 2006 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem daran ist, dass ich bislang noch gar nix mit Zeit mache....und wenn diese eine Zeile weg is, läuft alles perfekt...ich kann mir da irgendwie keinen Reim drauf machen xD
Theorie ist, wenn alle wissen, wie etwas funktioniert - aber nichts geht.

Praxis ist, wenn alles geht, aber keiner weiß warum.
 

AVGP

BeitragSo, Aug 06, 2006 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, hat sich erledigt, es is was Anderes. Habs entdeckt. Allerdings hat es sich interessanterweise durch die Berechnung der Zeit verstärkt.
Es lag hauptsächlich daran, dass ich den Speicher mit ner TYPE Anweisung scheinbar massakriert hab xD

Ich hab vor dem Loop Datensätze aus ner Datei gelesen und in ner TYPE-Liste untergebracht. Ich probierte es dann mal mit ner entsprechenden DIM Anweisung und voila, alles war okay.
Embarassed
Aber interessanterweise wurde die Sache echt durch diese Addition irgendwie verschlimmert....*wunder* Naja egal. Problem is gelöst
Theorie ist, wenn alle wissen, wie etwas funktioniert - aber nichts geht.

Praxis ist, wenn alles geht, aber keiner weiß warum.

StepTiger

BeitragSo, Aug 06, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ein anderes problem ist, dass dein code nicht richtig sekunden zählt. Es gibt immer kleine Abweichungen, also ist dein Code etwas zu langsam.

Mach doch einfach sowas wie:

Code: [AUSKLAPPEN]
seks=(MilliSecs()-oldtime)/1000


dann gibt er dir das auch ohne Verzögerung an und deine Uhr verstellt sich nicht
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Schnuff

BeitragSo, Aug 06, 2006 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Repeat
    If MilliSecs()-OldTime >= 1000
        Zeit = Zeit + 1
        OldTime=Millisecs()
    EndIf
    ;Mach-den-Rest
Until KeyHit(1)

gehst so richtig?
oder habe ich mich einfach nur verlesen?
Programmers dont die. They gosub without return...

StepTiger

BeitragSo, Aug 06, 2006 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem ist, dass durch dieses zeit+1:
1.Viel mehr Code geschrieben wird, als nötig
2.Es sich mit jedem durchlauf etwas verzögert, die Uhr quasi ungenau wird.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

AVGP

BeitragSo, Aug 06, 2006 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
k, stimmt ^^
thx
Theorie ist, wenn alle wissen, wie etwas funktioniert - aber nichts geht.

Praxis ist, wenn alles geht, aber keiner weiß warum.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group