Blitz+ 100 % Auslastung
Übersicht

ghostproductionsBetreff: Blitz+ 100 % Auslastung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
gibt es eine Möglichkeit, ein Blitz+ Programm so zu schreiben, dass es NICHT immer eine 100 %ige Systemauslastung verursacht? MfG |
||
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Solche Fragen gab es schon zu hauf und sollte mit der Suchfunktion beantwortet werden. Einfach mal suchen.
MfG Ironstorm |
||
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Waitevent(100) püft alle 100 Millisekunden ob überhaupt ein Event vorliegt (nur bei GUI Anwendung) | ||
[BB2D | BB3D | BB+]
|
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Das geht. Zeig mal einen Code mit 100% Auslastung und ich sage dir, was du falsch machst. Ohne Code kann dir keiner Helfen. Logisch oder? MFG |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hurra 100% CPU auslastung!
2 sekunden suche, ist jedoch nur für Games/Grafisches, für Anwendungen benütztz du am besten Waitevent ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der eintrag kommt schon wenn man nur 100 bei der suche eintippt... xD | ||
ghostproductions |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Abrexxes schrieb am Mi, Sep 19, 2007 16:31:
Code: [AUSKLAPPEN] timer = createtimer (60)
Graphics 640,480,0,2 SetBuffer BackBuffer() While Not KeyHit (1) ; ESC ; ; Ihrgend was Frame unabhängiges ; Waittimer timer Flip 0 Soweit ich weiss, existiert WaitTimer() nicht in Blitz+. Zitat: Starwar
schrieb am Sa, Apr 25, 2009 17:53: Hi, Das geht. Zeig mal einen Code mit 100% Auslastung und ich sage dir, was du falsch machst. Ohne Code kann dir keiner Helfen. Logisch oder? MFG Hier ein Codestück. Wenn bei WaitEvent() ein $0 in der Klammer steht, läuft alles flüssig, kostet aber eben 100% Ressourcen. Wenn ich z.B. 60 reinschreibe, läuft das Programm abgehackt und die Timer laufen nicht mehr richtig. Dafür kostet es nur noch 1-2% Ressourcen. Code: [AUSKLAPPEN] window = CreateWindow("Fenster",0,0,300,300,0,1)
Dim modus(1) modus(1)=1 Repeat While modus(1) = 1 Select WaitEvent() ; bei $0 flüssiges Arbeiten/100% Auslastung, bei 60 kein flüssiges Arbeiten/1-2% Auslastung Case $803: End End Select Select check_keys() Case 122: End End Select time = MilliSecs() Select time - timer Case 5000: ; tu was Case 6000: ; tu was Case 7000: ; tu was End Select SetGadgetText label,Int((time-timer))+" sec." Wend Forever End Zitat: Rallimen
schrieb am Sa, Apr 25, 2009 14:52: Waitevent(100) püft alle 100 Millisekunden ob überhaupt ein Event vorliegt (nur bei GUI Anwendung) Ja, ist mir bekannt, s.o. Zitat: Silver_Knee
schrieb am So, Apr 26, 2009 2:23: Der eintrag kommt schon wenn man nur 100 bei der suche eintippt... xD Dann mach es. Dieser Beitrag hilft aber leider keinem weiter, s.o. |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vieleicht solltest du updaten, denn ab BPlus V1.34 ist Waittimer wieder dabei! | ||
[BB2D | BB3D | BB+]
|
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Anstatt waittimer nimmt man bei b+ Waitevent. Das hilft auch gegen 100% weil es auf ein event des PCs wartet und solang du deinen pc nicht zu schnell zupumpst bleibt die Auslastung dabei gering | ||
ghostproductions |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dass es auf Events wartet, ist mir klar. Es soll aber ununterbrochen etwas passieren, nämlich ein Timer laufen. Wenn ich WaitEvent(60) benutze, werden exakte Timerzeiten aber übersprungen.
Ich möchte ununterbrochen etwas ausführen/abfragen, aber ohne 100%. Deshalb nochmal zu meiner Ausgangsfrage, gibt es in Blitz+ die Möglichkeit, ein Programm so zu schreiben? Oder muss ich c benutzen? |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, wurde schon gesagt:
Aktuelle b+-version nutzen und dann waitTimer() nutzen Welche Version von Blitzplus verwendest du denn? aber ein waitEvent(1) sollte afaik aber auch schon die auslastung drosseln. grüße, Smily |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
So mach ich es immer:
Code: [AUSKLAPPEN] timer = CreateTimer(60) Repeat ev=WaitEvent() ;Wartet auf ein Event <> $0 es=EventSource() ed=EventData() If ev=$803 Then Exit ElseIf ev=$4001 And es=timer Then ;TimerTick EndIf Forever 1-2% auf nem 2,3Ghz auf einen Kern reduziert. MFG |
||
ghostproductions |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Smily hat Folgendes geschrieben: aber ein waitEvent(1) sollte afaik aber auch schon die auslastung drosseln. Sollte klappen, klappt auch ![]() Nur ein Blick in meinen Beispielcode zeigt, dass Events zu exakten Timerzeiten ausgeführt werden sollen. Das werden sie leider NUR mit WaitEvent($0). |
||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du meinen Psot überlesen?
Event $4001 ist der Timertick! WaitEvent wartet auf ein Event => Bei einem TimerTick wird Event $4001 ausgegeben => Deine genaue Timerzeit... MFG |
||
ghostproductions |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Starwar hat Folgendes geschrieben: Hast du meinen Psot überlesen?
Event $4001 ist der Timertick! WaitEvent wartet auf ein Event => Bei einem TimerTick wird Event $4001 ausgegeben => Deine genaue Timerzeit... MFG Du hast deinen Post erstellt während ich noch am erstellen war. Also garnichts mit MilliSecs() ? Es soll auch im deaktivierten/minimiertem Zustand zählen und das zuverlässig. Wenn ich das Fenster verschiebe, hält deine Methode an... |
||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei deine Methode auch. Beim verschieben von Fesntern wird das Programm immer angehalten... Aber du kannst nach einem Tick den Abstand zu letzten ja weiterhin mit MilliSecs![]() ![]() Code: [AUSKLAPPEN] timer = CreateTimer(60)
Repeat ev=WaitEvent() ;Wartet auf ein Event <> $0 es=EventSource() ed=EventData() If ev=$803 Then Exit ElseIf ev=$4001 And es=timer Then Print "Zeit seit dem letzten Aufruf dieser Bedingung: "+(millisecs()-zeit)) zeit = millisecs() EndIf Forever |
||
ghostproductions |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wo habe ich hier den Counter, der mitläuft? | ||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
TimerTicks![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group