FPS anzeigen

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

kami

Betreff: FPS anzeigen

BeitragDo, Sep 08, 2005 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ka ob das jemand braucht, oder ob es dafür nen extra befehl gibt...
BlitzBasic: [AUSKLAPPEN]


Graphics width,height
SetBuffer BackBuffer()

timer=MilliSecs()

While Not KeyDown( 1 )
Cls
FPS=FPS+1
If MilliSecs()-timer >=1000 Then
maxi=FPS
FPS=5
timer=MilliSecs()
End If
Text,1,1,\"FPS\"+maxi
Flip
Wend
End


hat jemand ne bessere Idee?

Xalon

BeitragDo, Sep 08, 2005 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja,glaub dazu gibts nen Befehl Wink

Xalon
>>Besucht doch mal meine Seite,mit NEUEN Tutorials<<
User posted image

Waveblue

BeitragDo, Sep 08, 2005 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Xalon hat Folgendes geschrieben:
Ja,glaub dazu gibts nen Befehl Wink

Xalon

Nein, gibts nicht, aber diesen Code hier schon ein paar dutzend mal...
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

Spikespine

BeitragFr, Sep 09, 2005 9:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstens geht der Code nicht, weil du nach Text kein Komma (nur nach den Parametern) setzen darfst.

Außerdem versteh ich nicht, warum der FPS-Zähler immer wieder zurück auf 5 und nicht auf 0...

So bekommt man immer 5 Frames mehr Laughing

Aber sonst gehts nicht viel einfacher.
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

bruZard

Betreff: Re: FPS anzeigen

BeitragFr, Sep 09, 2005 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich korrigiere mal ...
kami hat Folgendes geschrieben:

BlitzBasic: [AUSKLAPPEN]


Graphics width,height
SetBuffer BackBuffer()

timer=MilliSecs() ; überflüssig, die FPS bleiben max. 1 Sekunde bei Null, was niemandem auffallen dürfte

While Not KeyDown( 1 )
Cls

; anstatt jedesmal MilliSecs() aufzurufen, genügt es einmal am anfang der Schleife die akt. Zeit zu sichern
ctime = MilliSecs()

FPS=FPS+1
If MilliSecs()-timer >=1000 Then ; >= ist sinnfrei, es wird höchst selten vorkommen dass Millisecs()-time = 1000 ist.

maxi=FPS
FPS=5 ; das ist Blödsinn, die temp. FPS müssen auf Null gesetzt werden
timer=MilliSecs() ; hier anstatt MilliSecs() den zuvor gesicherten Wert ctime einsetzen
End If
Text,1,1,\"FPS\"+maxi ; wird nicht funktionieren, falscher Funktionsaufruf
Flip
Wend
End



...und jetzt die korrekte Funktion
BlitzBasic: [AUSKLAPPEN]

Graphics 640,480
SetBuffer BackBuffer()

Repeat
Cls

Text 2,2,Str(FPS())

Flip
Until KeyHit(1)
End


;
; machst Du Funktion, kannst Du
; wieder usen ... guckst Du:
;
Global FPS_current
Global FPS_temp
Global FPS_time

Function FPS()

ctime = MilliSecs()

FPS_temp = FPS_temp + 1
If ctime - FPS_time > 1000
FPS_current = FPS_temp
FPS_temp = 0
FPS_time = ctime
EndIf

Return FPS_current
End Function
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

d-bug

BeitragFr, Sep 09, 2005 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh bruZard, ich liebe deinen derben Sinn für Ironie Smile
 

kami

BeitragFr, Sep 09, 2005 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
erstmal danke für deine Tipps, aber:
1. Funktion ist immer gut, hab ja nicht gesagt, dass man das nicht als funktion benutzen darf^^
2. Das die FPS auf 5 gesetzt werden ist wohl nen Tipfehler...
ansonsten funzt mein code , sonst hätte ich ihn hier nicht reingeschrieben.
3. BlitzBasic: [AUSKLAPPEN]

If MilliSecs()-timer >=1000 Then

Man beachte: größer oder gleich! nicht ist gleich Razz

Spikespine

BeitragFr, Sep 09, 2005 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Man beachte: größer oder gleich! nicht ist gleich


Ja, aber es ist ziemlich unwahrscheinlich, dass es bei genau 1000 stoppt. Und eine größer-gleich abfrage beansprucht mehr Zeit, als nur größer Smile
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

flexo

BeitragSa, Sep 10, 2005 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ich wollte nur mal fragen... meine ergebnisse (je nach buffer: desktopbuffer, backbuffer, canvasbuffer) liegen von 2000-15000 FPS.

da ich jetzt kein profi bin kann ich nicht genau sagen ob diese ergebnisse realistisch sind...

iTunes zB sagt mir 10-30 FPS, wenn ich dievisuellen effekte einschalte..
klar, er muss rechnen wie sonst nichts, aber ist das nicht ein bisschen viel?
(13.000..?)
Du bist eizigartig - genau wie jeder andere auch.

skey-z

BeitragSa, Sep 10, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du keine berechnungen durchführst ist es immer höher, die schleife läuft ja so schnell durch wie sie kann, aber 13000 finde ich auch ein wenig hoch, bei mir komme ich mit nem 2200+ und 9600se auf max 3000-4000 fps
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

kami

BeitragSa, Sep 10, 2005 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
na ja das script liefert nicht die tatsächlich sichtbaren FPS, sondern nur Frames, welche pro sekunde berechnet werden.
D.h. spätestens deine Bildschirmfrequenz ist die grenze^^

Devils Child

BeitragMo, Sep 19, 2005 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
dieser fps-counter ist schtrott, nehm den hier:

BlitzBasic: [AUSKLAPPEN]
  ;FPS
time# = MilliSecs()
If time# - oldtime# <> 0 Then FPS# = Int(1000 / (time# - oldtime#))
If FPS# = 0 Then FPS# = 1
oldtime# = MilliSecs()


derhier misst den abstand von einem schleifendurchlauf und errechnet daraus die fps, unzwar IMMER und nicht 1 mal in der sekunde!

den kann man so wie er ist in die schleife einfügen!

BlitzBasic: [AUSKLAPPEN]
While Not KeyHit(1)
UpdateGame()

;FPS
time# = MilliSecs()
If time# - oldtime# <> 0 Then FPS# = Int(1000 / (time# - oldtime#))
If FPS# = 0 Then FPS# = 1
oldtime# = MilliSecs()

RenderWorld

Text 0, 0, \"FPS = \" + fps#
Flip 0
Wend
End[/code]
*X-Ware Member*

Mission to Hell[Ego-Shooter]
Hier Vollversion runterladen:
http://patrick-sch.de/spiele/m...ersion.zip

ich antworte auf jede PN

regaa

BeitragMo, Sep 19, 2005 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
kami hat Folgendes geschrieben:
na ja das script liefert nicht die tatsächlich sichtbaren FPS, sondern nur Frames, welche pro sekunde berechnet werden.
D.h. spätestens deine Bildschirmfrequenz ist die grenze^^


Doch mit Flip, liefert es die Frames pro Sekunde, welche der Monitor auch darstellt. Wenn man Flip 0 einsetzt, dann nicht. Dann krieg ich so um die 2500 FPS.

@DevilsChild:
Zitat:
dieser fps-counter ist schtrott, nehm den hier:


Richtig, wenn er Schrott ist , was er auch ist, warum sollen wir ihn dann nehmen? Dein FPS-Counter zeigt falsche Ergebnisse an Rolling Eyes .
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Devils Child

BeitragMo, Sep 19, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
blädsin! der ist in meinem spiel drin und zeigt richtig an, evtl musst du deie augen un 180° drehen, weil sie in dein gehirn schauen, kein wunder...
*X-Ware Member*

Mission to Hell[Ego-Shooter]
Hier Vollversion runterladen:
http://patrick-sch.de/spiele/m...ersion.zip

ich antworte auf jede PN

regaa

BeitragMo, Sep 19, 2005 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Counter zeigt immer 1000FPS, dafür muss ich noch nichtmals die Augen um 180°.

Und nochwas: Du hast keinen Grund mich verbal anzugreifen! Es gibt auch bestimmte Regeln hier im Board.

Es gibt deine Meinung und die falsche?

Mit Worten wie "von dem sein Counter ist Müll, meiner ist der beste"

oder

"Blödsinn, ich hab natürlich recht, ihr nicht."

kommt man nicht allzuweit. Es gibt nunmal Leute die kritisieren oder nehmen Kritik objektiv entgegen. Das solltest du auch tun.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
  • Zuletzt bearbeitet von regaa am Mo, Sep 19, 2005 22:36, insgesamt einmal bearbeitet

Suco-X

Betreff: ........

BeitragMo, Sep 19, 2005 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei Flip 0 zeigt mir ein richtig funktionierender FPS Zähler 1446 FPS an, deiner nur 1000, Devils Child. Drum wirst du dich wohl oder übel damit abfinden müssen, deine Version läuft ein wenig falsch.
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

regaa

Betreff: Re: ........

BeitragMo, Sep 19, 2005 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Suco-X hat Folgendes geschrieben:
Drum wirst du dich wohl oder übel damit abfinden müssen, deine Version läuft ein wenig falsch.


Nein. Wird er nicht und kann er nicht. Und der nächste Post von ihm wird eine Beleidigung auf mich und dich gerichtet sein.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Suco-X

Betreff: ..........

BeitragMo, Sep 19, 2005 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Drum wird sich unser kleiner Hitzkopf wohl mal ne tracht Prügel vom nächsten Moderator holen müssen Wink
Desweiteren sind Beleidigungen erst ab einem bestimmten niveau richtig beleidigend, dieses Ferkalsprachengepisel kann man da nicht werten.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Devils Child

BeitragDi, Sep 20, 2005 0:58
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist mein nächster post:

ich liebe euch, die merkel und die ganze welt!

war das ne beleidigung? nein, falsch vorhergesagt.
*X-Ware Member*

Mission to Hell[Ego-Shooter]
Hier Vollversion runterladen:
http://patrick-sch.de/spiele/m...ersion.zip

ich antworte auf jede PN

regaa

BeitragDi, Sep 20, 2005 1:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht doch Laughing !
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group