FPS begrenzen
Übersicht BlitzBasic Beginners-Corner
obilanerBetreff: FPS begrenzen |
Sa, Mai 06, 2017 8:20 Antworten mit Zitat |
|
---|---|---|
Hallo.
Ich würde gerne die FPS begrenzen, sodass ich eine Animation aus mehreren bmp bauen kann ohne das es von der Rechnergeschwindigkeit abhängig ist wie schnell diese Animation läuft. Wie mache ich dies am besten? |
||
Midimaster |
Sa, Mai 06, 2017 8:35 Antworten mit Zitat |
|
---|---|---|
BlitzBasic: [AUSKLAPPEN] Global FPS%=CreateTimer(60) ; bedeutet 60 bilder pro Sekunde |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
XeresModerator |
Sa, Mai 06, 2017 9:58 Antworten mit Zitat |
|
---|---|---|
~VERSCHOBEN~ Wenn du mehrere Animationen unabhängig voneinander wieder geben willst, wirst du eigene Timer mit Millisecs bauen müssen. Siehe auch: BPS #5: Seifenblasenmaschine |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
obilaner |
Sa, Mai 06, 2017 11:07 Antworten mit Zitat |
|
---|---|---|
Super!
Vielen dank! Irgendwie ist die CPU Auslastung aber immer noch bei 25% .. Wieso ist das so? |
||
XeresModerator |
Sa, Mai 06, 2017 11:16 Antworten mit Zitat |
|
---|---|---|
Ohne Code kann man darüber keine Aussage treffen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
hecticSieger des IS Talentwettbewerb 2006 |
Sa, Mai 06, 2017 11:49 Antworten mit Zitat |
|
---|---|---|
obilaner hat Folgendes geschrieben: Super!
Vielen dank! Irgendwie ist die CPU Auslastung aber immer noch bei 25% .. Wieso ist das so? Du hast vermutlich einen 4-Kern-Prozessor und benutzt Flip 1, wodurch der eine Kern zu 100% ausgelastet ist. Nutze Flip 0, dann wird nicht auf VSync gewartet, was bei modernen Rechnern eben viel Prozessorauslastung bedeutet. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
Sa, Mai 06, 2017 12:00 Antworten mit Zitat |
|
---|---|---|
Alternativ reicht auch ein stumpfes "Delay 1" irgendwo im Mainloop um dem Prozessor Luft zum Atmen zu geben.
Wenn du Animationen hast (und auch für Bewegungen etc generell) solltest dringend du bedenken, dass du die Geschwindigkeit zwar z.B. mit Waittimer oder Flip 0 nach oben hin beschränken kannst, dass das aber nicht heißt, dass diese Geschwindigkeit auf jeder Hardware erreicht wird. Also auf keinen Fall irgendwie Frames zählen sondern immer mit echter Zeit (z.B. MilliSecs()) arbeiten oder einen Faktor abhängig von den tatsächlichen FPS / der tatsächlichen dauer einer Mainloop-Iteration errechnen. Wenn du das nicht tust läuft dein Spiel auf alter Hardware nicht nur ruckeliger sondern auch tatsächlich langsamer. Das sieht nicht nur doof aus sondern kann es auch unspielbar machen. |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
Midimaster |
Sa, Mai 06, 2017 13:43 Antworten mit Zitat |
|
---|---|---|
25% Prozessorauslastung ist doch schon ganz gut! Grafikbefehle brauchen nun mal auch Rechenzeit. 25% bedeutet ja auch, dass der Prozessor zu 75% im Leerlauf ist. Eigentlich kein Grund das Ganze weiter zu optimieren.
Du hast Pro FLIP 16msec Zeit. Davon verbrauchst Du momentan 4msec und 12msec gehört der Prozessor wieder den anderen Programmen. Wenn Du trotzdem optimieren möchtest, beginnt jetzt der Kampf um diese 4 Millisekunden. Wenn in deinem Spiel keine aufwändigen Animationen sind wäre ein anderer Weg, die FPS von den 60 auf 30 oder 15 Frames herunterzusetzen. Dann ändert sich die Performance auf 12% bzw. 6%. Ist aber nur bei "action"-armen Spielen sinnvoll. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
XeresModerator |
Sa, Mai 06, 2017 14:11 Antworten mit Zitat |
|
---|---|---|
25% Prozesserauslastung können auch bedeuten, dass er eine 4-Kern CPU hat, und BB 100% eines Kerns benutzt...
Die üblichen mini-spiele hier brauchen keine 25% eine ~2,5Ghz Rechners - sollten sie jedenfalls nicht. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group