seltsame Performance Probleme bei 2 Guis abhängig vom Aufruf

Status
Nicht offen für weitere Antworten.

padkey

Mitglied
Hey Leute,

bin gerade relativ am Verzweifeln und bräuchte eventuell den Rat von ein paar Pros :)

Ich habe 2 Guis programmiert, für eine Personenverwaltung. Jedoch tauchten aufeinmal starke Performance Probleme auf. Da diese kurz nach einer Designänderungen kamen, von Gridlayout auf Gridbaglayout, dachte ich dieser wäre schuld.

Leider wurde dies durch spätere Tests nicht bestätigt.
Die 2 Klassen heißen:
HauptGui.java (1, auf dem Bild rechts) und EinzelinfoGui.java (2, links)

Bevor ich viel erzähle.. .hier ein screeny: ...



Okay das Problem.
Funktionsweise des Programms:
Normal wird zuerst die HauptGui (1) gestartet, dann wenn man einen Adresssatz auswählt. die EInzelinfoGUi (2). zeigt dann den Adressatz an.
Der EinzelinfoGui wird eine Referenz auf die HauptGui mitgegeben.

Jedoch dauert das Öffnen der EinzelinfoGui ca. 5-8 Sekunden!

Merkwürdig:
1. Test
Starte ich die EinzelinfoGui(2), alleine bzw. ohne das davor die Hauptgui(1) gestartet wurde, so erscheint diese sofort.
2. Test
ich starte die EinzelinfoGui (2) und verändere den Konstruktur und gebe ihr keine Referenz auf die HauptGui(1) mit. Starte ich davor die HauptGUi, so ist die Ladezeit wieder bei 5-8Sek, starte ich die EinzelinfoGui zuerst, so erscheinen beide hintereinander sofort.
3.Test
Ich starte die HauptGui(1) alleine, diese erscheint auch sofort, auch wenn EinzelinfoGui davor gestartet wurde.
Bsp.:
public static void main(String[] args) {

Haupt_Gui g1 = new Haupt_Gui();
System.out.println("Gui gestartet");
new CopyOfEinzelinfo_Gui();
}

Hat jemand eine Idee, woran das liegen könnte??? Ich habe keine Ahnung. Für Ratschläge oder Anmerkungen bin ich sehr sehr dankbar.

Vielen Dank!!!
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
also was theoretisch auf alle verhalten passt wäre, dass deine HauptGUI beim Erstellen/Laden irgendwas aufwendiges macht, und daher bissel länger braucht.

Wenn du die als letztes erstellst .. merkst du das vielleicht nicht, da sie trotzdem sofort sichtbar wird. Nur wenn du etwas nach der GUI lädst merkst du diese Wartezeit.

Ob das nun das Problem definiert steht woanders, aber eventuell kannst du mal beschreiben was die HauptGui beim Erstellen so macht

edit:
Normal wird zuerst die HauptGui (1) gestartet, dann wenn man einen Adresssatz auswählt. die EInzelinfoGUi (2). zeigt dann den Adressatz an.
Der EinzelinfoGui wird eine Referenz auf die HauptGui mitgegeben.

Jedoch dauert das Öffnen der EinzelinfoGui ca. 5-8 Sekunden!
geht die einzelinfo nur auf wenn man was bearbeiten möchte, oder ist die schon zu sehen wenn man noch keinen datensatz ausgewählt hat!?
 

Wildcard

Top Contributor
Da 5 Sekunden genug Zeit sind um manuell einzugreifen, gehe den einfachen Weg.
Im Debug Modus starten, bis zur Stelle vorarbeiten an der die 5 Sekunden Wartezeit auftreten und anschließend den Thread pausieren. Dann schau dich im Stack um, wo du gerade stehst.
 

padkey

Mitglied
also was theoretisch auf alle verhalten passt wäre, dass deine HauptGUI beim Erstellen/Laden irgendwas aufwendiges macht, und daher bissel länger braucht.

Wenn du die als letztes erstellst .. merkst du das vielleicht nicht, da sie trotzdem sofort sichtbar wird. Nur wenn du etwas nach der GUI lädst merkst du diese Wartezeit.

Ob das nun das Problem definiert steht woanders, aber eventuell kannst du mal beschreiben was die HauptGui beim Erstellen so macht

edit:

geht die einzelinfo nur auf wenn man was bearbeiten möchte, oder ist die schon zu sehen wenn man noch keinen datensatz ausgewählt hat!?
vielen dank, für die schnelle hilfe...


Okay, die Hauptgui macht lediglich eine Abfrage auf die Datenbank und holt dort die Datensätze raus.
Das Ladeproblem bei der EInzelinfogui besteht ja auch noch, wenn die Hauptgui shcon lange zeit geladen ist, ich dann einen Datensatz makiere und auf "Einzelinfo anzeigen" oder "bearbeiten" klicke. Dann wird die EInzelinfogui geöffnet und zeigt den Inhalt der makierten Daten an.

Nach dem Buttonklick bleibt der Button hinterlegt, also wie zu dem Zeitpunkt wo ich draufklicke, wird also dunkelblau, bis sich die EInzelinfogui geöffnet hat.

Zum Debuggen:
hab damit bis jetzt noch nicht gearbeitet. FInde es aber eine gute idee:
während der Ladezeit erhalte ich dies:

Während dem Laden nachdem ich auf Pause geklickt habe:
Code:
Anzeige_Gui (3) [Java Application]	
	v23_03_09.Anzeige_Gui at localhost:3363 (Suspended)	
		Daemon System Thread [Finalizer] (Suspended)	
		Daemon System Thread [Reference Handler] (Suspended)	
		Daemon System Thread [Signal Dispatcher] (Suspended)	
		Daemon System Thread [Java2D Disposer] (Suspended)	
		Thread [AWT-Shutdown] (Suspended)	
		Daemon Thread [AWT-Windows] (Suspended)	
		Thread [AWT-EventQueue-0] (Suspended)	
		Thread [DestroyJavaVM] (Suspended)	
		Daemon System Thread [TimerQueue] (Suspended)	
	C:\Programme\Java\jre1.5.0_16\bin\javaw.exe (25.03.2009 21:44:11)

Während dem Laden:
Code:
Anzeige_Gui (3) [Java Application]	
	v23_03_09.Anzeige_Gui at localhost:3376	
		Thread [AWT-Shutdown] (Running)	
		Daemon Thread [AWT-Windows] (Running)	
		Thread [AWT-EventQueue-0] (Running)	
		Thread [DestroyJavaVM] (Running)	
		Daemon Thread [Image Fetcher 0] (Running)	
	C:\Programme\Java\jre1.5.0_16\bin\javaw.exe (25.03.2009 21:48:14)

Nur der Start der HauptGui:
Code:
Anzeige_Gui (3) [Java Application]	
	v23_03_09.Anzeige_Gui at localhost:3381	
		Thread [AWT-Shutdown] (Running)	
		Daemon Thread [AWT-Windows] (Running)	
		Thread [AWT-EventQueue-0] (Running)	
		Thread [DestroyJavaVM] (Running)	
	C:\Programme\Java\jre1.5.0_16\bin\javaw.exe (25.03.2009 21:50:33)
Eine Idee, woran es liegen könnte? Vllt der Image Fetcher???
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Lass gut sein, ich denke du hast deine Frage schon selbst beantwortet.
Nach dem Buttonklick bleibt der Button hinterlegt, also wie zu dem Zeitpunkt wo ich draufklicke, wird also dunkelblau, bis sich die EInzelinfogui geöffnet hat.
Okay, die Hauptgui macht lediglich eine Abfrage auf die Datenbank und holt dort die Datensätze raus.
Vermutlich machst du die Datenbankabfrage im UI Thread und blockierst ihn damit. Das Abfragen der Datenbank muss nebenläufig in einem eigenen Thread laufen, damit die GUI responsive bleibt.
 

padkey

Mitglied
hey vielen dank für den Debug-tipp. Hätte ich auch selbst mal probieren können. Trotzdem vielen Dank an euch beiden für den netten SUpport. habe mal jeden schritt durch "getippt"... und dann war die intialisierung des JFilechoosers schuld. Diese hat irgendwie solange gebraucht. DIe Sache funktioniert nun einwandfrei, habe den JFileChoser nun rausgenommen. Werde nun nochmal in RUhe schauen, wie ich diesen einbauen muss, um die Bilder einzulesen.

Die Idee, mit dem extra Thread für die Datenbank abfrage ist auch eine super Idee. Da dies eine Projektarbeit wird, wird mein Prof davon bestimmt begeistert sein :)

Vielen dank!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
KilledByCheese Swing Seltsame Ausgabe nach ButtonClick AWT, Swing, JavaFX & SWT 1
F Swing Seltsame Selektierung in JTable AWT, Swing, JavaFX & SWT 0
S Swing Swing macht sehr seltsame Zeichnungen. AWT, Swing, JavaFX & SWT 13
F Swing Seltsame Exception AWT, Swing, JavaFX & SWT 5
D Seltsame AWT-Exception AWT, Swing, JavaFX & SWT 2
E GridLayout seltsame Anordnungsstrategie AWT, Swing, JavaFX & SWT 6
Z Seltsame Darstellung verschachtelter GridBagLayouts AWT, Swing, JavaFX & SWT 2
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
missy72 JavaFX Performance / ImageView in TableView über TimeLine AWT, Swing, JavaFX & SWT 1
L JavaFX ListCell Performance AWT, Swing, JavaFX & SWT 10
E Swing Miserable Performance beim Ändern der Hintergrundfarbe von JLabels AWT, Swing, JavaFX & SWT 3
W Swing Performance bei Griderstellung verbessern AWT, Swing, JavaFX & SWT 15
C Pixel-Rendering/Animation Performance in BufferedImage AWT, Swing, JavaFX & SWT 1
I JavaFX Graphics Performance AWT, Swing, JavaFX & SWT 2
S Swing Performance bei Verschachtelung problematisch AWT, Swing, JavaFX & SWT 0
R Performance Drag and Drop & Timer AWT, Swing, JavaFX & SWT 3
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
T Swing Allgemeines Problem mit der Performance bei DragAndDrop AWT, Swing, JavaFX & SWT 2
T Prüfen ob 2 JLabel übereinander liegen. Performance Problem. AWT, Swing, JavaFX & SWT 5
S Swing Lauftext Performance Probleme, in größerer Anwendung AWT, Swing, JavaFX & SWT 6
B Performance-Probleme AWT, Swing, JavaFX & SWT 17
D DefaultTableCellRenderer - Performance AWT, Swing, JavaFX & SWT 3
hdi Swing [Umfrage] Swing Performance AWT, Swing, JavaFX & SWT 27
B 2D-Grafik BufferedImage Performance AWT, Swing, JavaFX & SWT 3
C Performance-Problem beim Überschreiben von paintComponent() AWT, Swing, JavaFX & SWT 2
Hausmeister JTable mit Bildern - Performance AWT, Swing, JavaFX & SWT 5
J JTree Performance AWT, Swing, JavaFX & SWT 2
Developer_X Swing Graphics2D translate zerstört performance AWT, Swing, JavaFX & SWT 2
hdi Swing JTable: Mein CellRenderer ist ein Performance-Killer? AWT, Swing, JavaFX & SWT 7
J Performance bei mouseMoved(...) AWT, Swing, JavaFX & SWT 4
L JFreeChart - Performance bei PNG-Erstellung AWT, Swing, JavaFX & SWT 5
G Performance beim Zeichnen erhöhen? AWT, Swing, JavaFX & SWT 21
hdi bitte um performance ratschläge AWT, Swing, JavaFX & SWT 31
G performance fragen zu AWT, Swing AWT, Swing, JavaFX & SWT 14
T (Java 6) Thumbnails in JFileChooser - Performance steigern? AWT, Swing, JavaFX & SWT 3
hdi schlechte performance bei simplem swing AWT, Swing, JavaFX & SWT 9
G Probleme mit Performance bei einer Tabelle AWT, Swing, JavaFX & SWT 16
M Performance SWT ??? AWT, Swing, JavaFX & SWT 8
D performance problem: paintcomponent, alphacomp, bufferedImag AWT, Swing, JavaFX & SWT 10
P SWT: StyledText Performance steigern? AWT, Swing, JavaFX & SWT 2
T Performance Problem bei BufferedImage AWT, Swing, JavaFX & SWT 3
P SWT Performance : "Text" - Ausgabe beschleunigen ? AWT, Swing, JavaFX & SWT 21
O performance g2d.drawImage() AWT, Swing, JavaFX & SWT 17
D Performance Probleme Jtable AWT, Swing, JavaFX & SWT 4
N Performance (BufferStrategy?) AWT, Swing, JavaFX & SWT 2
F Problem mit Transparenz, MouseEvents und Performance AWT, Swing, JavaFX & SWT 3
O LookAndFeel und Performance AWT, Swing, JavaFX & SWT 7
W Performance verbessern AWT, Swing, JavaFX & SWT 2
S TableCellRenderer, Performance AWT, Swing, JavaFX & SWT 9
S Performance-Problem: JTextArea als Logging-Window AWT, Swing, JavaFX & SWT 8
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben