ExplorerListGadget einlesen teilweise langsam ?
- silbersurfer
- Beiträge: 174
- Registriert: 06.07.2014 12:21
Re: ExplorerListGadget einlesen teilweise langsam ?
Super RSBasic,
das funzt, hatte da in der tat den Paht außer acht gelassen......
jetzt gleicht es dem ExplorerListGadget, nur das es wesendlich schneller ist danke.......
Gruß Silbersurfer
das funzt, hatte da in der tat den Paht außer acht gelassen......
jetzt gleicht es dem ExplorerListGadget, nur das es wesendlich schneller ist danke.......
Gruß Silbersurfer
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: ExplorerListGadget einlesen teilweise langsam ?
Du bist mit Abstand der größte Dummschwätzer den ich seit langem gesehen habe ...edel hat geschrieben:Ich habe keinen Vergleich. Unter macos oder Linux mag es schneller gehen oder eben auch nicht. Ich weiss es nicht. Das standardmäßige Befüllen eines Listviews unter Windows ist aber nun mal sehr langsam.
Warum das Befüllen des Gadgets länger dauert kann viele Gründe habe:
- Netzwerk-Laufwerk
- externes Laufwerk im Ruhezustand
- sehr hohe Anzahl an Dateien (1000+)
Der Trick mit #WM_SETREDRAW funktioniert ausschließlich wenn das Gadget mit extrem vielen Objekten befüllt wird. Was aber der Grund für die Verlangsamung ist weiß nur silbersurfer, alles andere ist Spekulation.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Re: ExplorerListGadget einlesen teilweise langsam ?
Hallo Fluid Byte ,
wir haben uns alle lieb und wir sind eine tolle Community. Also versuche bitte etwas freundlicher zu sein.
Danke Fluid Byte, ich wünsche dir einen schönen Tag.
wir haben uns alle lieb und wir sind eine tolle Community. Also versuche bitte etwas freundlicher zu sein.
Danke Fluid Byte, ich wünsche dir einen schönen Tag.
- silbersurfer
- Beiträge: 174
- Registriert: 06.07.2014 12:21
Re: ExplorerListGadget einlesen teilweise langsam ?
@Fluid Byte
dieses passiert z.b auch auf meiner internen HDD bei einigen Verzeichnissen, im gegenzug das selbst erstellte ListIconGadget mit ProgrammIcon / DatenTypen Extraction
jeder einzelnen Datei, ist bei weiten wesendlich schneller, und hat auch nicht den beschrieben Nebeneffekt wenn Daten kopiert werden.
Alles in allem Fluid Byte, kann ich leider nicht genau sagen was der Grund dafür ist.
Gruß Silbersurfer
natürlich habe externe laufwerke die erst wieder aufwachen müßen, aber trotz alledem erklärt sich mir nicht das langsame verhalten von ExplorerList...Was aber der Grund für die Verlangsamung ist weiß nur silbersurfer, alles andere ist Spekulation.
dieses passiert z.b auch auf meiner internen HDD bei einigen Verzeichnissen, im gegenzug das selbst erstellte ListIconGadget mit ProgrammIcon / DatenTypen Extraction
jeder einzelnen Datei, ist bei weiten wesendlich schneller, und hat auch nicht den beschrieben Nebeneffekt wenn Daten kopiert werden.
Alles in allem Fluid Byte, kann ich leider nicht genau sagen was der Grund dafür ist.
Gruß Silbersurfer
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: ExplorerListGadget einlesen teilweise langsam ?
Wenn es in den von mir beschrieben Szenarien nicht langsamer wird dann hat es nichts mit Windows zu tun sondern liegt an einem schlecht optimierten Gadget in PureBasic. Genau das ist der Grund warum ich edel einen Dummschwätzer genannt habe. Gut, dann ist ja alles geklärt.
Hallo.¯\_(ツ)_/¯ hat geschrieben:Hallo Fluid Byte ,
Nein.¯\_(ツ)_/¯ hat geschrieben:wir haben uns alle lieb ...
Meistens, ja.¯\_(ツ)_/¯ hat geschrieben:... und wir sind eine tolle Community
Warum sollte ich das tun wenn Leute Scheiße erzählen? Kleiner Tipp noch, versuche nicht Mitlgieder zu belehren die seit 12 Jahren hier sind. Danke.¯\_(ツ)_/¯ hat geschrieben:Also versuche bitte etwas freundlicher zu sein.
Ebenfalls.¯\_(ツ)_/¯ hat geschrieben:Danke Fluid Byte, ich wünsche dir einen schönen Tag.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Re: ExplorerListGadget einlesen teilweise langsam ?
Da muss ich leider Edel recht geben. Es liegt and MS-Listview (ListIconGadget). Dieses führt bei jeden hinzufügen eines Eintrages ein Redraw durch.Fluid Byte hat geschrieben:Wenn es in den von mir beschrieben Szenarien nicht langsamer wird dann hat es nichts mit Windows zu tun sondern liegt an einem schlecht optimierten Gadget in PureBasic. Genau das ist der Grund warum ich edel einen Dummschwätzer genannt habe. Gut, dann ist ja alles geklärt.
Das kann oder muss man auch unter anderen Sprachen selber Unterdrücken.
Unter Mac ist das füllen etwa drei mal so schnell als bei Windows.
Die einfachste Methode ist es beim füllen des Gadgets diesen zu verstecken. Dann geht das füllen etwa 4 mal so schnell.
Code: Alles auswählen
If OpenWindow(0, 100, 100, 600, 400, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 0, 0, 600, 360, "ID", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
ButtonGadget(1, 5,365, 120, 25, "Start")
AddGadgetColumn(0, 1, "Name", 250)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 1 And Not Start
start = 1
starttime = ElapsedMilliseconds()
HideGadget(0, 1)
For i = 1 To 40000
AddGadgetItem(0, -1, "" + i + #LF$ + "Eintrag")
Next
HideGadget(0, 0)
MessageRequester("Zeit", "Fertig in " + Str(ElapsedMilliseconds() - starttime) + " ms")
start = 0
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: ExplorerListGadget einlesen teilweise langsam ?
Dann habt ihr zu zweit keine Ahnung, kann ich mit leben. Dein Beispiel ist realitätsfremd und hat weder etwas mit silbersurfers Problem zu tun noch mit der Behauptung von edel es liege an Windows. Ironischerweise hast du mit deinem Code bestätigt was ich bereits mehrfach geschrieben habe. Es liegt nicht an Windows sondern an PureBasic bzw. am Programmierer. Windows selbst hat damit keine Probleme.mk-soft hat geschrieben:Da muss ich leider Edel recht geben.
Wenn jemand also keine Erfahrung mit API-Programmierung unter Windows hat, geschweige denn vom Betriebssystem selbst sollte man sich davor hüten solche unqualifizierten Aussagen zu machen und es pauschal auf das OS zu schieben.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Re: ExplorerListGadget einlesen teilweise langsam ?
Hallo Querschläger,
Das es sich nicht nur an den Gadget liegt habe ich bereits geschrieben. Das man diese noch weiter optimieren kann ist auch bekannt. Das es sich nur um ein Beispiel handelt sieht man auch.
oder womit seit über 20 Jahren mein Geld verdiente.
Werde versuchen meine unqualifizierten Aussagen nicht mehr kund zu geben.
Das es sich nicht nur an den Gadget liegt habe ich bereits geschrieben. Das man diese noch weiter optimieren kann ist auch bekannt. Das es sich nur um ein Beispiel handelt sieht man auch.
Na gut das ich unqualifiziert bin um irgendwelche Aussagen zu tätigen. Keine Ahnung was ich in den letzten 35 Jahren gemacht habe,Wenn jemand also keine Erfahrung mit API-Programmierung unter Windows hat, geschweige denn vom Betriebssystem selbst sollte man sich davor hüten solche unqualifizierten Aussagen zu machen und es pauschal auf das OS zu schieben
oder womit seit über 20 Jahren mein Geld verdiente.
Werde versuchen meine unqualifizierten Aussagen nicht mehr kund zu geben.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: ExplorerListGadget einlesen teilweise langsam ?
Hallo Leute
was soll da gemecker übereinander. Wir sollten alle an einem Strang ziehen, damit PB besser gemacht wird. Es fehlt so vieles.
Und wir alle wissen, das das ListIcongadget in PB nicht optimal ist, weil unsere verehrten PureBasic Erfinder die Befehle nicht zu Ende gedacht haben. Einerseits weil PB für 3 Betriebssysteme gedacht ist, andererseits mangelt es wohl an Zeit.
Also müssen wir es selbst regeln. Die einfachste Möglichkeit ist nun mal Redraw aus zuschalten. Wem es dann immer noch zu langsam ist muss LVN_GETDISPINFO benutzen. Aber Letzteres ist nun mal aufwendiger und bei den heutigen Rechnern häufig nicht nötig. Ich benutze es erst ab 10-20000 Einträgen.
Im übrigen HideGadget gibt es halt wegen den 3 Systemen, und mich persönlich stört das sichtbare kurze Flackern beim verschwinden und wieder sichtbar werden.
Zu gutem Schluß, das ExplorerListgadget ist ...... naja es funktioniert. Nur leider ist bekanntlich ein eigenes bauen etwas aufwendig.
Und nun mit Freude ans nächste Problem.
Bei mir ist es die Map Bibliothek. Habe, man glaubt es kaum, noch nie damit gearbeitet. Aber es wird. Der Glaube hilft.
Edit: der Glaube hat nicht geholfen
was soll da gemecker übereinander. Wir sollten alle an einem Strang ziehen, damit PB besser gemacht wird. Es fehlt so vieles.
Und wir alle wissen, das das ListIcongadget in PB nicht optimal ist, weil unsere verehrten PureBasic Erfinder die Befehle nicht zu Ende gedacht haben. Einerseits weil PB für 3 Betriebssysteme gedacht ist, andererseits mangelt es wohl an Zeit.
Also müssen wir es selbst regeln. Die einfachste Möglichkeit ist nun mal Redraw aus zuschalten. Wem es dann immer noch zu langsam ist muss LVN_GETDISPINFO benutzen. Aber Letzteres ist nun mal aufwendiger und bei den heutigen Rechnern häufig nicht nötig. Ich benutze es erst ab 10-20000 Einträgen.
Im übrigen HideGadget gibt es halt wegen den 3 Systemen, und mich persönlich stört das sichtbare kurze Flackern beim verschwinden und wieder sichtbar werden.
Zu gutem Schluß, das ExplorerListgadget ist ...... naja es funktioniert. Nur leider ist bekanntlich ein eigenes bauen etwas aufwendig.
Und nun mit Freude ans nächste Problem.
Bei mir ist es die Map Bibliothek. Habe, man glaubt es kaum, noch nie damit gearbeitet. Aber es wird. Der Glaube hilft.
Edit: der Glaube hat nicht geholfen
Zuletzt geändert von hjbremer am 14.03.2018 16:49, insgesamt 1-mal geändert.
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: ExplorerListGadget einlesen teilweise langsam ?
Ich meinte damit edel, nicht explizit dich. Allerdings bin ich schockiert das du auf den "Windows-Bashing"-Zug aufgesprungen bist.mk-soft hat geschrieben:Na gut das ich unqualifiziert bin um irgendwelche Aussagen zu tätigen. Keine Ahnung was ich in den letzten 35 Jahren gemacht habe,
oder womit seit über 20 Jahren mein Geld verdiente.
Es ist absurd darüber weiter zu diskutieren denn die Aussage "es liegt an Windows" ist nun mehrfach widerlegt worden und sein Problem ist gelöst.
Windows 10 Pro, 64-Bit / Outtakes | Derek