Seite 1 von 5

Verarbeitungsgeschwindigkeit PB 4.0 langsamer als PB 3.94 ?

Verfasst: 14.07.2006 21:05
von Graffiti
Hallo

kann es sein das die Verarbeitungsgeschwindigkeit bei PB 4 um einiges langsamer ist als bei PB 3.94

Beispiel:

ich habe ein Programm das per Musiksteuerung z.B. alle 50 ms ein Signal an die serielle Schnittstelle sendet und danach aus einem Listicongadget den obersten Eintrag löscht.

bei PB3.94 läuft das reibungslos, bei PB 4.0 hinkt der Programmablauf erheblich

der Code bei beiden ist identisch

Code: Alles auswählen

If xy = multilistesort(mod)\ms_zuendzeit And xy > 0 And playmodus = 1 And sync = 1
  ; xy ist die aktuelle Zeit der Musikdatei
    
  CallFunctionFast(*ausgabe,multilistesort(mod)\modul_x,multilistesort(mod)\modul_y)
  CallFunctionFast(*ausgabe,multilistesort(mod)\modul_x,multilistesort(mod)\modul_y)
  StartTimer(0, flashtime, @kanalaus())
     
    
     If Val(GetGadgetItemText(#ListGadget, a, 0)) <= mod 
        RemoveGadgetItem(#ListGadget, 0):  
        InvalidateRect_(GadgetID(#ListGadget),0,1) 
        UpdateWindow_(GadgetID(#ListGadget)) 
     EndIf
      
         SetGadgetText(#String_01, multilistesort(mod)\zuendtextlang$)
            mod + 1
            SetGadgetText(#String_02, multilistesort(mod)\zuendtextlang$)
            
            If GetGadgetText(#String_02) = "" : SetGadgetText(#String_02, "   " +txt(88)\lan$) : EndIf

          EndIf 

Verfasst: 19.07.2006 11:11
von Lebostein
Jupp, ist mir auch schon aufgefallen. Die EXEn sind durch die Bank um etwa 5% größer geworden und die Geschwindigkeit ist gesunken. Kann ich nur bestätigen. Langsam sollte man sich um das PB-Aushängeschild "kleine und schnelle Programme" Gedanken machen...

Verfasst: 20.07.2006 18:28
von fsw
Die PureBasic IDE ist der beste beispiel fuer die langsamkeit.

Probier einfach am haupt fenster kontinuierlich die groesse zu veraendern (diagonal, hoehe und breite gleichzeitig) ohne den mouse button loszulassen.
Das siehste fuer 1 oder 2 sekunden (oder laenger) mehrere scrollbars nebeneinander (an einem 3GHz Pentium!!!).

Der splitter in der PureBasic IDE ist auch nicht der splittergadget der mit PureBasic mitgeliefert wird, kein real time resize.
Wenn ihr ein bissl mit dem SplitterGadget rumspielt wisst ihr auch warum.

Grauenhaft langsam.

Suppose you can't have it all :cry:

Verfasst: 20.07.2006 23:08
von Zaphod
Ist sie nicht, denn die embedded SciTe, es könnte also auch an SciTe liegen.

Verfasst: 20.07.2006 23:34
von MVXA
Vielleicht ist die PBIDE auch einfach nur bescheiden programmiert
:roll: ? Ich habe z.b. bis jetzt noch nicht wirklich was an einbußen
spüren können, liegt aber evt. auch daran, dass ich so ziemlich
nur Anwendungen schreibe, die im Hintergrund arbeiten.

Verfasst: 20.07.2006 23:42
von AND51
Den in der Werbung angepriesenen "sehr schnellen Compiler" kann ich bei mir nicht erkennen.
Klar, ich habe"nur" einen Pentiuem III mit 550 Sachen und das Kompilieren geht schnell, aber ab und zu dauert das Kompilieren eine Ewigkeit oder er kompiliert sich nen Wolf, sodass ich die IDE inkl. Kompiler forciert beenden und neu starten muss, bis es wieder funzt.
Dazu kommt noch, dass EXE's mit aktiviertem Debugger um bis zu 600% langsamer sein können, lt. Hilfe.

Verfasst: 20.07.2006 23:46
von MVXA
> ab und zu dauert das Kompilieren eine Ewigkeit
liegt an der wunderbar programmierten IDE. *hust*

> EXE's mit aktiviertem Debugger um bis zu 600%
Wirst du fertige Programme mit Debugger ausliefern :roll: ? Manchmal, da
frag ich mich...

Verfasst: 20.07.2006 23:46
von Green Snake
>>Dazu kommt noch, dass EXE's mit aktiviertem Debugger um bis zu 600% langsamer sein können, lt. Hilfe.

Ist das bei anderen Programmiersprachen anders?

Verfasst: 20.07.2006 23:59
von AND51
MVXA hat geschrieben: > EXE's mit aktiviertem Debugger um bis zu 600%
Wirst du fertige Programme mit Debugger ausliefern :roll: ? Manchmal, da
frag ich mich...
hab ich das gesagt? :-P

Verfasst: 21.07.2006 01:09
von Graffiti
Jetzt muß ich auch noch etwas zur Verteidigung des PureBasic Teams schreiben

Erschwerlicherweise kommt bei meinem Programm dazu das exakt im 50 Millisekundentakt mehrere Befehle ausgeführt werden müssen (siehe oberer Code)
der bei PB3.94 allerdings ohne große Probleme geklappt hat. Für die serielle Ansteuerung bin ich auf MVCom umgestiegen statt die olle DLL weiter zu verwenden, das hat auch schon etwas gebracht.

dann ist im Moment PB 4 immer noch in der Entwicklung und ich bin mir fast sicher das in den nächsten Updates dieses Problem gelöst sein sollte, das war bei der 3er Version eigentlich auch immer so

Weiß jemand ob schon eine Geschwindigkeitsoptimierung in Planung ist und wann eventuell mit einem allgemeinen Update zu rechnen ist ?

Fazit:
dennoch ist PureBasic eines der besten und innovativsten Programmiersprachen die ich kenne und auf alle Wünsche der Anwender einzugehen kostet eben mal viel viel Programmierzeit, Kaffee und Zigaretten
(ich sehe es selbst an meiner Feuerwerkssoftware)

dann habe ich noch nen frechen Wunsch ans PB Team: :D

so eine Art Multiliste, die eigentlich alles können sollte:
variable Farben,
Felder in die auch Eingaben gemacht werden können,
Trennlinien in variabler Breite
Spalten für Buttons oder Häckchen usw.
also ne Kombination aus Listicon, Listview und Purecolor :D
oder gibts das schon und ich habe noch geschlafen

gruß und weiter so :allright:
Graffiti