Graphische Anzeige der verbleibenden Zeit (ablaufende Uhr)
Übersicht

![]() |
Terror-StateBetreff: Graphische Anzeige der verbleibenden Zeit (ablaufende Uhr) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lässt sich irgendwie scheisse formulieren... Naja wie dem auch sein.
Ich brauch eine Uhr die anzeigt wieviel Zeit noch übrig sind... hier einfach ma der code BlitzBasic: [AUSKLAPPEN]
Dada! Mein Prob is wie immer: viel zu langsam... Habt ihr ne Idee wie das besser geht! |
||
Ob friedlich oder militant, wichtig ist der Widerstand |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
endweder als Loadanimimage laden
oder Vorberechnen und mit Writepixel einzeichnen! Vielleicht code ich morgen mal was ! |
||
[BB2D | BB3D | BB+]
|
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
was auch auf jeden Fall extrem ausbremst ist der Oval-Befehl. Guck Dir mal folgenden Code an: Code: [AUSKLAPPEN] Graphics 800,600,16,1
SetBuffer BackBuffer() countdown=120 ;gesamtzeit countdown in sekunden segmentsize=(360/countdown)+1 ;winkelzuwachs pro sekunde Uhr = CreateImage (100,100) start_time=millisecs() intervall_time=start_time Repeat Cls total_time=(millisecs()-start_time)/1000 If millisecs()-intervall_time >1000 intervall_time=millisecs() segments=segments+1 SetBuffer ImageBuffer (Uhr) For I = 1 To (segments*segmentsize) W = I - 90 Line 50,50,50+Cos(w)*50,50+Sin(w)*50 Next EndIf SetBuffer BackBuffer() Color 255,255,255 DrawBlock Uhr,20,20 Oval 20,20,100,100,0 ;diesen befehl einkommentieren !!! Text 0,0, total_time Gosub fps Flip 0 Until KeyHit(1) ;misst aktuelle FPS .fps frames=frames+1 If millisecs() > fpstimer + 1001 current_fps=frames frames=0 fpstimer = MilliSecs() EndIf Text 100,200,"FPS : " + current_fps Return Und dann kommentier mal den Oval-Befehl aus und versuch's wieder... L8er, PSY |
||
![]() |
Terror-State |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhh mit Oval 800 Frames und ohne 4000... na gut es ist wesentlich schneller zugegeben!
ABER: Du hast ja eh meinen frametimer rausgenommen ![]() |
||
Ob friedlich oder militant, wichtig ist der Widerstand |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Line ist auch langsam. Plot auch, Text auch.
Gerade bei consolenservern nervt das wenn sie nicht einmal doppelt so schnell laufen wie das Hauptprogramm :-! writepixelfast is ne schöne sache. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
Zitat: ABER: Du hast ja eh meinen frametimer rausgenommen von daher zählt das nich!
Der Wert von mir liefert die Anzahl der Schleifendurchläufe pro Sekunde. Zählt also ![]() Wie Doom schon sagt, sind die ganzen rudimentären Ausgabebefehle lahm ohne Ende. Vorgezeichnete Grafiken sind immer noch am schnellsten... Writepixelfast & Co sind schon ne feine Sache, aber bei komplexeren Sachen halt nicht die Universallösung 8) L8er, PSY |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, habs mal neu mit Writepixel geschrieben
Zwar nicht ganz so schnell wie mit dem Line Befehl, dafür aber sauberer inklusive einigen vorberechnungen.. aber kann noch locker gesteigert werden! BlitzBasic: [AUSKLAPPEN] Graphics 800 ,600,16,1 |
||
[BB2D | BB3D | BB+]
|
![]() |
Terror-State |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhh sieht schonmal ganz interessant aus! Danke für die Mühe! Dummerweise wie du schon sagtest viel zu langsam... 100% Speicherauslasung ^^ mein Lieber schollie ^^
ich werd den code also nochmal umschreiben müssen... Mit einem Frametimer gehtz eigentlich, allerdings stimmt dann die zeit nicht mehr... wert wohl nich drum rum kommen, es über WritepixelFast zu machen. Obwohl ich irgendwo gelesen habe, das Line auf WritePixelFast basiert! |
||
Ob friedlich oder militant, wichtig ist der Widerstand |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Langsam ist relativ, denn diese Function benötigt bei mir
ca 0,2 Millisekunden die ja dazu gerechnet werden, zu deiner Spielschleife! |
||
[BB2D | BB3D | BB+]
|
![]() |
Terror-State |
![]() Antworten mit Zitat ![]() |
---|---|---|
so habs erstma umgeschrieben... es sind 2 gr0ße performence gewinne im vergleich zu deinem proggi:
1. ich hab mir gedacht ich pack einfach ne transparente uhrengrafik drüber => es endfällt die langsame if-berechnung am anfang, bei der eh 7200 von 10000 durchkommen 2. die schleifen für den kreis sind dynamisch... also für jeden der vier quadranten => endfallen pro frame 50X50 = 2500 unnötige schleifen durchläufe BlitzBasic: [AUSKLAPPEN]
viel spass mit dem code, mit dem man jetz echt zufrieden sein kann, denn viel schneller gehtz kaum ^^ Edit: Apropo schnell >_< wenn "Rekord" unter 3000 ms ist dann funzt die darstellung nicht -.- |
||
Ob friedlich oder militant, wichtig ist der Widerstand |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schneller kein Problem...
Bei dem Programmen ist es ja so das teilweise rote Pix nochmal übermalt werden(doppelt halt)! Ich hab mir überlegt das ich in der Vorberechnung die speichere die zusätzlich gemalt werden müssen! Das umgesetzt sieht dann etwa so aus! Bei der ersten Version kam ich auf 0,2 Millisecs Bei dieser auf 0,05 Millisecs also ca. 4x schneller... BlitzBasic: [AUSKLAPPEN] Radius = 50 ; Kann geändert werden |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group