VB6 - Performancefrage MSHFlexgrid

27/11/2007 - 13:14 von Peter Maler | Report spam
Hallo Newsgroup,


ich hab hier ein Programm in dem ein Modul zur Tourenplanung drin ist.
Bisher sieht das laden dieser Daten wie folgt aus:

Name laden, Position im Grid (x,y) laden
Daten in Grid schreiben
Leistungen die erbracht werden sollen
Daten in Grid schreiben
Fahrer laden
Daten in Grid schreiben

In einer Tour können bis zu 25 Anfahrten sein und in dem gesamten Tourenplan
sind in der Regel 10 Touren. Alle Touren werden in dem HFlexgrid
dargestellt.

Das ganze wird richtig langsam.

Meine Überlegung, ich erstelle mir in meiner Datenbank eine tempoàre Tabelle
die identisch wàre mit den Daten, die ich in das Grid schreibe würde, danach
lade ich mir einfach die Tabelle in das Grid.

Das müsste doch eigentlich schneller gehen, oder?


Gruß
Peter
 

Lesen sie die antworten

#1 Christian Zimmermann
27/11/2007 - 17:07 | Warnen spam
Hallo Peter,

Peter Maler schrieb:

ich hab hier ein Programm in dem ein Modul zur Tourenplanung drin ist.
Bisher sieht das laden dieser Daten wie folgt aus:

Name laden, Position im Grid (x,y) laden
Daten in Grid schreiben
Leistungen die erbracht werden sollen
Daten in Grid schreiben
Fahrer laden
Daten in Grid schreiben

In einer Tour können bis zu 25 Anfahrten sein und in dem gesamten Tourenplan
sind in der Regel 10 Touren. Alle Touren werden in dem HFlexgrid
dargestellt.

Das ganze wird richtig langsam.



Die Frage ist aber, was an welcher Stelle langsam ist. Empfindest du den
ganzen Vorgang als langsam, also vom Laden bis zur fertigen Anzeige?
Wieviele Zellen sind zu schreiben? Wie machst du das? Auch Grafiken
enthalten?

Meine Überlegung, ich erstelle mir in meiner Datenbank eine tempoàre Tabelle
die identisch wàre mit den Daten, die ich in das Grid schreibe würde, danach
lade ich mir einfach die Tabelle in das Grid.

Das müsste doch eigentlich schneller gehen, oder?



Wenn jede Zelle genau einmal geschrieben wird und dein Flaschenhals die
Aufbereitung der Grid-Anzeige ist, dann wird dieses Verfahren
logischerweise auch nicht schneller sein. Schneller geht es z. B., wenn
das Grid per .TextMatrix() gefüllt wird, anstelle von .AddItem. Ggf.
kann es auch helfen, das Grid wàhrend des Befüllens unsichtbar zu machen
bzw. API LockWindowUpdate() zu benutzen.

Gruß

Christian

Ähnliche fragen