Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

UDT zum FPS Steuern

Uploader:MitgliedDonStevone
Datum/Zeit:19.09.2011 22:34:27

'Wir definieren wie oft die Hauptschleife pro Sekunde durchlaufen werden soll
#Define DurchlaeufeS 60

'###########################   Unser UDT   #####################################
Type TimeControlUDT
    Dim StartTime as Double
    Dim EndTime as Double

    Declare Sub ControlTime()
    Private:
    Dim Temp1 as Double
End Type

Sub TimeControlUDT.ControlTime()
    Temp1 = INT(1000 - (EndTime - StartTime) * DurchlaeufeS)
    Temp1 = INT(Temp1 / DurchlaeufeS)
    If Temp1 > 0 then Sleep Temp1, 1
End Sub
'###############################################################################

'###############################################################################
'   Wir Testen den UDT
'   Einfach Programm starten, eine Weile laufen lassen 'ESC' druecken - Fertig
'###############################################################################

Dim as TimeControlUDT TimeControl 'Objekt erstellen
Dim as Integer Check              'Variable um die Schleifendurchlaeufe zu zaehlen
Dim as Double CheckTime1 = Timer  'Variable um die Zeit zu berechnen die das Programm lief

?"Programm ein wenig laufen lassen und dann 'ESC' druecken"
While(NOT Multikey(&h01))
    TimeControl.StartTime = Timer 'Unserem UDT am Anfang der Schleife die Zeit geben

    Check += 1                    'Einen Schleifendurchlauf zaehlen

    TimeControl.EndTime = Timer   'Unserem UDT am Ende der Schleife die Zeit geben
    TimeControl.ControlTime()     '"Überschuessige" Zeit berechnen und Idlen
Wend

?CHR(10)
CheckTime1 = Timer - CheckTime1   'Zum Schluss Testwerte Ausgeben
?"Programm lief                     : " + STR(CheckTime1) + " Sekunden"
?"Durchlaeufe insgesamt             : " + STR(Check)
?"Definierte Durchlaeufe pro Sekunde: " + STR(DurchlaeufeS)
?"Durchlaeufe pro Sekunde           : " + STR(Check / CheckTime1)
Sleep
Sleep


End 0