Performance (BufferStrategy?)

Status
Nicht offen für weitere Antworten.

Nova

Bekanntes Mitglied
Hallo,

Ich programmiere gerade ein 2D-Spiel, musste aber feststellen das die CPU-Auslastung schon jetzt sehr hoch ist (50% bei einem Athlon2500+). Dabei wird momentan nur ein Hintergrundbild, 2 Flugzeuge und die Geschosse der 2 Flugzeuge gezeichnet.
Alles besteht aus Bildern, sowohl das Flugzeug als auch die Geschosse.

Das Spiel wird von 2 Spielern gespielt, desshalb mit Splitscreen.
Das Spielfeld ist größer als ein Bildschirm, d.h. der Bildausschnitt scrollt mit.

Realisiert ist das momentan so das ich ein JSplitPane in mein Frame lege und dort dann 2 Panels reinstecke.
Das erste Panel zeigt den Bereich um das Flugzeug von Spieler 1, das zweite Panel den Bereich um das Flugzeug von Spieler 2.
Hier mal ein Bild:
Bild1


Später sollen da noch mehr Objekte hinzukommen, Flak-Feuer, mehr Flugzeuge etc., es soll auch noch eine KI rein die die Flaks und Flugzeuge ggf. steuert.
Ich möchte nun also die Performance verbessern und hab hier im Forum gelesen das man besser BufferStrategy nimmt statt dem standard DoubleBuffering das Swing macht.
Nur weiß ich leider nicht wie ich das realisieren soll, weil ich ja dann nur ein Graphics-Objekt vom ganzen Bildschirm habe und nicht mehr für jedes Panel ein Graphics-Objekt

Ich hab versucht die paintComponent Methoden direkt mit paintComponent(strategy.getDrawGraphics()) aufzurufen
=> zuerst malt die paintComponent von Panel1 den Bildschirm voll, dann die paintComponent von Panel2.
=> nur Panel2 ist sichtbar

Wie bekomme ich es nun hin das ich den Splitscreen behalte?


mfg
Christian
 

Nova

Bekanntes Mitglied
Hab jetzt eine Lösung gefunden (mal abgeshen davon das jetzt der Trennbalken fehlt):
Code:
Graphics g = strategy.getDrawGraphics();
paintPanel1.paintComponent(g.create(0,0,Dogfight.this.getWidth(),Dogfight.this.getHeight()/2));
paintPanel2.paintComponent(g.create(0,Dogfight.this.getHeight()/2,Dogfight.this.getWidth(),Dogfight.this.getHeight()/2));
strategy.show();

mit g.create bekomme ich einen Teil des "großen" Graphics-Objects.


Ist das so richtig? D.h. hab ich jetzt auch noch BufferStrategy oder bin ich wieder bei DoubleBuffering?
Die Auslastung liegt jetzt bei ca.30-45% (vorher ca.35-50%), also einen riesen Geschwindigkeits-Vorteil bringts nicht...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
P seltsame Performance Probleme bei 2 Guis abhängig vom Aufruf AWT, Swing, JavaFX & SWT 8
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
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
G Z Buffer / Depth Buffer in Bufferstrategy einfügen AWT, Swing, JavaFX & SWT 1
kodela BufferStrategy wird nicht gefunden AWT, Swing, JavaFX & SWT 5
Damtonix BufferStrategy flackert (Swing) AWT, Swing, JavaFX & SWT 9
windl Bufferstrategy in Swing nachstellen AWT, Swing, JavaFX & SWT 0
H 2D-Grafik BufferStrategy zieht spur hinter sich her AWT, Swing, JavaFX & SWT 3
M Problem mit bufferstrategy AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Zeichnen einer sich bewegenden Box mit BufferStrategy zieht Spur AWT, Swing, JavaFX & SWT 2
S Exception bei BufferStrategy AWT, Swing, JavaFX & SWT 8
R Verständnisfrage BufferStrategy: g.dispose() AWT, Swing, JavaFX & SWT 3
G Canvas, JMenu, und BufferStrategy AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben