Verarbeitungsgeschwindigkeit PB 4.0 langsamer als PB 3.94 ?

Fragen und Bugreports zur PureBasic 4.0-Beta.
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Verarbeitungsgeschwindigkeit PB 4.0 langsamer als PB 3.94 ?

Beitrag 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 
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag 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...
Benutzeravatar
fsw
Beiträge: 74
Registriert: 12.09.2004 03:31
Wohnort: North by Northwest

Beitrag 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:
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Ist sie nicht, denn die embedded SciTe, es könnte also auch an SciTe liegen.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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...
Bild
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag 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?
-.-"
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag 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
Gesperrt