Hallo
Kurz zum Programm:
Es ist mein erstes Programm und deshalb nicht am besten und Effektivsten weg programmiert worden aber es funktioniert und erfüllt seinen Zweck. Das Programm diehnt als Design Verwaltung. Es verwaltet ca 3000 Designs. Es kann jeweils nach Gruppe sortiert werden für die jeweilige Gruppe werden dann in einer scrollPane Container generiert. Dort wird jeweils die Design spezifische Nummer angezeigt ein kleines Vorschaubild mit ca 20-30 kb und noch einem Design Namen. Diese Designs können dan noch etwas genauer gefiltert werden und dan ausgedruckt werden oder via e-mail versendet werden.
Im Anhang noch ein paar Screenshots der Applikation damit man sich darunter ungefähr etwas vorstellen kann.
Das Programm wurde mithilfe von Xdev programmiert.
01.png So schaut das Programm aus nach 5sec.
02.png Die Suche und generierung wurde abgeschlossen aber die Bilder werden noch nicht angezeigt.
Problem #1:
Es werden in der scrollPane nur ca 200 Designs angezeigt, um weitere zu sehen muss umgeblättert werden. Sprich die scrollPane wird einmal geleert und dan wieder mit den Designs gefüllt. Das Problem ist das das Laden der Bilder zu lange dauert. Die Sql Abfrage und die generierung der Container in denen die Designs angezeigt werden dauert ca 500ms. Aber bis die Bilder geladen sind dauert es ca 5 sec. Die Bilder liegen auf einem externen Server und werden über das Netzwerk geladen, es besteht eine Standleitung und an der Internet Geschwindigkeit kann es nicht liegen.
Wie kann ich am schnellsten wege die Bilder in das Programm laden und anzeigen damit das in ca 1-2 sec vollständig geladen ist ?
Problem #2:
Das Programm braucht zu viel Systemleistung. Wenn ich den Button betätige der die SQL Abfrage, die generierung der Container und das Laden der Bilder startet steigt die Systemauslastung kurzzeitig auf 90-100%. Für einen normalen PC nicht unbedingt ein Problem aber das Programm läuft auf einem TerminalServer und dort ist es ein großes Problem wenn die System Auslastung steigt. Wie erwähnt ich habe erst gestartet mit dem Programmieren und kenne mich noch nicht gut aus weshalb ich auch alles in einem einzigen Thread ausführe, sprich im main Thread in dem auch das Fenster selbst generiert wird.
Wie kann ich es beseitigen das die Systemleistung bei einer Suche nur mehr wenig ansteigt sprich unter 10% ? Würde es helfen wenn ich das Laden der Bilder und die SQL Abfrage in einen eigenen Thread geben würde ? Oder wie kann ich dies am besten lösen ?
Für weitere Fragen bitte einfach Fragen.
Lg Daniel
Kurz zum Programm:
Es ist mein erstes Programm und deshalb nicht am besten und Effektivsten weg programmiert worden aber es funktioniert und erfüllt seinen Zweck. Das Programm diehnt als Design Verwaltung. Es verwaltet ca 3000 Designs. Es kann jeweils nach Gruppe sortiert werden für die jeweilige Gruppe werden dann in einer scrollPane Container generiert. Dort wird jeweils die Design spezifische Nummer angezeigt ein kleines Vorschaubild mit ca 20-30 kb und noch einem Design Namen. Diese Designs können dan noch etwas genauer gefiltert werden und dan ausgedruckt werden oder via e-mail versendet werden.
Im Anhang noch ein paar Screenshots der Applikation damit man sich darunter ungefähr etwas vorstellen kann.
Das Programm wurde mithilfe von Xdev programmiert.
01.png So schaut das Programm aus nach 5sec.
02.png Die Suche und generierung wurde abgeschlossen aber die Bilder werden noch nicht angezeigt.
Problem #1:
Es werden in der scrollPane nur ca 200 Designs angezeigt, um weitere zu sehen muss umgeblättert werden. Sprich die scrollPane wird einmal geleert und dan wieder mit den Designs gefüllt. Das Problem ist das das Laden der Bilder zu lange dauert. Die Sql Abfrage und die generierung der Container in denen die Designs angezeigt werden dauert ca 500ms. Aber bis die Bilder geladen sind dauert es ca 5 sec. Die Bilder liegen auf einem externen Server und werden über das Netzwerk geladen, es besteht eine Standleitung und an der Internet Geschwindigkeit kann es nicht liegen.
Wie kann ich am schnellsten wege die Bilder in das Programm laden und anzeigen damit das in ca 1-2 sec vollständig geladen ist ?
Problem #2:
Das Programm braucht zu viel Systemleistung. Wenn ich den Button betätige der die SQL Abfrage, die generierung der Container und das Laden der Bilder startet steigt die Systemauslastung kurzzeitig auf 90-100%. Für einen normalen PC nicht unbedingt ein Problem aber das Programm läuft auf einem TerminalServer und dort ist es ein großes Problem wenn die System Auslastung steigt. Wie erwähnt ich habe erst gestartet mit dem Programmieren und kenne mich noch nicht gut aus weshalb ich auch alles in einem einzigen Thread ausführe, sprich im main Thread in dem auch das Fenster selbst generiert wird.
Wie kann ich es beseitigen das die Systemleistung bei einer Suche nur mehr wenig ansteigt sprich unter 10% ? Würde es helfen wenn ich das Laden der Bilder und die SQL Abfrage in einen eigenen Thread geben würde ? Oder wie kann ich dies am besten lösen ?
Für weitere Fragen bitte einfach Fragen.
Lg Daniel