simple type auslese und anzeigen = niedrige fps?!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: simple type auslese und anzeigen = niedrige fps?!

BeitragSa, März 29, 2008 0:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,
Ich arbeite gerade an einem mp3 abspielprogramm.
Soweit sogut.
Im moment sitze ich gerade an der medienbibliothek, in der alle Titel inklusive Interpret, Album und Bewertung angezeigt werden sollen.

Das funktioniert auch, nur zieht die function leider dermaßen an der FPS(33!).

Was mache ich falsch?

Hier mal die function:

Code: [AUSKLAPPEN]
Function ShowLibrary()
   
   Rect 0,MouseY()/20*20,1024,15,0
   
   If KeyDown(200)Then Scr_y=Scr_y+20
   If KeyDown(208)Then Scr_y=Scr_y-20
   
   For s.song=Each song
      y=y+20
      s\y=y+9-Scr_y
      
      If s\y+170<800 And s\y+170 >170 Then
      
      Color 0,178,255
      Text 10,s\y+170,s\titel$
      
      Text 330,s\y+170,s\artist$
      
      Text 510,s\y+170,s\album$
      
      DrawImage bewertung,760,s\y+170,s\points
      Color 255,255,255
      
   EndIf
   
Next
   
End Function


könnt ihr mir n tipp geben??
Wäre nett

mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

NightPhoenix

BeitragSa, März 29, 2008 1:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Problem ist wohl dass du jeden Schleifendurchlauf alle Einträge des Types "durchblätterst"... JEDEN
Ich schlage vor du minierst das Ganze darauf dass das nur bei jeder Änderung der Bibliothek bzw. bei jedem Aufruf EINMAL aktualisiert wird. Sonst sinkt die FPS immer mehr umso mehr Einträge du in deinem Type drin hast Wink

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, März 29, 2008 3:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Haber den Code mal überarbeitet um ihn schneller zu machen aber wahrscheinlich wird das Problem bei dem befehl Text liegen, da es langsam ist
Wenn du mit BPlus arbeitest bin ich mir da sicher da es mit Antialias arbeitert.
Code: [AUSKLAPPEN]
Function ShowLibrary ()
    Rect 0 ,MouseY () / 20 * 20 ,1024,15,0
    If KeyDown (200) Then Scr_y = Scr_y + 20
    If KeyDown (208) Then Scr_y = Scr_y - 20
    For s.song = Each song
        y = y + 20
        s\y = y + 9 - Scr_y
        If s\y + 170 < 800 Then
            If s\y + 170 > 170 Then
                Color 0 ,178,255
                Text 10 ,s\y + 170 ,s\titel$
                Text 330 ,s\y + 170 ,s\artist$
                Text 510 ,s\y + 170 ,s\album$
                DrawImage bewertung,760,s\y + 170 ,s\points
            End If
        EndIf
    Next
    Color 255 ,255,255
End Function
[BB2D | BB3D | BB+]

mas93

BeitragSa, März 29, 2008 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, danke für eure Hilfe, jedoch ist dein code auchnicht besser Rallimen.
Wenn ich aber die Medienbiblio. Einträge aus dem Screen scrolle, steigt die Fps auf das Maximum...

Ich kann mir das nicht eerklären...
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]
 

ChristianK

BeitragSa, März 29, 2008 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen,
Der BlitzPlus-Text mit Antialiasing ist trotzdem deutlich schneller als der von Blitz3D ohne AA.

mas93,
du kannst ja mal SpeedText ausprobieren, um zu sehen, ob es überhaupt am Text liegt -> https://www.blitzforum.de/foru...hp?t=27501
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

NightPhoenix

BeitragSa, März 29, 2008 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
ich mir auf einmal schon... das hatte ich auch mal.
Sobald alle Text(befehle) aus dem Fenster verschoben werden steigen die FPS enorm.
Ich empfehle dir SpeedText zu benutzen Wink Schau mal in das Userlib Forum
Könnte aber auch an was anderem als deiner Funktion dort liegen
MfG.

mas93

BeitragSa, März 29, 2008 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, ja. Es liegt leider an dem Text befehl...
Langsam merk ich echt, dass BB3d für 2d sachen langsam aber sicher ausgedient hat...
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]
 

ChristianK

BeitragSa, März 29, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ausgedient würd ich jetzt nicht sagen, aber den Text-Befehl ( und Rect, Oval, Line ) sollte man besser nicht mehr benutzen, weil sie schlecht implementiert sind.
Einfach Draw3D nehmen! Wink
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

mas93

BeitragSa, März 29, 2008 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm, ok. Da ich draw3d nich zum ersten mal verwende bin ich nun doch wieder auf draw3d umgestiegen.
Nur sind mir da die fonts die dabeisind alle zu groß.

Und mit einfach nur scalen geht das ja nich^^
Habt ihr zufällig noch kleinere bitmapfonts oder ne seite wo man welche downloaden kann?
hab bei google nur normlae fonts gefunden, keine bitmapfonts...

mfg
mas93
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

skey-z

BeitragSa, März 29, 2008 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Draw3D hat den Befehle SetFont3D(size, ...), damit kannst du den Text sehr wohl einfach scalieren.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, März 30, 2008 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, die alte Draw3D Version 3.0 ist für Textsachen recht beschränkt, habe aber auch die neue Version noch nicht ins deutsche Forum gepostet. Du kannst in der neuen Verison 3.1 recht einfach selbst Texturefonts erstellen, es gibt u.a. das 0,0 -Pixel nicht mehr und es werden zeichenspezifische Breiten ausgelesen und automatisch verwaltet. Dazu einfach mal http://www.hectic.de/data/Draw3D.V.3.1.rar anschauen.

Arbeite grad noch an einer Verlet-Physik-Implementierung (funktioniert jetzt schon 1000mal besser als erwartet) für die Draw3D. Das wird dann wohl V.4.0 sein.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group